DEV Community

Cover image for Xamarin, React Native, Ionic: Cross-platform Mobile Frameworks Simple Comparison
Carl Conton
Carl Conton

Posted on • Updated on

Xamarin, React Native, Ionic: Cross-platform Mobile Frameworks Simple Comparison

Cross-platform development involves the use of special utilities (frameworks) to create an application based on the JavaScript family of languages. The whole structure and logic of the application is created with the help of such tools in JavaScript, and then turns into a native trigger element.


This platform was purchased by Microsoft in 2016.


Developers are invited to C # as a programming language. Xamarin is based on the application of the Mono platform.

All platform APIs are provided through C # layer classes.
It can re-use UI components on Android and iOS - Xamarin.Forms.

This solution can be a good idea if you have a ready-made C # -programmers team that needs to be switched to Mobile-development. It's also worth noting that due to the fact that Mono is used, performance does not suffer as much as when using JavaScript frameworks. Perhaps, one of the best frameworks for implementation of projects loaded with functional. However, it should be noted that there may be discomfort in the development of mobile applications in terms of tools, Android Studio and Xcode offer more rich functionality.

React Native

The framework is:

It is a logical continuation of React only in mobile development.
JavaScript is used as the programming language.
UI is native for each platform; UI as a function of the current state.
The basis for the FLUX pattern.

UI is allocated to separate components to provide state rendering. It is very important to properly organize the data-flow, as well as to establish interaction between the components. This is necessary for a good organization of the structure of the cod. Once you learn how to write for the web, you can easily start using the same approach only for mobile devices. Since the UI is isolated, you can achieve a large re-use of the code between the Mobile and the web solution.



Angular based framework; rendering is carried out in WebView. Orientation to mobile devices with a large number of controls, targeting mobile devices. If necessary, use the platform API, you need to use additional plugins. Obviously, lower speed of work in comparison with ReactNative and NativeScript.

As practice shows, in most cases in cross-platform mobile development JS-solutions are most effectively used as part of the dedicated application functionality working with native components; implementation of testing hypotheses associated with mobile applications. Complex cross-platform solutions are used in the "long", for the implementation of components like SIP-drain, mathematical calculations, graphics libraries.


The future of hybrid solutions, sometimes from the native Ul-components cannot be discarded, then it can to put business logic into cross-platform C / C ee libraries. Or it is important to make some pop-up window, or the settings screen, which can be easily implemented in JavaScript. Fortunately, there are no super universal solutions, why, fortunately? Thanks to the diversity of the world that it is possible to feel new technologies and find the most suitable solutions, and also to bring elegant approaches from neighboring technologies to the solutions being developed.

Top comments (1)

saint4eva profile image

Your introduction to Xamarin is not rich enough. Give it the same effort you have given react native.