Let's assume you are trying to create a location-based mobile application for Android. What framework will you prefer? Phonegap?
Or is there a better option?
As a result of my studys, we can use PhoneGap to wrap HTML/CSS/JavaScript mobile web apps to create native apps for iOS, Android, Blackberry and so on. There are many other frameworks, tools and libraries for creating mobile applications. And from my experience I would be very careful with a HTML mobile framework. They tend to be heavy and require many CSS/HTML elements.
I suggest use of jQuery and a target webkit (iOS and Android) and try to optimize your DOM and UI components as much as possible. Then, you can move to other browsers.
If you are building an offline application, you can use MVC. Anyway, the rule is that the less framework you use the better you are. So, pick carefully and be sure they are not a Kitchen sink.
The following is the list of Top 10 Frameworks for build mobile applications with HTML, CSS and JavaScript.
- jQuery Mobile
jQueryMobile is a robust mobile development framework to build cross-platform mobile apps.
- Cordova / PhoneGap
PhoneGap is essentially based on Cordova. Cordova/Phonegap provides a set JavaScript APIs that connect to the device's native functions such as Camera, Compass, Contacts and Geolocation. Cordova/Phonegap lets us build a mobile application without the native programming language; instead we can use a framework like jQuery Mobile.
- Sencha Touch
Sencha Touch is a mobile framework powered by HTML5 and CSS3, providing APIs, animations and components that are compatible with the current mobile platforms and browsers.
- Ratchet
Ratchet was originally used by Twitter as an internal tool to create their mobile app prototype that is then released publicly as an open source project.
- Ionic
If you are concerned with your app performance, Ionic is the right framework for you. Ionic is an HTML5 mobile framework with a focus on performance, by leveraging hardware acceleration requiring no third-party JavaScript library.
- Lungo
Lungo is a lightweight mobile framework based on HTML5 and CSS3.
- JQT
jQT is a Zepto plugin for the mobile framework primarily designed for Webkit browsers.
- Junior
Junior is also a Zepto plugin for building a mobile app similar to jQT.
- Jo
Jo supports a wide variety of mobile platforms including Tizen and Chrome OS. Jo also comes with a starter powered by CSS3, so it makes it easy for web developers at any level of experience to grasp and start styling their apps.
- Famo.Us
A new kid on the mobile framework block, Famo.us promises to eliminate HTML5 performance issues on mobile devices with its lightweight JavaScript engine (only 64k).