Most of the mobile frameworks consist of cross-browser consistent user interface elements and widgets,abstraction of boilerplate coding and wrappers for accessing native mobile OS functionalities.
The choice of a mobile application framework will ultimately depend on your requirements, but this review of popular mobile application frameworks provides some useful tips to consider while selection a mobile development framework.
• Avoid platform specific frameworks: Developing solely for say iPhone is going to restrict your reach to other mobile devices (iPhone US market share is only 27%). Instead opt for a framework that can be used across a wide range of mobile OS.
• Choose a lightweight framework: Internet availability on mobile phone is extremely prone to slow connectivity or latency issues. You should consider a framework that generates optimized code/graphics, supports some level of caching and makes use of local storage.
• Leverage your existing web development skills: Stay away from frameworks that require you to learn a new language unless you have a specific reason to do so.
PhoneGap takes a different approach to mobile web development. On the top of being an HTML5 app platform, it also allows you to author native application with normal technologies and get access to mobile OS's API and app stores â€" best of all, it has support for multiple platforms including iOS, BlackBerry OS, Windows Mobile, Android, Palm and Symbian OS. Some of the native features you can access (varies depending on platform) includes accelerometer, camera, compass, storage, geo location, sound notification and address book.
Applitude is a runtime framework and a domain specific language (DSL) for iPhone application development. This language is made-to-measure to express iPhone apps, so instead of keywords like if, then, while it has keywords like contentprovider, tableview or cell. Applitude is a developer tool and as such, a good knowledge of iPhone development in Objective C is required.
Jo is an HTML5 mobile app framework that sports a pretty UI widget framework that allow you to manipulate DOM elements, events and data stuff. It works across different mobile platforms unlike other frameworks doesn't use a lot of resources. If you want to jam an existing web page into an application framework, jo probably isn't for you. jo is designed to create applications.
jQTouch is a jQuery plugin for mobile web development mostly geared towards the iPhone, iPod Touch and other forward-thinking devices. It provides a great framework for creating powerful mobile apps with just HTML, CSS and jQuery. It has native animations, automatic navigation and themes support.
jQuery Mobile, touted as a touch-optimized Web framework for smartphones and tablets. Built on the top of jQuery and jQuery UI code, it provides a unified user interface across all major mobile device platforms. The code in itself is lightweight (12Kb compressed), flexible and supports a themeable design. Query Mobile makes use of several HTML5 and CSS3 features and if a mobile browser doesn't support some of these features yet, it will degrade gracefully without affecting the user experience.
Rhomobile is a set of products primary meant for managing enterprise-level mobile apps and data. Rhomobile uses the power and productivity of web technology and the cloud to allow enterprises to more easily develop, distribute, deploy and manage native smartphone apps and data. The downside is that Rhomobile requires some knowledge of Ruby â€" could be an adoption pain if you've never worked with Ruby before.
Kurogo is a PHP framework for delivering high quality, data driven customizable content to a wide range of mobile devices. Its strengths lie in the customizable system that allows you to adapt content from a variety of sources and easily present that to mobile devices from feature phones, to early generation smart phones, to modern devices and tablets.The mobile web component exists as a based web application served using PHP. This application is hosted on a web server and users access it using the web browser on their mobile device.