<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-1510447155903423878.post9086551756311204453..comments</id><updated>2012-02-08T10:32:33.929-05:00</updated><category term='mobile'/><category term='logging'/><category term='philly ete'/><category term='swing'/><category term='junit'/><category term='actor'/><category term='maven'/><category term='mobile phones'/><category term='events'/><category term='spring integration'/><category term='open source'/><category term='mobile application development'/><category term='manik surtani'/><category term='application development'/><category term='software development'/><category term='grails'/><category term='beanconfig'/><category term='iphone'/><category term='emerging technology'/><category term='spring roo'/><category term='dan allen'/><category term='profiles'/><category term='philly startup leaders'/><category term='rails'/><category term='video'/><category term='Flex'/><category term='javaconfig'/><category term='nosql'/><category term='tapworthy'/><category term='JMS'/><category term='windows mobile'/><category term='podcast transcript'/><category term='SpringSource'/><category term='jquery mobile'/><category term='windows phone'/><category term='Adobe'/><category term='facebook'/><category term='jon'/><category term='spring social'/><category term='jeff brown'/><category term='meego'/><category term='scala'/><category term='dbunit'/><category term='java'/><category term='seam'/><category term='software conference'/><category term='security'/><category term='nfc'/><category term='ed burns'/><category term='esb'/><category term='jboss cache'/><category term='springsource roo'/><category term='cloud'/><category term='backbone'/><category term='rest'/><category term='m2eclpise'/><category term='spring 3.1'/><category term='RESTful'/><category term='Nexus'/><category term='android'/><category term='groovy'/><category term='palm'/><category term='ssl'/><category term='unit testing'/><category term='akka'/><category term='architecture'/><category term='screencast'/><category term='ruby'/><category term='jboss world'/><category term='couchdb'/><category term='education'/><category term='kyw newsradio'/><category term='scott davis'/><category term='redmonk'/><category term='javascript'/><category term='Messaging'/><category term='mule'/><category term='redis'/><category term='apple'/><category term='jenkins'/><category term='emmanuel bernard'/><category term='yammer'/><category term='spring mvc'/><category term='mulesoft'/><category term='sonatype'/><category term='david black'/><category term='chariot techcast'/><category term='rhodes'/><category term='tebow'/><category term='pretty faces'/><category term='infinispan'/><category term='griffon'/><category term='agile'/><category term='voldemort'/><category term='ci'/><category term='fulltext'/><category term='html 5'/><category term='podcasts'/><category term='andriod'/><category term='graeme rocher'/><category term='database'/><category term='mentoring'/><category term='cassandra'/><category term='cloud computing'/><category term='spring framework'/><category term='sencha touch'/><category term='groovy algorithm shunting yard'/><category term='JTA'/><category term='hudson'/><category term='couch db'/><category term='James Ward'/><category term='web services'/><category term='Spring Batch'/><category term='mongodb'/><category term='Sonar'/><category term='phillyete'/><category term='keitai'/><category term='rhomobile'/><category term='springone'/><category term='SOAP'/><category term='jquery'/><category term='chris richardson'/><category term='blackberry'/><category term='winning'/><category term='roo in action'/><category term='chariotsolutions'/><category term='mobile development'/><category term='annotation config'/><category term='twitter'/><category term='enterprise integration patterns'/><category term='search'/><category term='jboss'/><category term='mobile web'/><category term='phonegap'/><category term='social media'/><category term='password'/><title type='text'>Comments on Chariot Solutions: Introduction to Backbone.js with jQuery Mobile</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.chariotsolutions.com/feeds/9086551756311204453/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html'/><author><name>Tracey Welson-Rossman</name><uri>http://www.blogger.com/profile/00460003016667099940</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-8456363391661871679</id><published>2012-02-07T12:28:41.207-05:00</published><updated>2012-02-07T12:28:41.207-05:00</updated><title type='text'>I know I am late to this party but I have to agree...</title><content type='html'>I know I am late to this party but I have to agree with tbranyen here. You should never block with async: false! There is always a way to rewrite your code to use callbacks. Even if some calls to your RESTful API depend on the outcome of other calls, you could make those calls in the success, error or complete callbacks just as easily as with blocking but without the bad user experience of the browser appearing to lock up.&lt;br /&gt;&lt;br /&gt;Also, when you said &amp;quot;I did this for simplicity sake, as the point here is to provide an example of how to use backbone with JQM, not to provide best practices or standards for JQM&amp;quot;, that is not a valid argument. When posting examples for others to follow, you should always post those examples using best practices. Posting poorly executed code just promotes bad practices in this world where unfortunately copy/paste is more prevalent than understand/implement, even if promoting those bad practices is unintentional.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/8456363391661871679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/8456363391661871679'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html?showComment=1328635721207#c8456363391661871679' title=''/><link rel='related' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/5627038218123171900'/><author><name>kborchers</name><uri>http://www.blogger.com/profile/11221086094145561739</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-9086551756311204453' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/9086551756311204453' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-343129188'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-4090534459063067856</id><published>2012-01-06T22:53:47.066-05:00</published><updated>2012-01-06T22:53:47.066-05:00</updated><title type='text'>Great to see some more information on this combina...</title><content type='html'>Great to see some more information on this combination. I started a project using jQM and backbone about 5 months ago and have been rather happy with the choice of doing MVC in the browser using these tools. There are a couple of interesting subtleties that I&amp;#39;ve run into and I want to point out to provoke some discussion.&lt;br /&gt;&lt;br /&gt; 1. Both jQM and backbone provide hashchange listening navigation support. I ended up choosing to disable it in jQM and use just backbone. I&amp;#39;d be interested to see what other people have chosen and how its working out for them.&lt;br /&gt;&lt;br /&gt;2. I found that when the underlying model gets sufficiently complicated, I had to adopt a policy of wrapping a view side event handler in a _.defer whenever binding a view object to a model object. This allows all of the bindings between model objects to complete first so that the model is in a consistent state before any of the views try to render. This one is more just about backbone, but again I&amp;#39;m curious to find out what people are doing. &lt;br /&gt;&lt;br /&gt;Thanks for the article.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/4090534459063067856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/4090534459063067856'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html?showComment=1325908427066#c4090534459063067856' title=''/><author><name>ajs</name><uri>http://www.blogger.com/profile/07242435965833662812</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-9086551756311204453' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/9086551756311204453' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1013618066'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-5832874757133281194</id><published>2012-01-04T10:03:10.949-05:00</published><updated>2012-01-04T10:03:10.949-05:00</updated><title type='text'>glfp:

