Insights

Where Do Cross-Platform App Frameworks Stand in 2020?

Where Do Cross-Platform App Frameworks Stand in 2020_11

“Ride or Die, remember?” It was an expression used by Vin Diesel in Fast and Furious 6 explaining that a person would rather die if he couldn’t ride.

A little tweak in the quote—“Release or Die”—and it stands true in today’s ever-evolving mobile app development world, where 2.5 and 1.8 million apps exist on the Google Play Store and the Apple App Store respectively. The apps on the Apple Store alone, are expected to increase by 181.1% by 2020.

In such a scenario, businesses wouldn’t risk missing their presence on either platform. Budgeting, however, is usually an issue if businesses go for native apps. This is why cross-platform app development has emerged as the unrivaled choice of businesses that aim for a presence on Android as well as iOS.

Before we move on to find out where this category of frameworks stands in 2020, let’s discover some basics about them.

What is Cross-App Platform Framework?

At the TechCrunch Disrupt conference in San Francisco, Mark Zuckerberg said:

“The biggest mistake we’ve made as a company is betting on HTML5 over native.”

However, the world of software has transformed a lot since Zuckerberg made that statement in 2012. Today, the future is in the hands of cross-platform app frameworks.

Cross-platform app development frameworks allow developers to create mobile applications that are compatible with more than one operating systems, in this case, iOS and Android. It provides them with the ability to write the code once, and then run it anywhere for other platforms too, thereby enabling to release a product/software faster, safer, and with better quality.

The Difference Between Native and Cross-Platform App Development

Native vs cross-platform is a never-ending debate that has kept the tech community divided for years. There are a few experts who prefer native apps over cross-platform apps, on the other hand, companies like Uber are coming up with their cross-platform app framework—Ribs— to rewrite their driver app.

Both native and cross-platform app development technologies are in a constant state of evolution. This changing nature of technologies signals that these topics should be revisited from time to time to check which of these options is currently leading the game.

  • Native app development eschews the complexity of creating a sustainable product that spans multiple platforms and instead focuses on generating a competent design that stays close to the target platform–Android, iOS, etc.
  • Cross-platform frameworks seek to generate an app that reaches out to as many followers of your brand as possible by covering a wide number of end devices during the programming and creation process.

Native apps vs cross-platform apps_1

The Benefits of Cross-Platform App Development

Gautam Agrawal, the senior director of product management at Sencha stated that:

“Given the exponential increase in the cost of per platform development and the need for rapid time to market, cross-platform development is the way to go for the enterprise.”

Benefits of cross-platform app frameworks

a) Code Reusability

Ease of code reusability is one of the biggest upsides that hybrid app development offers. A single code can be used for multiple platforms. So, it’s half the effort and time as compared to native app development.

b) Cost-Effectiveness

It offers a relatively lower cost of development as compared to native app development since the code is written once and used for both (or more) platforms.

c) Consistency in UI Components

Cross-platform apps offer a decent extent of consistency in native UI components of the device. The look and feel is uniform.

d) Easy Hosting

It is easy to host on respective app stores once all the requirements have been fulfilled.

e) Cloud Integration

Integration with the cloud environment is easy. You can even integrate them quickly with enterprise-grade plugins thus offering universal compatibility.

f) Fewer Technical Barriers

Developers encounter fewer technical barriers as there is no need to learn specific languages like Objective-C or Swift. Proficiency in HTML, JavaScript, and CSS3 suffices for cross-platform app development.

g) Shorter Time to Market

Such apps offer a shorter time to market and a wide market reach. Since the turnaround is quick, the time to market is short. And as the app is available on multiple platforms at the same time, it saves the marketing effort.

eBook: 12 point checklist for hiring the best app development partner

Top 5 Cross-Platform App Frameworks

There are a number of cross-platform app frameworks out there, each with their own set of pros and cons, however, as per the following trend where we have picked the most competitive and top-performing frameworks available in the market today.

