DEV Community

Muhammad Uzair
Muhammad Uzair

Posted on

Flutter Vs React Native. Which one to choose in 2023?

React Native Vs Flutter

⚛️What is React Native?

React

React Native is a framework that combines the best parts of native development with React to build user interfaces. Facebook developed React Native in 2015. It is an open-source framework that is based on JavaScript.

It also provides a similar feature, using the same codebase to create cross-platform apps, thus eliminating the need to compile other technologies for creating mobile apps. Skype, Instagram, Uber Eats, etc., depends upon React Native for development. It lets you build mobile apps using only JavaScript.

These mobile applications are downloadable on Google Play Store and Apple Store. React Native is similar to React (JavaScript Library). So if you are a react developer, then you will find react native an easy path.

Advantages of using React Native

  • Uses JavaScript
  • Can create apps for multiple platforms using a single codebase
  • Understands the importance of code reusability and promotes it
  • Growing and active community
  • Helps in accelerating coding time

Disadvantages of using React Native

  • Not native
  • Does not provide innovative, out-of-the-box components
  • Limited choices
  • Abandoned libraries and packages
  • UI can be hampered easily and needs to undergo vigorous UI testing
  • Larger apps

🚀What is Flutter?

Flutter

Flutter is a cross-platform mobile app development framework developed by Google. It gives developers an easy way to build and deploy visually attractive, natively compiled applications for mobile (iOS, Android), web, and desktop, all using a single code base. Flutter is based on dart programming language.

A lot of big companies like Alibaba, Philips Hue, Hamilton, etc., choose Flutter for development. Moreover, Google frequently provides updates for Flutter, improving its performance with each update.

Now that you know what the two frameworks are, look at some of the differences between the two.

Advantages of using Flutter

  • Great UI
  • Has a number of widgets
  • Apps are faster
  • Helps build web apps (Flutter 2)
  • Well-structured documentation and community
  • Helps replicate and create the same UI for different devices

Disadvantages of using Flutter

  • Not native
  • Apps are larger
  • Has a limited set of tools

Conclusion

We really hope that this Flutter vs React Native article has given you some clarity and understanding about these two frameworks.

Overall, after all the above research, we can conclude that Flutter is a great choice to save time and money on mobile app development.

Top comments (18)

Collapse
 
alkadohs profile image
Alkado heneliko

I think people should build an App depending to their favorite language.
There's a couple of languages to choose out there, Java, kotlin,swift,Js,Dart, python etc
If you find one these is your favorite language then stick with that and you should be able to build awesome Apps.

If you try to consider weaknesses of the language, every language has weaknesses and you will find yourself at a crossroads and you don't know where to go because every place you will be told there are weaknesses.

Stick with your favorite language, build some apps until you see the weaknesses that people says.
Other than that, you'll fall into tutorial hell

Collapse
 
subrat611 profile image
Subrat kumar jena

💯 Correct

For a web developer it is easy to choose react native because of javascript and react.

But those who are new to android and want to build application for Android or cross platform then can directly pick flutter over react native.

Collapse
 
heyitsuzair profile image
Muhammad Uzair

Exactly 🚀

Collapse
 
heyitsuzair profile image
Muhammad Uzair

Appreciated ❤️

Collapse
 
cjsmocjsmo profile image
Charlie J Smotherman

flutter has been broken on arm64 for the past 4 months

github.com/flutter/flutter/issues/...

Collapse
 
cjsmocjsmo profile image
Charlie J Smotherman

As a follow up, with this version of flutter :

Channel master, 3.11.0-18.0.pre.6, on Ubuntu 23.04 6.2.0-1004-raspi

my flutter projects once again build on the RPI 4 (arm64).

Happy Coding

Collapse
 
heyitsuzair profile image
Muhammad Uzair

Yes, thats horrible. Hopefully they would get it fixed soon 🐛

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
cjsmocjsmo profile image
Charlie J Smotherman

Dmitry A. thank you for your kind word.

Let's talk facts shall we.

This:

  1. git clone github.com/flutter/flutter.git
  2. ./flutter/bin/flutter create hello
  3. cd hello
  4. ../flutter/bin/flutter run -v

Produces this:

ShaderCompilerException: ShaderCompilerException: Shader compilation of "/home/pipi/snap/flutter/common/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag" to "build/flutter_assets/shaders/ink_sparkle.frag" failed with exit code 1.

So yes it is a fact (as stated in the above mention bug report) that flutter is broken on the arm64 platform.

Fact #2 I have never used React Native, and with the small amount of research I have done on it, it just doesn't fit any of my use cases. It maybe a wonderful piece of software I don't know I've never used it.

Now that we have the facts out of the way.

I started using flutter to create a few desktop apps for the raspberry pi (I have 4 projects that currently fail to build). Like many others I chose flutter because of it's advertised cross-platform capabilities and it's integration with Ubuntu. But as stated above flutter has been broken on arm64 for over 4 months now so I am reevaluating my use of flutter for future projects. With the major layoffs and major cost cutting measures at Google I fear flutter will become another piece of scrap on Google's software scrap pile (I hope I am wrong, this is my opinion and nothing more).

On the plus side with all the down time from not being able to build my projects I have managed to learn Rust and I am currently researching Tauri for my Desktop UI's. From what I've read so far IPhone and Android mobile apps are coming soon.

Happy Coding Everyone

Collapse
 
jankapunkt profile image
Jan Küster

Even if your argument may be valid, this is not the kind of language we choose on this platform.

Thread Thread
 
heyitsuzair profile image
Muhammad Uzair

I agree with you

Collapse
 
kildo162 profile image
KhanhND

That right!

Collapse
 
heyitsuzair profile image
Muhammad Uzair

I appreciate your thoughts. I also prefer flutter over RN but the comparison should be kept so it will not confuse those who are beginner in field.

Collapse
 
raphaelnk profile image
Raphaël RANJAKASOA

Well, if you are good at React and you want to stick on it. I suggest to go for React Native. However, Flutter is a great one to build mobile app using dart. Anyway, thanks for sharing

Collapse
 
heyitsuzair profile image
Muhammad Uzair

Appreciated. Thank you for sharing your thoughts

Collapse
 
angeloromerop profile image
angelo romero parra

React native es muy rápido para crear aplicaciones, sobre todo con expo, además tiene muchas librerías qué hacen fácil el desarrollo de Apps

Collapse
 
m1ch3l99 profile image
m1ch3l99

Every body is neglecting that react native has removed the bridge communication and its a big boost in terms of performance.

Collapse
 
heyitsuzair profile image
Muhammad Uzair

That's incredible

Some comments may only be visible to logged-in visitors. Sign in to view all comments.