We have done some testing with various amou...</title><content type='html'>glfp:&lt;br /&gt;&lt;br /&gt;We have done some testing with various amounts of data, and performance isn&amp;#39;t always the greatest.  BTW, you can turn off transitions in JQM with this line of code: $.mobile.defaultPageTransition = &amp;#39;none&amp;#39;.  The last project I worked on we decided that rather than pass data between pages, we used session storage to put/get data based on our current operating context.  Of course, we had a requirement for offline storage, so we knew the browsers would support session storage as well.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/5832874757133281194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/5832874757133281194'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html?showComment=1325689390949#c5832874757133281194' title=''/><author><name>Steve Smith</name><uri>http://www.blogger.com/profile/08979713820164614687</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_1c2jwdJuZWY/ReXbxfg_43I/AAAAAAAAAW4/ZVtQ1LY_dHA/s320/ssmith.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-9086551756311204453' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/9086551756311204453' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-703724129'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-3990998718912081199</id><published>2012-01-04T10:02:31.425-05:00</published><updated>2012-01-04T10:02:31.425-05:00</updated><title type='text'>candanny:

I have not seen the TodoMVC app (http:/...</title><content type='html'>candanny:&lt;br /&gt;&lt;br /&gt;I have not seen the TodoMVC app (http://addyosmani.github.com/todomvc/) before.  Based on a quick look, it looks very interesting and I plan on digging in deeper.  Thanks for pointing that out.  I have used Sencha Touch and am hoping to create a mirror app to provide a comparison between Backbone/JQM and Sencha, but workload will dictate how soon that can happen.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/3990998718912081199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/3990998718912081199'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html?showComment=1325689351425#c3990998718912081199' title=''/><author><name>Steve Smith</name><uri>http://www.blogger.com/profile/08979713820164614687</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_1c2jwdJuZWY/ReXbxfg_43I/AAAAAAAAAW4/ZVtQ1LY_dHA/s320/ssmith.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-9086551756311204453' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/9086551756311204453' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-703724129'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-5627038218123171900</id><published>2012-01-04T10:00:55.416-05:00</published><updated>2012-01-04T10:00:55.416-05:00</updated><title type='text'>tbranyen:

In this example application, the first ...</title><content type='html'>tbranyen:&lt;br /&gt;&lt;br /&gt;In this example application, the first (and only) view is data driven from backbone collection.  In order to render this view, the collection needs to be populated.  Therefore, I need the rendering to wait for the collection to be loaded via the ajax call.  Without that, the view renders an empty list.  I did this for simplicity sake, as the point here is to provide an example of how to use backbone with JQM, not to provide best practices or standards for JQM.  While most of the time ajax calls should be asynchronous, there are times when they need to be synchronous as well.  One project I worked on required multiple REST calls to synchronize browser local storage with a server side application.  The way the existing REST interface was defined, there could be cases were certain calls should not be made based on the outcome of previous calls (i.e. there were some dependencies between calls).  This necessitated the use of the async:false option.  So to say that something should &amp;quot;never be advocated&amp;quot; is a bit extreme when it comes to software development.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/5627038218123171900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/5627038218123171900'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html?showComment=1325689255416#c5627038218123171900' title=''/><author><name>Steve Smith</name><uri>http://www.blogger.com/profile/08979713820164614687</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_1c2jwdJuZWY/ReXbxfg_43I/AAAAAAAAAW4/ZVtQ1LY_dHA/s320/ssmith.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-9086551756311204453' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/9086551756311204453' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-703724129'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-6660010425336611556</id><published>2012-01-04T04:31:54.901-05:00</published><updated>2012-01-04T04:31:54.901-05:00</updated><title type='text'>A really interesting article. I&amp;#39;m working on J...</title><content type='html'>A really interesting article. I&amp;#39;m working on JQM since very few weeks, and I&amp;#39;m very fed up of it&amp;#39;s page transitions mechanism .... and using javascript client-side it&amp;#39;s very terrible.&lt;br /&gt;&lt;br /&gt;Did you test JS + backbone with many page transitions and values passed from one page to another ? &lt;br /&gt;&lt;br /&gt;Thank you.&lt;br /&gt;&lt;br /&gt;Gian Luca - Italy</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/6660010425336611556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/6660010425336611556'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html?showComment=1325669514901#c6660010425336611556' title=''/><author><name>glfp</name><uri>http://www.blogger.com/profile/09338685521155647464</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-9086551756311204453' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/9086551756311204453' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-960088125'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-4259252594559768263</id><published>2012-01-04T03:37:01.385-05:00</published><updated>2012-01-04T03:37:01.385-05:00</updated><title type='text'>Thanks for spending the time to write this up. I k...</title><content type='html'>Thanks for spending the time to write this up. I keep looking at backbone tutorials to be convinced that backbone.js will help me and not confuse matters, but in the end I am still not convinced that it&amp;#39;s more intuitive than using templates and jQuery directly. Or maybe backbone proves more worthwhile in bigger apps?  Have you seen the plain jQuery todo MVC version on github (addyosmani / todomvc)?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/4259252594559768263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/4259252594559768263'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html?showComment=1325666221385#c4259252594559768263' title=''/><author><name>candanny</name><uri>http://candanny.wordpress.com/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-9086551756311204453' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/9086551756311204453' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1675436192'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-5599122889289364148</id><published>2012-01-03T16:03:04.720-05:00</published><updated>2012-01-03T16:03:04.720-05:00</updated><title type='text'>Setting async to false is a horrible practice and ...</title><content type='html'>Setting async to false is a horrible practice and should never be advocated.&lt;br /&gt;&lt;br /&gt;exercise.activities.fetch({async: false});  // use async false to have the app wait for data before rendering the list&lt;br /&gt;&lt;br /&gt;Can you justify the decision to block the event loop?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/5599122889289364148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/9086551756311204453/comments/default/5599122889289364148'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html?showComment=1325624584720#c5599122889289364148' title=''/><author><name>tbranyen</name><uri>http://www.blogger.com/profile/03205567992253832452</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/12/introduction-to-backbonejs-with-jquery.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-9086551756311204453' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/9086551756311204453' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-869641717'/></entry></feed>