1. Xamarin: Loved by Developers, Trusted by Enterprise

Xamarin was launched in 2011 as an independent cross-app development framework but was later acquired by Microsoft in 2016, thus lending it more credibility than before.

It is an open-source framework that was launched to solve the problem of disjointed native technology stacks, which made mobile app development a difficult and expensive affair.

Xamarin cross-platform app framework architecture

Pros of Xamarin

a) Xamarin app development uses C# for coding, meaning that it works seamlessly on an array of platforms (including Android and iOS).

b) Xamarin has a strong community of over 60,000 contributors from more than 3,700 companies.

c) Share more than 75% of your code across platforms, for “write once, run anywhere” ease.

d) A single tech stack for faster development

Cons of Xamarin

a) It is expensive for enterprises. Xamarin is a framework that comes free for individuals and startups. However, enterprises are required to buy a license for Microsoft’s Visual Studio.

Xamarin is one of the cross-platform app development frameworks price

b) Xamarin is not recommended for apps that demand heavy graphics because each platform has a different method for visually laying out screens. A UX/UI-rich application is advised to be implemented natively.

Xamarin is not recommended for heavy graphics apps

c) It also offers limited access to certain important libraries that the app developers need for mobile app development. Also, since the core of its user-interface creation is not mobile, creating the UI is time-consuming.

Xamarin cross-platform development framework comparison

Apps Made with Xamarin Cross-Platform App Framework

  • Fox Sports
  • Alaska Airlines
  • HCL
  • American Cancer Society
  • BBC Good Food

2. React Native: Learn Once, Write Anywhere

React Native is an endeavor that Facebook launched in 2015, and it did cause a wave in the market for hybrid frameworks. Within a few years of its introduction in the market, it is already one of the most popular ones (and the most trending one amongst the 5 cross-platform app frameworks discussed in the blog).

React Native Architecture

Pros of React Native

a) Up to 80% of a codebase can be shared across platforms, depending on the complexity of the app.

b) Apart from code reusability, it allows you to preview results right away, besides offering ready-to-apply elements, thus shortening the developing time considerably.

c) “Hot reloading” feature enables developers to see changes made in code within seconds not minutes as when using native technologies.

d) React Native focuses on UI to a great extent rendering a highly responsive interface.

e) It also gives you access to certain great native functionalities like accelerometer and camera. The result it renders is a high-quality native-like user interface.

Cons of React Native

a) React Native is not fully a cross-platform app framework. To use some functions like camera or accelerometer you have to use native components, so there will be a separate code for Android and iOS.

b) Since the framework is not built in conjunction with iOS or Android, it lags behind the native platforms at times. This is one of the reasons that led Udacity to stop investing in React Native for new features.

Udacity and Reactive Native failure

c) React Native lacks consistency when it comes to releasing the updates.

d) React Native improves the speed of development, but also increases the duration of the debugging process, especially on Android.

Also, in the Stack Overflow ‘Developer Survey Results, 2019’, React Native was found in the category of dreaded frameworks for the first time.

Most dreaded frameworks 2019

Apps Made with React Native Cross-Platform App Framework

  • Instagram
  • Bloomberg
  • Pinterest
  • Skype
  • Tesla

3. Flutter: Beautiful Native Apps in No-Time

Flutter is another open source and free cross-platform framework for creating native interfaces for Android as well as iOS.

Yes! I can read your minds here.

You might be thinking Google announced Flutter recently in February 2018 at Mobile World Congress and released its first version on December 5th, 2018, then what made me mention ‘Flutter’ in this list of cross-platform app frameworks.

PS: In May 2019, Google announced the availability of the new stable build, Flutter 1.7.

Haris comment on Cross-platform app framework blog

Remember, Flutter is a cross-platform app framework maintained by Google, the very same organization that develops the Android Native Framework. The other reasons that made me include Flutter in this list are backed by a survey held by Stack Overflow.

