I've recently built a demo application using PhoneGap, and I chose to try JQuery Mobile as a UI framework. It was... okay. I'd like to try out Sencha Touch now and see if I like it better.
As of now (mid-December '11), it appears that Sencha Touch 2 has been released as a preview, and has significant improvements in performance (which is a key ingredient for me). However, it's missing some features, and doesn't seem to have many demos / tutorials yet on the Sencha website.
In the valuable opinion of SO's seasoned Sencha Touch developers (and by seasoned, at least in the mobile realm, I mean that you've at least played with it for a week or so), would you recommend I start with Sencha Touch 2 from the get-go, or go through the motions of learning 1.x and just upgrading to 2 later on? What are the advantages / disadvantages of using "preview" versions of this and other frameworks, particularly when working within the ever-shifting world of mobile development?
Thanks for any input!
I created a few proof of concepts for my company in jQuery Mobile. While I personally love jQuery, jQM was not ready for a production environment if you wanted a slick, responsive, bug-free user interface. That was in the v1.0RC3 days. It is a stable release at the moment but I still feel the same way, hopefully future versions will address the shortcomings. I made this decision after running a number of benchmarks, a focus group and a pilot program(6 ppl). All said and done, I decided to evaluate ST.
Sencha Touch has the best UI, IMO. However, there is a strong learning curve with this framework. API documentation is complete and while there are tutorials lurking here and there, there is NOTHING that spells out the ST framework from start to finish. I often find myself searching in the depths for a brief glimpse of an explanation with no resolve. I find it frustrating that the Sencha team hasn't addressed this. I hear a lot about brushing up on EXTjs first as that is the placenta of ST's birth. (yes, I just said that) Truth is, if one has to learn another framework to utilize the one you are interested in, just to understand how it works, its a major fail. I'm not learning EXTjs just for ST...
For Sencha Touch, you should be versed in MVC, object oriented programming, debugging web technology and have a solid understanding of JavaScript.
Now the real question is 1.x or 2.x. Situations like this are highly debatable. Resource and cost analysis should be done on both versions to show how your development time increases if you were to port 1.x code to 2.x and any other overhead associated with learning curves, etc. So instead of give you my biased opinion, I'll just tell you what I did for my company (7k + employees).
My project needed to be at a certain milestone by a certain date and I certainly can't deploy something that isn't in production status. Simply meaning I cannot use a beta for anything substantial. As ST2.x is in the PR3 stage, it isn't ready for production. Not to mention a lot of key features of ST are currently missing from the ST 2.x release, though will be added in future releases as they progress to production stable.
I developed my app in 1.x because it was stable, has numerous examples and documentation available so I could produce an app TODAY. If I started in ST2, I wouldn't be able to finish the app. The API is not frozen, lacking full documentation, sparse examples, limited community resources and missing features. I can't wait for ST2(going to be great!) but can't risk my project over it.
Bottom line... if you need an app today, go with ST1, if you can hold off for another few months and have the time to make updates to your app as the ST2 API is frozen and features are added back in, then I would go that route. Cheers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With