Think of iOS and Android phone platforms as Apples vs. Oranges and think of frameworks as different “flavors” (Red Delicious Apples or Valencia Oranges). Mobile app development has different fruits, and different flavors for each fruit. When considering platforms and frameworks, always consider the platform first, followed by the framework.
Though the two most common mobile platforms are Android and iOS, there are several other options: Research in Motion (RIM) offers Blackberry as a platform and Microsoft offers Windows-based phones as platforms. The term “native” app means that your mobile app can be downloaded from the platform’s app store (iTunes store, for example) and appears as an icon on the user’s phone. You can also take advantage of the app store’s payment gateway, and gain traction very fast if your app is featured.
Another option is to create a HTML 5 web-based app, which operates across all platforms. This is becoming increasingly popular among mobile app development firms given the ability to publish a single application and have it be available to any device with a mobile browser. Bug fixes and updates can be released to every user simultaneously and aren’t subject to the wait times to be reviewed for publication by the App Store and Android Marketplace. The disadvantage of HTML 5 is that apps are not “native” to the platform and therefore users will not be able to go to the app store and purchase your app if you create a “web app”. In addition, there will be no access to the phone, camera, or other built in features. One way to work around this issue is to create a small native app that has an HTML 5 web browser capability for some content.
There are cross-platform frameworks available that enable you to go to “one stop shops” to get your app ready (and native) for all platforms. One drawback to keep in mind is that the quality of the user interface is not as good as that of native apps. Below are a few examples of cross-platform frameworks:
- Rhomobile – Provides Rhodes, the only framework with support for MVC (Model View Controller) architecture and development in the Ruby language
- PhoneGap – One of the most feature-rich frameworks with a considerable library of available plug-ins including Facebook Connect
- Appcelerator Titanium – An impressive library of over 300 APIs but really shines because of the built-in analytics
When you do decide to create your mobile app, consider the platform first, and the framework second. Knowing your user base will help you decide which platform to build for first. A good development team can guide you through the process of establishing platform priorities, and ensure the quickest delivery on all of them.