In the Developer Survey Results, 2019 Flutter is amongst the top 3 most loved frameworks and it added another complexity to the existing popularity of the Reactive Native framework.

Most loved frameworks 2019

Pros of Flutter

a) “Hot reloading” feature enables developers to see changes made in code within seconds not minutes as when using native technologies.

null

null

b) It is an ideal framework for MVP development. Instead of spending extra money and time on two separate apps, you can build a Flutter mobile application quickly that looks native on both Android and iOS.

MVP development using Flutter app in android and iOS

c) Flutter is based on Dart, an object-oriented programming language that developers have found rather easy to acquire the skill for.

d) Flutter has a full set of widgets in Google’s Material Design and in Apple’s style with the Cupertino pack.

Flutter widgets

e) Many ready-made solutions for native Android and iOS apps enable you to work with Continuous Integration platforms like Travis and Jenkins.

Cons of Flutter

a) There is limited TV support with apps built on Flutter framework i.e, Flutter offers no support for Android TV and Apple TV.

b) Though by the virtue of being developed by Google, there are several libraries with ready-to-implement functionalities, Flutter still lacks with respect to native development.

c) Since Flutter-enabled apps use built-in widgets and not platform widgets, therefore the size of the app is usually bigger. Currently, the smallest possible app made with Flutter can weigh no less than 4MB.

Apps Made with Flutter Cross-Platform App Framework

  • Alibaba
  • Google
  • Google Ads
  • Tencent

4. Adobe PhoneGap: Build amazing mobile apps powered by open web tech

PhoneGap was previously known as Apache Cordova. It is owned as well as sourced by Adobe. It is a simple cross-platform app development framework that uses HTML5, CSS, and JavaScript.

Pros of Adobe PhoneGap

a) It allows you to share the application with the team to garner their feedback.

b) It also offers a cloud solution in case you want to create your app directly.

c) Features like access to third-party tools, a large community (the one behind the free and open-source Apache Cordova), and a large number of plugins, make it better than its competitors.

d) It uses an intuitive desktop as for mobile app development and then serves the app created on the desktop to mobile devices connected to it.

Cons of Adobe PhoneGap

a) PhoneGap is not recommended for high-performance applications and hardware intensive apps like gaming apps due to its poor performance and lack of UI Widgets.

b) PhoneGap is dependent on iOS SDKs to build an app and downloading these SDKs requires a Mac.

c) Apps built with PhoneGap to tend to go a little low on performance as compared to native apps

Apps Made with PhoneGap Cross-Platform App Framework

  • Wikipedia
  • TripCase
  • FanReact

5. Ionic: Make App Creation Lightning Fast

Ionic is an open-source cross-platform app framework and licensed under MIT. It uses HTML5 for translation. Very similar to AngularJS in design and structure. It also inherits a few design elements from iOS as well as Android. It allows you to build native-like hybrid apps for Android and iOS as well as progressive web apps.

Ionic cross-platform development framework comparison

PS: Ionic has introduced Ionic React: One codebase. Any Platform. Now in React.

Pros of Ionic

a) Ionic is based on a SAAS UI framework designed specifically for mobile operating systems. It provides numerous UI components for developing robust applications.

null

null

b) The Ionic framework allows you to ship continuously. From automated native builds to live updating and CI/CD, Ionic Appflow addresses the entire mobile DevOps lifecycle.

c) Ionic is backed by a vibrant community of more than 5M developers in over 200 countries.

Cons of Ionic

a) The knowledge of AngularJS becomes almost a necessity if one wants to go beyond basic apps.

b) Designing in-app navigation is complex because of its not-so-easy-to-use UI-router.

Apps Made with Ionic Cross-Platform App Framework

  • IBM
  • ING
  • SAP
  • NASA

Conclusion

