If you’re serious about getting your web application mobile-friendly, the easiest, fastest and proven method is to start with a mobile application framework. Similar to programming frameworks like cakePHP, Zend Framework, mobile frameworks provide you with handy tools to automate many of the mundane tasks associated with mobile web development.
Your choice of a mobile framework will ultimately depend on your requirements, but here are some handy tips to consider:
- Avoid platform specific frameworks – developing solely for say iPhones is going to restrict your reach to other mobile devices (iPhone U.S market share is only 27%). Instead opt for a framework that can be used across a wide range of mobile OS.
- Choose a (very) 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 localstorage.
- 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.