Best Open Source Cross-Platform Framework for Enterprise Mobile Apps

Alex Raul
Rackner | Dev Blog
Published in
3 min readJul 10, 2017

What framework should you adopt for the easiest path to Enterprise Mobility?

Nowadays, cross-platform mobile frameworks come in two flavors:

  1. Hybrid (HTML5/WebView Based) Frameworks
  2. Cross-Platform Native Frameworks

Hybrid (HTML5/WebView Based) Frameworks

These frameworks use javascript and HTML5 based views and components. They trade the performance of a native application for incredible ease of development. Web developers will be right at home with these frameworks — they can develop with Javascript libraries, HTML, and CSS.

Ionic 2

Currently, the most popular Hybrid framework is Ionic 2. Unlike the first version of Ionic which uses Angular 1, Ionic 2 is based on the newest iteration of the popular Google-backed library, Angular 2 (now known simply as Angular).

Cross-Platform Native Frameworks

These frameworks still use javascript at the business logic and controller level, but view components are handled by native OS code. This means that a side menu is a native side menu component, not just an imitation built with HTML and CSS. Styling and Layout is handled slightly differently in each of these frameworks, but usually a subset of CSS is supported, with templating in either JSX or an HTML/XML equivalent. This template code compiles into javascript function calls that expose native structures like buttons, sidemenus, and action bars.

Telerik Nativescript

Similar to Ionic, Nativescript uses Angular 2 under the hood. Large companies like SAP have started to built new apps and features in Nativescript.

React Native

Built on Facebook’s React Javascript framework, React Native powers parts of huge applications like AirBNB’s mobile app (the “Trips” feature is built entirely in React Native).

How does the Enterprise context affect your choice?

Making a choice between the two types of framework is often nuanced (for instance, if starting with a purely native app and doing a piecewise refactor into cross platform, you need to use a cross-platform native framework), but for the purposes of this discussion we will boil it down into a simple choice

  1. If animation or general app performance is paramount, definitely use a Cross Platform Native Framework
  2. If development speed is more important, and you don’t have any engineers with a native skillset, use a Hybrid HTML5 framework.

In the enterprise context, many variables can impact this discussion. If the application is for internal use only, it’s possible that performance is not as important as iteration time and keeping the team size small (hard to do if you need both android and iOS engineers). However, if your internal application is something like a POS system where users need to be able to quickly move between views and perform actions, it’s possible that going for a Cross Platform Native framework is your best bet.

Generally, for a consumer-facing application we would suggest using a cross-platform native framework. Native animations run a lot faster than javascript-tweened animations, and if you’re aiming for Top 10 in the app store this can really make a difference.

As always, the answer to any engineering question like this is “it depends”. Knowing your requirements up front (and the capabilities of your engineering team) will help you make the right decision.

--

--

Alex Raul
Rackner | Dev Blog

CEO @racknerco | Cloud Native | Digital Transformation | Mobility | AWS Consulting Partner