Top Mobiles app framework, cross vs native, how choose ?

João Nascimento
4 min readAug 13, 2020

--

Native frameworks like android studio and xcode from apple provide native ui/ux , development speed is slow, maintenance cost high, performance very high, programming languages objective C and Swift on apple, Java and kotlin on android, this frameworks are very mature and very few bugs, Ui native user experience look like native platform, the downsize is the speed/cost of development, because we have to create the app twice one for android and one for iOS, that increase the cost of product and maintenance.

If you want to use new features this is the best solution, whenever new releases are launch, the native is the first to have support and normally with lower bugs.

Cross frameworks like react native,flutter,ionic and xamarin allow developers to create mobile applications that are compatible with more than one operating systems, iOS and android. With this technology you can write code once and use for both systems, so the cost and time are lower. However if you want to use new features provide in native system, in the cross platforms they appears with some delay and probably with bugs or small amount of documentation, other problem of cross frameworks are lower performance and hardware compatibility issues.

Let’s talk about, the most used cross frameworks:

React native is a framework created by facebook, the official release 2015, is a free and open source, the programming language is javascript. Share code 90% approximately.

The components look like native ones, because react use really native components under the hood, when new components are update in native, they will be automatically available in react.

The react native can also be used in mobile, desktop and web apps extracting the code to other project using injection dependency.

Top apps with react native : Instagram, Facebook, Facebook Ads, Skype, Tesla

Advantages :

  • Faster build
  • Hot reloading
  • Fast apps
  • Simplified UI
  • Third-party plugins support
  • Larger community
  • Modular architecture
  • Simple user interface

Disadvantages :

  • lake of some custom modules
  • Native developers still needed
  • Lake of security robustness
  • Takes more time to inicialize
  • Managing the memory

Flutter is a framework created by google, the official release 2018, is a free and opensource, the programming language is dart.

Top apps : Xianyu app by Alibaba, Hamilton app for Hamilton Musical, Google Ads app

Advantages :

  • Hot Reload
  • Up to 50% less testing
  • Faster app development.
  • User-friendly designs
  • Perfect for MVPs
  • Less Code

Disadvantages :

  • Size of the developer community
  • Libraries & support is impressive but not as productive as native development
  • Continuous Integration support
  • Platform risk
  • App’s size
  • Flutter doesn’t support 3d
  • Use of phone hardware like take pictures, play music…
  • Doesn’t support third-party libraries
  • Flutter does not support Android TV and Apple TV.
  • Learning new language dart

Ionic is a framework created by Drifty, the official release 2013, is a free and opensource, the programming language is HTML, Javascript, and CSS.

Advantages :

  • Allows for rapid prototyping
  • Used for graphical apps or game development due to wrapper plugins.
  • Easy learning curve
  • Fast development and time to market
  • Can be developed mostly in the browser
  • Angular, HTML, CSS, and JavaScript
  • Lots of UI component available and easy to use
  • Lots of plugins, like cameras, fingerprint scanners, NFC, geolocation, Firebase, push notifications, and deep links.

Disadvantages :

  • Not suitable for high performance or UI intensive apps
  • Not meant for game development
  • Stability of Native plugins
  • Debugging requires more time because of unclear error messages
  • Crash of builds, randomly

Xamarin Share code 96% approximately

Xamarin is a framework purchased by Microsoft, the official release 2011, is a free and open source, the programming language is C sharp.

Advantages :

  • Performance close to native
  • full hardware support
  • code sharing
  • guaranteed continuous developer support
  • c#
  • time to market
  • quick prototyping with Xamarin.Forms

Disadvantages :

  • support access to open source libraries
  • high cost for professional use
  • community is significantly smaller
  • required basic knowledge of native languages
  • heavy graphics
  • larger app size
  • still takes time for Xamarin’s API to be updated, when when update every time need review code
  • stability issues

I hope you like the article, more is coming…

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response