I am writing this as a continuation of my previous article called “Top 7 mobile application HTML5 frameworks“. It will try to cover somewhat lesser known mobile HTML5 frameworks, ones not fit for my previous article. Lesser known should not translate to “not so good”. Frameworks I am about to cover are several years old, but information about them are still more or less scarce.
If you don’t know what mobile HTML5 frameworks are (or used) take a look at my previously mention article, I will not repeat myself, for the sake of article clarity. So let’s dive straight through.
I will try to be as much objective as I can. Let me be transparent first, I am a jQuery Mobile and Sencha Touch developer. I had spent a lot of time playing with available frameworks before I chose those two. I don’t want to say other frameworks are inadequate or incompetent, as you will see, my decision was difficult, and it took time. All of them are great but as Rolling Stones sang “You can’t always get what you want“.
Before I start take a look at a list of my chosen 7 in alphabetical order:
Price: Free / Commercial
Mobile platforms supported: iOS, Android
We will begin with a “unique” bird. Unlike other candidates, Davinci SDK is IDE built around Eclipse made to help you create HTML5 web applications (mobile included). They have combined a wide variety of open source frameworks such as jQuery Mobile, KnockOut, Underscore, Handlebars, Backbone, etc. to aid you in HTML5 web app development. All in all, this is an excellent idea, precisely what jQuery Mobile needs, a good IDE.
Combined with a large number of related frameworks, where I would like to single out Backbone and Underscore. It offers ready-made presets and an action editor with which HTML5 content may be created without a single line of coding. This kind of IDE and development will appeal to iOS developers. Don’t forget that it supports native binary compiling for both iOS and Android OS.
- WYSIWYG development, almost everything is point and click
- Structure based on jQuery and the jQuery Mobile framework, documentation and support will not be a problem
- Model View Controller (MVC) and Data Binding provided thanks to additional frameworks
- Data Binding tool provides easy integration for 3rd party open APIs
- iOs and Android native packaging, no more Phonegap.
- IDE has more sense then one made for Sencha Touch, still Sencha Touch is much faster
- This is what jQuery Mobile should become
- Built on jQuery Mobile. This is my subjective comment and I’m providing it to you as jQuery Mobile developer. While it is a great framework it lags behind its competitors. It’s simply not fast or robust enough for complex HTML5 mobile applications, not to mention that it looks rather bad when viewed on desktop browsers. This will of course change with time.
- Lack of information about the framework itself (Framework age can easily explained this).
- Commercial version. This is only problem because you can also buy Kendo UI, which will not provide you with this great IDE, but is faster then jQuery Mobile.
This is a must have IDE for jQuery Mobile developers primarily it includes tight integration with Backbone, Knockout, and Underscore. Phonegap is no more needed, for native support. I can’t stress this enough, Phonegap and a jQuery Mobile combination is killing them, if possible stay away from Phonegap. If you are a jQuery Mobile developer intent on fast and easy development, this is a tool for you. On the other hand, if you need speed steer clear from jQuery Mobile.
Mobile platforms supported: iOS, Android, Blackberry, Symbian, WebOS
Jo is a lightweight HTML5 mobile app framework which provides UI widgets, a flexible event model, a wrapper for sound, and a light data layer. Minified it takes only 12 Kb, which is around 25x less then jQuery Mobile. It requires PhoneGap as a native wrapper. I personally don’t like Phonegap it but that’s just me. It is optimized for Android (even version 1.6), iOS and WebOS usage, so, you guessed it, it runs fast.
- Small and fast, unlike jQuery Mobile this one actually works OK combined with Phonegap
- Extensive widget support, I can’t believe so many of them are gathered in so little code.
- full desktop and mobile browser support, unlike some pure WebKit frameworks.
- Documentation, the disease of many great HTML frameworks. While extensive it lacks images and working examples.
- To few framework images what so ever. It may sound stupid and shallow but images are there to sell products. Why would I want to spend my time with a framework I cant initially see.
- Available theme. It looks nice but I wouldn’t call it native-like. It’s designed for mobile use, but it still feels like using a web app.
Junior is another jQuery based HTML5 front-end framework for creating mobile apps that look and behave like native. Unlike Project M and Davinci SDK it is based on Zepto.js and has integration with Backbone. It uses Ratchet CSS for its UI components. For those of you who don’t know Ratchet is used to prototype iPhone apps with simple HTML, CSS, and JS components. Inclusion of the Zepto.js and Ratchet tells you that this framework also aims at been light and small.
Mobile platforms supported: iOS
- Small and light
- MVC support with Backbone included
- jQuery based which makes it easy to master
- Modernizer support
- Retchet UI is nothing special, I don’t find it to be ready and responsive for a mobile HTML5 framework. There are numerous better solutions. But a lot of blame is also on a Junior implementation.
- Documentation don’t exist. Because it uses several frameworks you will need to look at their specific pages.
- UI is problematic, visual errors and problems are noticeable
- In a perfect world combining several distinct frameworks looks like a good idea …. in the real life its not.
I don’t know what to think about this framework. Form one perspective it is small and fast. On the other hand, it is built form several distinct frameworks that may or may not work correctly together. From may experience this is a quick but lazy development. I am most disappointed with its UI; it simply don’t have a native feeling, not to mention constant visual errors.
Now this is something I like. The project M is an alternative version of jQuery Mobile, think of it as a pimped out version of jQuery Mobile. It provides developers with an MVC-based architecture for structured and convenient application development, something that original jQuery Mobile really needs. That is not all, you don’t need PhoneGap any more as a native app wrapper. Everything you need comes with a nifty tool called
Espresso. It is a powerful build tool, that eases up the development process in many ways: It initializes the project, creates required components, provides a built-in web server, optimizes and packs the application, deploys it to e.g. an FTP server and builds native iOS/Android apps. Basically, it’s similar to the (un)holly combination of jQuery Mobile and Backbone and Phonegap, with everything positive that can provide, without most of their combined problems.
Mobile platforms supported: iOS, Android (Blackberry and Palm webOS – without native support)
- jQuery Mobile is the core framework
- integrated MVC support – something that original jQuery Mobile needs the most
- No more Phonegap
- Internationalization support
- Sencha Touch syntax compared to jQuery Mobile HTML approach
- Offline support (automatic cache manifest generation)
- Documentation again. Because it uses completely different development approach original jQuery Mobile documentation is almost useless. Some documentation links are broken (nobody fixed it, even after 7 months after this problem was reported)
- While better then original jQuery Mobile it is not much faster
- It lags behind original jQuery mobile, not much but still a problem if you want some new goodies.