Cross-platform solutions are effective, however, they did not gain enough mileage since their birth due to fragmentation in mobility platforms. Now that the mobile app development world is largely divided into two large platforms— Android & iOS—cross-platform development is expected to experience much more advancement very soon.

The question is which out of mentioned cross-platform app frameworks should you choose? The straightforward answer: it depends.

No doubt, the answer sounds a bit diplomatic, but the reality is your cross-platform app framework choice depends entirely upon what you want to achieve.

Contact net solutions to build a cross-platform app

Amit Manchanda

About the Author

Amit Manchanda is working at Net Solutions as Project Lead and has over 9 years of experience in technologies like ASP, Adobe Flex, and Android. He has been part of SME (Subject Matter Expert) Group for RIA applications. He possesses a sound understanding of technical requirement/problem analysis and resolution for providing the best solutions to clients. He is passionate about his work and enjoys interacting with his team. In his leisure time, he loves to listen to music, watch cricket, and play with his daughter.

Leave a Comment

James

4:20 AM, Nov 07, 2019

For an app that provides a document access feature potentially being able to download the doc from a backend. Also a text messsge feature from admin screen sending a text to groups of usersn . What would use? I am thinking of hosting the app on aws and making use of there database services. Any advice, not sure which framework to use?

Rick

2:00 AM, Jun 07, 2019

"Xamarin is not a free ..." - It is literally completely free. So are the classes on microsoft learn to learn xamarin

"Xamarin offers limited access to certain important libraries that the developers need for mobile app development." - All native app ability is available in Xamarins api. There are also thousands of Nugets (such as Xamarin.Essentials) to help make things smoother.

"Also, since the core of its user-interface creation is not mobile, creating the UI is time-consuming..." -Has drag and drop to create UI if xml doesn't tickle your fancy. Takes seconds to build a ui...

"Community support is also not that great as of now; at least not as much as certain other hybrid frameworks offer." - Stackoverflow has 36k+ tags concerning Xamarin, and there are literally hundreds of thousands (300k+) of posts on the official forum https://forums.xamarin.com/

Akash Lomas

7:02 PM, May 17, 2019

Xamarin development require IDE like Visual Studio. I prefer Visual Studio for Mac as this is best for developing cross platform applications targetting iOS and Android. Visual Studio has three editions Community, Professional and Enterprise. Based on your need and checking with licensing terms one may use Community edition for free. But for development agencies having Visual Studio may cost you 45$ per month for Professional edition or 250$ per month for Enterprise.

The detailed comparison on features is available here https://visualstudio.microsoft.com/vs/compare/ and
cost of subscription is explained here https://visualstudio.microsoft.com/vs/pricing/.

Reza Bon

12:21 AM, May 17, 2019

Miss information on this article. "designing in-app navigation is complex because of its not-so-easy-to-use UI-router"
9 years of experience in technologies... How many years in Angular?

Aleksej Zaicev

3:33 AM, May 01, 2019

A have read a lot of posts from a variety of bloggers, but unfortunately, nobody mentions Nativescript, which is the one of the main competitors to React Native, which offers Vanilla, Angular and Vue support. Why have not you mentions this framework? It is free and licensed under Apache 2.0. The community still growing and they already have a lot of plugins available to enable native features both for Android and iOS (not sure about Windows 10).

Brandon Minnick

2:46 AM, Apr 20, 2019

"Xamarin is not a free cross-platform app development framework. The price can, in fact, cause a budget predicament for businesses, especially startups."

Xamarin is 100% free and included in the free edition of Visual Studio, Visual Studio Community Edition

Haris

7:07 PM, Jan 29, 2019

"Google is still testing Futter in its beta phase. So, the version in the market right now is not a stable one, which is also not supported by Continuous Integration (CI) platforms such as Travis or Jenkins."

I wouldn't agree with this.Flutter recently released 1.0 version also I'm using Flutter for past 6-7 months and I done CI with it.You have it documented very well and there is CodeMagic CI just for Flutter.