I became aware of the Unify framework in November and was intending to look at it closely during my extended leave over Dec. and Jan. I was also interested in uki.js as an alternative to JQuery.
But it seemed that almost every week in that period I found yet another framework being touted as the best thing since sliced bread.
Then as a result of a question on Posterous a whole swag of alternatives were mentioned:
- Backbone.js (which in turn uses underscore.js) + jQuery or zepto
Of course there's a few mobile frameworks that need consideration:
- SenchaTouch (JQTouch rebadged)
- ChocolateChip Mobile
So there appears to be a spectrum of frameworks. At one end are the "app in a web page" frameworks like SproutCore and Cappucino which seem to require large downloads at commencement but then respond almost exactly like a stand-alone app. (A big footprint is not automatically required. uki.js's Mail and Wave demos are very small packages.) In the middle are "a few pages" apps which seems to be the place for Backbone, Knockout and Angular. And then there is the minimalist and/or mobile device end where the framework simply ignores all the baggage web apps have to carry such as IE6 compatibility and takes full advantage of the mobile device browser's handling of HTML5 and CSS3.
The mobile device end of the spectrum is where to aim I think. Eventually all browsers will support HTML5 correctly (maybe even MS will get it right; maybe...). In the meantime there is a huge and ready market for mobile device web apps.
But how does one keep up with this deluge of frameworks? How does one decide which, if any, are a) good quality; b) easy to use; and c) will be around long enough to get some ROI for the effort expended in learning to use the framework? In my years as a developer I've seen so many IT technologies come and go and, perhaps most annoyingly, the best technically is rarely the winner.