Comparison of Mobile App Frameworks for Cross-Platform Development in 2018

This guide is a mobile app framework comparison for cross-platform development in 2018.

It compares the popular app development frameworks React Native, Cordova, Angular, Ionic, Titanium, Qt and V-Play.

 

In early cross-platform mobile app development times, content was rendered within a WebView, which is a browser window within an app. The most popular framework for applying this approach was PhoneGap, later renamed to Cordova. As a developer, you would define for example a button, and this button then gets styled with CSS in a way so it looks like a native button on iOS and Android.

Cordova, Angular, Ionic & Titanium vs V-Play

The key disadvantages of a webview based approach are:

  • The performance for WebViews varies a lot between smartphones as they rely internally on the WebView version used in the operating system version (e.g. Android 4.0 vs 6.0).
  • You are dependent on Apple (iOS) & Google (Android) to add features for & improve the performance of the WebView.
  • The supported features like certain CSS fields or the supported JavaScript standard vary depending on the web engine which is used (WebKit and Chromium are used in iOS & Android respectively). This, in turn, makes maintainability hard as you need to support multiple webview browser versions and types, similar to the issues web developers are facing and getting nightmares of.
  • The performance is a lot slower compared to native apps, because you run your code in a WebView running with JavaScript and also rendering your content via JavaScript/HTML commands for a web renderer. Web renderers were designed to display websites, multimedia content, etc. But not to efficiently render user interfaces & animations on mobile devices with limited hardware capabilities.

The most relevant disadvantage is performance, which was also the main reason why Facebook decided against a webview based approach for their own apps and rewrote their mobile apps native in 2012 for iOS & Android – with 2 separate code bases & teams. A few popular solutions with a webview based approach are Cordova, Angular, Ionic & Titanium.

Qt & V-Play on the other hand, allow you to compile real native applications without the need for a WebView. V-Play renders its UI elements with a custom renderer built on C++ & OpenGL ES / Vulkan / Metal. This “scene graph renderer” is optimized for performance and guarantees the UI will look 100% the same on any device & platform. This solves another common issue web-based frameworks have: the UI is guaranteed to look the same, no matter which OS, browser, web rendering engine or browser version is used. If your app prefers a native look & feel, native UI elements are rendered in combination with the custom renderer.

Furthermore, if you have existing native iOS, Android or C++ code which you’d like to keep, you can do this with V-Play thanks to its architecture:

V-Play Tech Architecture Native + QML

Mix Custom UI & Native Navigation Cross-Platform

V-Play abstracts the platform navigation differences and allows you to use just a single Navigation component, that works cross-platform. After adding, you instantly get a tabbar on iOS and the Navigation Drawer on Android. For maximum flexibility, you can choose on a component level if your app shall use the “native” navigation paradigms, or use your custom UI and navigation code. This allows using the best of two worlds, whatever makes most sense for your apps.

native-navigation-ios-and-android

The V-Play Apps page lists more of the key advantages of cross-platform app development:

  • Faster development time
  • Reduced code
  • Reduced cost for development and ongoing maintenance
  • Single team working on all platforms and shared knowledge

V-Play Code Savings

Mobile App Framework Comparison

See here for more comparisons of mobile app development frameworks:

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support