Comparison of Mobile App Frameworks for Cross-Platform Development

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

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 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 web-based approach for their own apps and rewrote their mobile apps native in 2012 for iOS & Android – with 2 separate code bases & teams.

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, optimized for performance and which 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 code which you’d like to keep, you can do this with V-Play thanks to its architecture:

V-Play Tech Architecture Native + QML

React Native vs V-Play

React Native is a popular framework developed by Facebook to achieve cross-platform time & code savings with native performance. However, it falls short in the native performance part, because the JavaScript bridge is slowing down the rendering. It also has a disadvantage that you need to develop two separate view parts of your app.

Recently, several popular app development companies like Udacity or AirBnB stepped back from using React Native in their mobile apps, who have listed more reasons why RN was not the right choice for their requirements in the company links in this paragraph.

In contrast to React Native, V-Play uses custom rendering of UI elements. This has the advantage of the same UI being shown across platforms with a single code base. You can see the result of this code savings in this chart, which shows how little code V-Play requires compared to other development platforms. The comparison is based on a real-world project (an app to search real estate properties) that got implemented in various frameworks and which is available on Github:

V-Play Code Savings

Another benefit of V-Play is the better performance because the JavaScript bridge does not slow down rendering.

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