Developing for iPad, Android phones, the Amazon Kindle, larger Android tablets, Windows Phone, and BlackBerry presents numerous challenges for the modern day mobile application (app) developer. Cross-platform frameworks such as Appcelerator’s titanium, Rhodes, and PhoneGap have cropped up to make your code apply to as many devices as possible with a minimal amount of code modifications. If there’s one thing that’s become apparent since then it’s that Mobile Frameworks vary a lot in their methodologies and features. In today’s article, we’ll learn about the two main Mobile Framework types and explore each one’s pros and cons in order to help you make a more informed decision when choosing between them and native app development.
A List of Who’s Who in Mobile Frameworks
Just figuring out which Frameworks are the most popular is like shooting at a moving target. The field is changing so rapidly that the list could change from month to month. That being said, according to the most recent stats that I could find, published on the Sitepoint site on Nov 7, 2014, the top seven Frameworks for Mobile Development are…drum roll please:
- Apache Cordova, a.k.a. PhoneGap
- Appcelerator titanium
- Adobe AIR
- Sencha Touch
- Qt
- Unity
- Corona
- Mono
- Marmalade
Interesting, one of my personal favorites, Vaadin, didn’t make that list. It does however rank quite highly in general Web application development.
Framework Types
Frameworks can be split into two types. The first is Web-based. These include Cordova/PhoneGap, jQuery Mobile, and Sencha Touch. What all of these frameworks have in common is that they focus exclusively on client-side technologies such as HTML/HTML5, JavaScript, CSS, etc… The second category is is made up of “Converters”. These frameworks take one of several programming languages and convert it into executable native code for the target devices. Some good examples of that include Unity, Corona, and titanium. Some frameworks, such as Vaadin, produce cross-browser front-end components that may be combined with other client-side frameworks.
General Pros and Cons
Before researching specific frameworks, there are enough general qualities to be derived from the major framework types that we can ascribe some pros and cons to each. The following tables list the pros and cons for Web-based Frameworks, Converters, and Native App Development as separate and distinct mobile development methodologies.
Web-based Frameworks
Pros | Cons |
---|---|
|
|
Converters
Pros | Cons |
---|---|
|
|
Native Apps
While we’re at it, here’s what’s good and bad about developing for individual devices and Operating Systems. Who knows, after reading over each framework type’s strengths and weaknesses, you might just opt to develop for each platform using its own language(s) and frameworks.
Pros | Cons |
---|---|
|
|
Conclusion
With so many Mobile Development Frameworks to choose from, it’s worth your while to compare general framework types before trying out any particular one. In the next article, we’ll get into specific pros and cons of some individual top frameworks.