Approach seems to break down to JS driven app development vs. a more dom/html starting point. ember.js, sencha2, and possibly enyo seemed great for a component driven dev approach, but hard to deeply modify the UI behavior without fighting with the framework. These frameworks are for making your html app look like the apple UI guidelines, and "just like native". We are building games, so actually don't want to look just like other apps... So for us using backbone (+mustache) gives a lower-level approach to code structure + binding, combined with a UI module for when you need a touch-UI widget (which is a pain to code by yourself). I'm sure other folks more experienced with ST2 may disagree but thats what we found.
Since we are doing non-wifi browser based distribution, the OTA download size is also a concern. If you're packaging/bundling for the app store this shouldn't be a concern.
=== appmobi / jq.mobi
PROS: lightweight, self-contained, plug-in support
CONS: animation + ajax bugs when we tried. seems like a single company product
HN thread: https://news.ycombinator.com/item?id=3470946
4k jqmobi
15k jq UI
=19k total
=== zepto + jqtouchPROS: lightweight, small download, decent functionality, backbone support right off. very easy to work with.
CONS: missing many basic UI components tho plugins may exist. zepto animation.fx is limited. BIG problem: very slow on mobile? we had problems with transitions on iPod/HTC devices. Sencha seems much faster. jqmobile isnt really active project - main dev is now on sencha touch? tho commits are trickling thru https://github.com/senchalabs/jQTouch/network
9k jqtouch.min.js
20K zepto.min.js
=29k total
=== jquerymobile + jqueryPROS: very active project, extensive functionality
CONS: dependency on jquery, then also plugins eg for CSS animations. supports lots of non-webkit devices we dont need to support, so not needed code. had some problems with creating copies of pages in the DOM when you navigate. transition code is based on jqtouch, tho performance seems improved? http://jquerymobile.com/demos/1.0a2/#docs/pages/docs-transit...
24KB jquery.mobile-1.0.1.min.js (24KB
30k jquery.min.js.gz
=55k total (+plugins?)
So we are currently digging into the transitions+DOM issues on the last two, and deciding if the 40k is a killer given 2G networks in many places... but would be interested to hear what others think.