Choosing Mobile Web HTML5 Framework
JavascriptJqueryHtmlMobileJavascript Problem Overview
For the new project, I have been searching for a framework with support of HTML5 and runs on mobile, that is IPhone, IPads. I found out these:
The main thing for me is HTML5. Although I went over the features they offer, I just wanted to know your experience if any with them.
Which one should I go for when looking for:
- Quick Start
- Good documentation
- Similar Web-way development
- Good support for the mobile platform
Javascript Solutions
Solution 1 - Javascript
It depends on what your target audience is and how interactive the site you are building is.
jQTouch:
heavy on the CSS, light on the JavaScript, MIT license
For a framework that provides a quick start, but not a lot of documentation unfortunately, use jQTouch. It requires very little to get started and coding is fairly straight forward. It uses CSS classes for detecting the appropriate animations and interactions.
Sencha Touch:
almost completely JavaScript, GPL not for use on commercial sites without a license
If you are building a complex enterprise application with a lot of visual interactions, I would strongly recommend Sencha Touch, it is heavily documented, with a strong professional team providing support.
M-Project:
MIT license, heavy on the JavaScript, appears to be in Alpha, may be buggy
Although I have never worked with M-Project myself (thanks for pointing it out) it does appear to be a very robust, and the coding style appears to be very similar to Sencha Touch, which is based on ExtJS, so if your team already has experience with ExtJS, it might be wise to consider one of these frameworks.
Nimblekit:
This appears to be for iOS only, not a good thing if you ever decide to expand your application to Android or some other platform.
Wink Toolkit:
appears to be MIT, or some variation there of
In my opinion, wink seems to have plenty going for it, but the documentation feels cold
jQuery Mobile:
Dual license MIT or GPL 2, just the right mixture of JavaScript and CSS
I will let someone with more experience talk about the merits, but jQuery mobile (though it is in alpha as well) is backed by a strong team and a community of supporters by extension of the core jQuery library. Probably the best choice for anything except the most enterprise centric applications.
Titanium:
Titanium is not an HTML5 mobile framework, it is a javascript based interface to native code modules included in the framework. It is a fairly straight forward framework, but I would consider the documentation sparse.
Bottom Line:
- jQuery mobile - as long as your app is not enterprise centric
- Sencha Touch - if your application is enterprise centric or heavy on user interactions
- jQTouch - if what you are looking for is a simple framework to get started with quickly, but you don't need a lot of gusto.
- Titanium - if you are more concerned with having actual native controls in your application
Demonstration Apps
There is an open source project, PropertyCross, which demonstrates the same application implemented with a range of cross platform frameworks. It is very useful for comparing the code, development experience and end-user experience of the various frameworks.
Solution 2 - Javascript
jQuery Mobile is better and have nice support!!
Solution 3 - Javascript
Stick with jQuery mobile. It faster then jQtouch. It also has better documentation then senchas. Senchas initial load time is slow. Overall, jQuery mobile wins my bet.
Solution 4 - Javascript
This framework I recommended here is quite new, but you may want to try it in the future: Mobl - HTML5 for mobile appliccation.
Actually, it's a DSL (Domain specific language) to build HTML 5 application on mobile. It's constructed by Zef Hemel as part of his Ph.D thesis, and allow a very easy way to build an HTML5 application quickly
About your request:
-
Quick start: yes, it's very simple to start developing with Mobl. Just add an Eclipse add-on and change some configuration.
-
Documentation: the tutorial is good enough, but it lacks the navigation, I mean, a comprehensive structure. I hope they will add it soon.
-
Similar web-development: I don't think it is. As a DSL, Mobl has different structure (similar syntax to javascript, though) comparing to web scripting language (HTML, Javascript,...). But it doesn't take much time to understand them.
-
Support: This thing is not good. At this early stage, Mobl community is very restricted.
Solution 5 - Javascript
jQuery mobile is a good option to opt, it has Good documentation and support also here is a good article, you'll get some idea which one to choose...
Solution 6 - Javascript
You may also want to take a look at PhoneGap (opensource). It also has a free build service in the cloud that will pump out native apps for most of the popular phones from a single source code base. I haven't tried it myself but it sounded intriguing.
Solution 7 - Javascript
I would start with HTML 5 boiler plate. It's a little bit heavy but you can add or remove as much as you want from it. Definitely the most complete HTML5 template I've found. Then I would go with jQuery Mobile. It's not out of alpha yet, so it's expectedly a little bit buggy but there's a great community behind it and it has a good structure for creating plugins.
Solution 8 - Javascript
You might also want to look into Google Web Toolkit, which enables you to write mobile HTML5 apps in Java. GWT has a templating system where you can include HTML and CSS, so that the major difference will be that you're writing in Java instead of Javascript. Sencha Touch which has been mentioned before, also comes in a GWT version called Gwt4Touch.
Solution 9 - Javascript
There is also http://zeptojs.com, which is aiming at small footprint, < 5Kb with most jquery core features.
Solution 10 - Javascript
I would also consider Skeleton.
Docs / demo site here: http://www.getskeleton.com/
Solution 11 - Javascript
For your future projects you may also look at DHTMLX Touch, a free, open source framework for building mobile web apps. It's quite easy to get start with and has live support forum. Some demos: http://www.dhtmlx.com/touch/samples/
(I work for DHTMLX)