Author: Vadim Dyvliash
React Native is one of the most popular app frameworks out there, and for good reason. Ease of use, a modular nature, and a single code base are godsends for mobile app developers.
Your team no longer has to build a separate app for both iOS and Android. Just because React Native made the process easier, though, doesn't mean it's simple. That's where React Native app templates come in.
Pioneered by Facebook and released as open source, React Native has quickly become one of the most popular frameworks for mobile apps. Many popular apps that you already use are built on the platform, including Facebook, Instagram, Netflix, and Airbnb.
React Native vs Xamarin vs Ionic: Market and Community
React Native developer community has been growing much faster than Facebook had expected. To date, over 1.6K contributors have committed code to this framework’s codebase. In February 2016, over 50 percent of the commits were contributed by external users.
‘With so many people from the community contributing to React Native, we've seen as many as 266 new pull requests per month (up to 10 pull requests per day). Many of these are high-quality and implement widely used features.’
Martin Konichek, Ex-Software Engineer at Facebook, React Native team
Increasing interest in React Native can be also observed on Google Trends. The number of queries on Google Search about React Native has doubled over the last year.
Airbnb, Walmart, Skype, and Tesla are among the top users of React Native. Furthermore, the Facebook’s Showcase lists over 100 apps developed with this framework. We have also described some case studies of migrating to React Native in our blog.
React Native has new releases every two weeks, which means the developers get the latest features quickly. The project has over 61K stars, which makes it one of the most starred repos on GitHub.
Xamarin is one of the oldest cross-platform frameworks available. Founded in 2011, Xamarin community has grown to 1.4M developers across 120 countries. The project was acquired by Microsoft in 2016 and became part of its Visual Studio IDE. This is one of the key reasons why large companies such as Slack, Siemens, and Pinterest rely on Xamarin.
The technology is mainly used in enterprise environments and has gained many positive reviews over the years. Xamarin is used by over 15.000 companies in fields like energy, transport, healthcare and others.
There is also a rising supply of Xamarin developers. According to the Indeed stats, there is an increasing number of them, whereas the React Native developers are not as numerous.
The original Ionic version was released in 2013 by Drifty Co. The framework was built on AngularJS and Apache Cordova. Ionic uses web technologies like CSS and HTML5 to develop hybrid mobile apps. It requires PhoneGap/Cordova bridges to reproduce native behaviors and provide better user experience.
The technology follows the motto “Write once, run everywhere”. Therefore, the same code can be developed on a PC and is expected to run on any device. This practice allows software developers to save efforts by creating a single version of the software for all the platforms they intend to deploy on.
The company first announced the Ionic v2 at London Angular Connect in 2015, its stable version was introduced within two years. The framework was built on Angular which came with massive improvements over AngularJS. Although the set of Ionic 2 components is similar to its previous version’s, it offers performance improvement and better native experience.
On April 2017, Ionic announced the release of version 3. Thus, Ionic 3 is compatible with Angular 4 and supports for a more recent version of TypeScript. Ionic engineering also added lazy loading capabilities and new decorators.
By the way, lazy loading speeds up the initial load of the app, reduces memory consumption, and increases performance.
Ionic 4 is a radical rewrite with a focus on being independent of any particular framework. Thus, the Ionic team showed their original vision which was to build a UI Framework that could work with any technology a web developer chooses. This concept enables creating new apps with Vue or React using the Ionic web components.
However, while Ionic 4 seems very promising, it’s still in beta. So, if you plan to launch a new Ionic-based project, consider using older versions.
NPMTrends statistics show that in 2016 Ionic confidently took the leading position in the number of npm package downloads. However, React Native got ahead last year.
Arguably, Ionic is one of the most popular frameworks available. The technology is well funded (has raised $12.2M in total funding) and actively maintained:
According to the stats, there are 5M Ionic devs in over 200 countries worldwide. Over 75 percent of them build apps for commercial use. Besides, just over 41 percent are contract specialists writing on behalf of their clients, while 33 percent develop apps for their organization.
Diesel and McDonald’s built their apps with Ionic. Besides, Ionic was chosen to develop Microsoft Flow and The National Museum of African American History and Culture mobile apps.ESTIMATE PROJE
React Native vs Xamarin vs Ionic: Supported Platforms
Looking for professional mobile app developers? Contact our team!
React Native vs Xamarin vs Ionic: Performance Comparison
To begin with, the most fundamental difference between React Native/Xamarin and Ionic is the type of app being created. Ionic performs hybrid development: you create a website using CSS/HTML and then integrate it with a mobile app. Its appearance is no different from programs’ you can find on Google Play or AppStore. Thus, it can be downloaded and installed providing the similar user interaction as native. Actually, most users hardly understand the difference between native and hybrid apps.
Ionic is a reasonable solution for prototyping and rapid development, or for building a multi-functional app with minimum changes in the code base. Therefore, you can cover several platforms out of the same code base in a short amount of time. The created software is displayed identically regardless of the OS you have selected. It is possible to get access to specific mobile functionality (for example, camera, list of contacts or GPS sensors) with the help of PhoneGap or Cordova.
As for React Native and Xamarin, apps are developed to be compatible with any selected mobile platform. The native components built into the frameworks allow them to essentially “feel” native. Thus, everything a user can see in the React Native/Xamarin-based app will be displayed in a manner as close as possible to the native one depending on the specific requirements of each mobile platform. In most cases, exactly this style of development provides higher performance and responsiveness in comparison with hybrid apps.
An Ionic Survey 2017 demonstrates the hybrid approach to building mobile apps is overtaking native development. Two years ago, 20 percent of developers surveyed were building exclusively with native tools. To date, the results have decreased to 2,9 percent. Similarly, just over 32 percent of developers surveyed rely on hybrid-built apps instead of native.
What are the noticeable differences of cross-platform and native app performance?
John Calderaio, Full-Stack Software Engineer, developed two iOS apps to compare the performance of native iOS (Swift) and React Native. In the research, he shows how the basic elements of the same app are implemented using hybrid and iOS native development. He further measures and compares CPU, GPU, and memory usage of ea?h app to see which one performs better:
The mobile apps John built with React Native and Swift have almost identical physical appearance. As far as performance benchmarks are concerned, the React Native version used CPU less effectively (by over 10%), but benefited from GPU usage and occupied less memory than Swift.