DEV Community

Cover image for React Vs Flutter: what's the best option?
Mohamed
Mohamed

Posted on

React Vs Flutter: what's the best option?

A while ago, I wanted to be a mobile application developer and that made me confused about which stack I must go along with.
After some googling I found that React Native and Flutter are my best options but that made me more confused, and I start asking about which one is best for me as a Django backend Developer.
thereafter I decided to go with React for some reasons that I'll mention:
1 - Learning React Native will make you obliged to Learn JS and all its framework Including ReactJs
2 - React Native allow you to code once and publish your application for Android and IOS ( cross platform )
3 - React Native provides developer the control over the native components of the OS

Top comments (10)

Collapse
 
happyer profile image
happyer

Choosing between React (specifically React Native for mobile development) and Flutter for a project depends on various factors including project requirements, team expertise, and the specific needs of the application. Here's a comparison to help you decide:

React Native
Language: Uses JavaScript, one of the most popular programming languages, making it easier to find developers.
Community & Ecosystem: Has a large and mature community with a vast number of libraries and tools.
Performance: Offers good performance, but slightly less than Flutter due to the bridge it uses for native component interactions.
Development Experience: Familiar for those who have worked with React for web development; offers hot reload for a smooth development experience.
UI Components & Design: Provides native components, giving the app a native feel but can be limiting in terms of custom UI.
Stability & Maintenance: Backed by Facebook, it's a stable choice with good long-term support.

Flutter
Language: Uses Dart, a less popular language compared to JavaScript, which might lead to a steeper learning curve and difficulty in finding experienced developers.
Community & Ecosystem: Growing community and ecosystem, but not as extensive as React Native's.
Performance: Generally offers better performance than React Native due to its direct compilation to native code and the absence of a bridge.
Development Experience: Offers hot reload and a good set of development tools. The learning curve might be steeper for developers not familiar with Dart.
UI Components & Design: Excels in customizable and complex UI creation, as it doesn't rely on native components.
Stability & Maintenance: Supported by Google and has been gaining traction rapidly, but it's newer compared to React Native.

Considerations for Choice:
Project Requirements: If you need more complex, custom UI and graphics, Flutter might be more suitable. For applications that rely heavily on native functionality, React Native might be a better choice.
Developer Expertise: If your team is proficient in JavaScript, React Native might be easier to adopt.
Codebase Maintenance: If you're planning to share a codebase between web and mobile, React Native, along with React for web, can be advantageous.
Performance Requirements: For applications where performance is a critical factor, Flutter has a slight edge.
Long-term Perspective: Both are backed by major companies (Facebook for React Native, Google for Flutter) and are being actively developed and maintained.

Ultimately, the "best" option depends on your specific project needs, team skill set, and long-term maintenance plans. Both frameworks have their strengths and can be used to build high-quality, performant apps. At the same time, Flutter or ReactNative code can be generated through Figma to code tools such as Codia.AI.

Collapse
 
raysca_93 profile image
Raymond Ottun

One thing to also bear in mind is leveraging existing skills. Dart/Flutter is a slightly different paradigm than JS/React though Dart is very similar to JS

Collapse
 
sa11erto5n profile image
Mohamed

and dont forget to mention the high demandable skills that you earn by learning JS

Collapse
 
lumsdendigital profile image
Ruaidhri Lumsden

Reason 3 is enough on its own. React Native uses JS to invoke actual native elements whereas Flutter uses some really weird and glitchy abstractions.

Collapse
 
sa11erto5n profile image
Mohamed

yes exactly.
i dunno why people choose Flutter after knowing this

Collapse
 
monawwar profile image
Monawwar Abdullah

Well, I was also skeptical about working with Flutter.
I have built several production apps with React Native and React JS both. After trying Flutter, it felt fast and smooth, the developer experience was much better than React Native I must say. In the beginning looking at the nested widgets was a bit nasty, but believe me once you get used to it, it's awesome.

Thread Thread
 
sa11erto5n profile image
Mohamed

i intend to use both of them

Collapse
 
fatihkurtl profile image
Fatih Kurt

2 and 3 are also in flutter, but react was a good choice, if you had chosen flutter you would have had to deal with darts and darts is a freak language. Good luck.

Collapse
 
sa11erto5n profile image
Mohamed

i did really tried dart and it felt like am dealing with a total chaos.
thank you

Collapse
 
fatihkurtl profile image
Fatih Kurt

I know because I wrote Dart, it was a disaster, react may also be difficult at first, but you will be comfortable when you get used to it. as an extra I can also recommend vue.js