Tuesday, March 19, 2024

Pros and Cons of Cross-platform Mobile Development Frameworks

In the Comparing Mobile Development Framework Types article, we explored the two main general Mobile Framework types and went through each one’s pros and cons. In today’s follow-up, we’ll evaluate the Apache Cordova and Appcelerator Titanium frameworks.

Apache Cordova (a.k.a. PhoneGap)

Apache Cordova, along with its commercial counterpart, Adobe PhoneGap, is a free and open source framework that allows you to create mobile apps using standardized web APIs. It lets you code your mobile app using HTML, CSS, and JavaScript, as well as your favorite JS libraries and then packages them for selected platforms. The resulting app runs in a “WebView” inside a native application container on the target platform. Thus, the Cordova APIs are able to provide your web application access to device-level APIs that regular web applications would not.

Sound good? It is!

Pros

  • Gentle Learning Curve: Other than the framework’s own idiosyncrasies, there are really no additional coding elements to learn. That allows developers to leverage their existing web development knowledge and skills. The result: reduced training and shorter development timeframe.
  • No Licensing Costs: Being an open source product means that it’s 100% free to use. A lot of companies are moving towards open source offerings, including mine! The open source model is not all good – for example, no dedicated support – but somehow, despite there being so many cooks in the kitchen, it works better than anyone could hope.
  • Despite being written in web languages, Cordova apps install just like native applications.
  • Excellent platform coverage: the same code can work for all the major mobile operating systems like Android, iOS, Windows.
  • Cordova apps are distributable through the App store.
  • Cordova’s plugin architecture offers a wealth of plugins and modules that can provide additional services or tools.

Cons

Of course Cordova development is not all sunshine and rainbows. Here are some of the downsides:

  • Cordova’s cross-compilation process can sometimes result in slower performance than that of native tools. This is especially true if your mobile app includes a lot of graphics. While improvements in device hardware and WebView implementations have helped narrow the gap, you might need to implement caching or use 3rd party solutions for graphic acceleration to get your app up to speed.
  • Like pretty much all open source tools, documentation tends to be lacking and either not terribly descriptive or badly written – especially when it comes to plugins.
  • Speaking of plugins, with so many cooks in the kitchen it can be difficult to get current versions that all work well together.
  • I’ve also heard that the Apple folks have been known to foster a negative attitude against hybrid apps because you’re not going as “all-in” as they’d like you to!

Cordova is probably best suited for building mobile apps that don’t rely too heavily on native phone features. At a certain point, native app development is likely to be a better bet.

Appcelerator Titanium

Appcelerator’s Titanium uses an open source JavaScript SDK to create native, hybrid, and mobile web apps that provide native-platform-specific features such as UI components. It also comes with its own Eclipse-based IDE, the Alloy MVC framework, and Cloud services. Compared to other hybrid frameworks, Appcelerator’s Titanium delivers the best UI performance, making Titanium one of the top cross-platform mobile development frameworks with over 250,000 mobile developers and 35,000 apps.

Pros

  • Appcelerator literally puts the “accelerate” in UI development, allowing their creation with a few lines of code and in a lot less time than similar frameworks. In fact, it’s so good that you might want to consider using Titanium to make prototype for the user to tinker with the UI, regardless of your ultimate framework choice.
  • JavaScript all the way: if you’re like most web developers, you are likely to be quite fluent in JavaScript coding. Titanium leverages prototype-based subclassing that is familiar to JavaScripters.
  • Data transfers are a breeze thanks to the use of JSON (JavaScript Object Notation). JSON is a very lightweight object encoding that is almost identical to JavaScript object notation. Using the Titanium API, data received over the network may be directly assigned to a local variable with almost no data parsing, extraction, and/or conversion required.
  • Appcelerator has built up a community of over 200,000 developers. The Appcelerator Open Mobile Marketplace is an online gathering place for buying, selling and sharing modules, templates, design elements, and extensions for web services.
  • Through investor funding, Appcelerator was able to acquire Cocoafish a Cloud services company which provides a variety of very useful services to mobile (or any) clients through a simple REST API, with no server-side code. That will soon make it even easier to build mobile apps with back-end data services for persistence, notifications, social features, etc…

Cons

  • Less-than-perfect Scalability: It’s certainly one of the great truisms of program development that development complexities and costs rise proportionally (if not more so) to increases in application complexity. That being said, there has been plenty of anecdotal evidence of application complexity leading to a multitude of technical glitches from random crashes, unusual behaviors, annoying bugs, and others. Moreover, having to manage target platform SDKs locally can lead to versioning and build-related issues – especially if you target multiple platforms.
  • StoreKit, the Appcelerator module to enable In-App Purchase to Apple’s App Store is known to be buggy, poorly documented, and only partially functional, making it perhaps too unstable for production use! The alternative is to drop the “freemium” pricing model – whereby apps that are free to download, but require an in-app purchase to be expanded – and say goodbye to a lot of revenue, since almost three quarters of total App Store revenue comes from in-app purchases.
  • Some developers have complained that the Titanium Studio IDE can “go crazy” sometimes and is more of a hindrance to productivity that a benefit.

Conclusion

You might not want to commit to a specific Mobile App Development Framework just yet because there are still several more to look at! Next week, we’ll move on to two more heavy hitters: Adobe AIR and Sencha Touch.

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