DEV Community

Cover image for Reviewing the top 4 cross-platform development frameworks
Sergey V.
Sergey V.

Posted on

Reviewing the top 4 cross-platform development frameworks

Mobile app developers often face the situation when native technologies are incompatible with each other on almost all levels. These levels can include programming languages, architectures, work with libraries, operating systems, etc.

As a consequence, to implement the same algorithms and user/business scenarios they had to create an application for several environments in different languages.

To make the product support two platforms, the company had to increase the working time, budgets, and efforts for product maintenance. In addition, native app development requires certain expertise and knowledge from the engineering team.

Cross-platform tools arose to solve such dev challenges. Despite some weak sides, they facilitate and speed up the mobile application development process. Since the market has always been very competitive, tech providers take care of quality and strive for delivering advanced cross-platform technologies. Take a look at one of the best frameworks: PhoneGap, Xamarin, Flutter, and React Native.

PhoneGap

Adobe PhoneGap is an open-source cross-platform framework, that goes for free. This cloud-based tool doesn’t require SDKs, compilers, and hardware for creating mobile solutions.

PhoneGap enables software engineers to create applications on CSS3, HTML5, and JavaScript. What’s important, PhoneGap is a mature solution providing a number of ready plugins. By using this framework, you can build a native application that in fact reflects an embedded web browser and a single-page HTML.

Adobe PhoneGap will perfectly suit you if you need to make an application interface or a simple app with 10-16 screens with a small user audience, for example, for building enterprise solutions. The work on this framework requires expertise in creating single-page web applications (HTML, JavaScript, CSS).

Xamarin

Xamarin is another popular cross-platform technology that enables developers to create apps for various operating systems including iOS, Android, and Windows Phone. Xamarin provides a single shared C# codebase and allows testing applications on multiple devices using Xamarin Cloud.

It is noteworthy that Xamarin has a strong partner community with such giants as Microsoft and IBM.

In speaking of Xamarin features, the platform offers its own Xamarin Studio IDE, Xamarin. Forms interfaces, enabling programmers to share practically 100% of code across all mobile platforms. The framework provides native API access and allows programmers to integrate backends like Parse and Microsoft Azure.

Cross-platform app development on Xamarin requires dev expertise in C#, iOS, and Android. The plus is that applications will be fully native (though written in C#) and the codebase volume won’t exceed 40%.

Flutter

Flutter is rather a new cross-platform tool, released by Google to help developers faster and easier build modern applications for iOS and Android.

This open-source framework provides a single code base and uses Dart typed programming language, created by Google and becoming instantly familiar to anyone who has worked with Java or JavaScript.

Considering Flutter features, hot reload allows engineers to create UIs, implement product features, and make bug fixing. The framework provides flexible 3rd party SDKs, APIs for 2D, animation, gestures, and enables reusing the existing Java, Swift, and Objective-C code.

Inspired by the Facebook React Native model (about it a bit later), Flutter comes with the optional React-style tool and its own Material Design widgets.

React Native

React Native grew out of React.js, the latter created by Facebook to repair their chat. The main feature of React.js is a renderer layer, enabling the intermediate JSX language to render in HTML, which is already perceived by the browser.

At some point, the guys from Facebook realized that they can use exactly the same approach for their mobile solutions. The React architecture allowed to add a native renderer, turning JSX into native platform components. As a result, they received React Native.

For today, React Native is probably the most interesting and promising cross-platform development framework. Being based on the “write once, run anywhere” paradigm, this tool enables to create beautiful modern applications.

React Native is based on the idea of putting interface from JavaScript cubes. It doesn’t use the browser or WebView – only JavaScript API over native components. Therefore, programmers write JavaScript code, that works with the targeted platform native components, thereby transferring React.js advantages and usability from the browser to mobile applications.

The work with React Native requires expertise in JavaScript, Objective-C API, and Android Java API. This cross-platform framework perfectly suits for building modern high-performance applications.

Find out what are the top 5 advantages of the React Native framework.

Top comments (5)

Collapse
 
homerolara profile image
Homero Lara

How old is this article? Xamarin has been free for a few years now and Xamarin Studio has been replaced by Visual Studio for Mac.

Collapse
 
brooksforsyth profile image
Brooks Forsyth

React native is learn once write anywhere. You need to write separate ui's for Android and iOS.

Collapse
 
brunoborges profile image
Bruno Borges

Definitely not overall market's "top 4". Certainly your top four.

You are missing industry verticals leaders like Qt and Java.

Collapse
 
seanmclem profile image
Seanmclem

No Capacitor?

Collapse
 
epabst profile image
Eric Pabst

I'm excited to see what happens with Kotlin entering the multiplatform space. I'm already loving Kotlin with PhoneGap, but excited to use it natively.