Saturday, October 12, 2024

Comparing Mobile Development Framework Types

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:

  1. Apache Cordova, a.k.a. PhoneGap
  2. Appcelerator titanium
  3. Adobe AIR
  4. Sencha Touch
  5. Qt
  6. Unity
  7. Corona
  8. Mono
  9. 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
  • Leverage existing knowledge of HTML, CSS and JavaScript. That may make these frameworks easier for web developers to begin with.
  • Easy to work with because changes are reflected in the application almost immediately. This makes these frameworks a good for smaller projects.
  • There are several excellent frameworks to choose from.
  • Applications that are built this way may be accessed from within an application or mobile browser.
  • Can be accessed across multiple devices.
  • Performance is often noticeably worse than native.
  • Each device needs to have some UI tweaking to achieve a more native feel.
  • Application complexity can drive up costs due to fragmentation between platforms and devices.

 

Converters

Pros Cons
  • Results in performance that is closer to native than Web Frameworks.
  • Scales relatively well except for the largest and most complex apps.
  • Leverages well-established languages such as Java, C++, and JavaScript.
  • Compiled apps should run on numerous platforms.
  • Forces reliance on Converter supplier for API updates and bug-fixes.
  • Large and/or complex applications become prohibitively difficult to maintain after a certain point.
  • Some UI tweaking is inevitable to achieve the right look & feel for various devices.

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
  • Offers the best possible performance of all development methodologies.
  • Provides developers with direct access to the latest UIs.
  • Vendors’ IDEs and Frameworks tend to be very well designed because they are developed by fairly large for-profit corporations.
  • Once you are familiar with a particular vendor’s programming language and tools, native app development time tends to be shorter.
  • As applications gain size and complexity, native apps tend to be easiest to maintain and scale.
  • Releasing the same app on another platform often necessitates a complete rewrite.
  • Supporting multiple platforms can be a costly and time-consuming endeavor.
  • Application distribution may differ greatly from vendor to vendor. In some cases, apps may only be distributed via vendor-approved channels.

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.

Rob Gravelle
Rob Gravelle
Rob Gravelle resides in Ottawa, Canada, and has been an IT guru for over 20 years. In that time, Rob has built systems for intelligence-related organizations such as Canada Border Services and various commercial businesses. In his spare time, Rob has become an accomplished music artist with several CDs and digital releases to his credit.

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Popular Articles

Featured