Flutter by Google vs. React

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Flutter
Score 8.2 out of 10
N/A
Flutter is an open-source mobile application development framework created by Google. It is used to develop applications for Android and iOS, as well as being the primary method of creating applications for Google Fuchsia.N/A
React
Score 9.3 out of 10
N/A
React is a JavaScript library for building user interfaces. React enables users to create interactive UIs. Design simple views for each state in an application, and React will update and render just the right components when data changes. React is available free and open source under the MIT license.N/A
Pricing
Flutter by GoogleReact
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
FlutterReact
Free Trial
NoNo
Free/Freemium Version
YesNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
Flutter by GoogleReact
Best Alternatives
Flutter by GoogleReact
Small Businesses
Swiftify
Swiftify
Score 9.0 out of 10

No answers on this topic

Medium-sized Companies
Swiftify
Swiftify
Score 9.0 out of 10

No answers on this topic

Enterprises
Swiftify
Swiftify
Score 9.0 out of 10

No answers on this topic

All AlternativesView all alternativesView all alternatives
User Ratings
Flutter by GoogleReact
Likelihood to Recommend
7.9
(0 ratings)
10.0
(0 ratings)
Usability
-
(0 ratings)
10.0
(0 ratings)
Support Rating
-
(0 ratings)
10.0
(0 ratings)
User Testimonials
Flutter by GoogleReact
Likelihood to Recommend
Flutter is well known for native app development, if you have android studio installed on your system, you can quickly start using it. This might not be the best choice for you if you do not wish to learn a new language, i.e. Dart and you do not know it already.
Read full review
React is a JavaScript user interface construction library that works well for:
  • Developing web apps with dynamic and complicated user interfaces.
  • creating reusable UI elements that may be used in other applications.
  • creating single-page applications with dynamic content updates that don't require a page reload.
  • The Virtual DOM's effective updating mechanism allows it to handle large volumes of data updates.
React, on the other hand, might be less suitable for:
  • Websites that are simple, stagnant, and have no interaction. Other libraries or simple HTML, CSS, and JavaScript may be a better fit in such circumstances.
  • Web sockets may be a better choice for applications that need real-time updates, such as chat or gaming apps.
  • When creating mobile apps, React Native is a better option.
  • Server side rendering only, as React is designed to run on the client side.
Read full review
Pros
  • It is powered by Google, so a great technical community is backing it.
  • The development of native apps is an easy process using Flutter.
  • As it is an open-source tool, we can use it without paying anything.
  • It provides nice UI options.
Read full review
  • Solid backing by large organization (Facebook) thats committed to keeping the development on the project. In my mind, this is the number one priority for any library because without this: time is wasted on getting up-to speed on a library that you will never use, have a codebase with a library thats hard to maintain because few years down the lane, hiring devs to maintain an unsupported library is very difficult.
  • As with any libraries, open source community's support is critical for success of any framework because this allows for more pre-built components that could be used right out-of-box => makes Development using React a breeze.
  • React's Stateful and Stateless components make organizing your code a breeze. These components would also allow for writing clean Unit Tests on the logic.
  • React's component lifecycle. It offers a variety of lifecycle methods, that allows for handling different scenarios of loading and manipulating data in the UI.
  • I found React's documentation very well maintained with plenty of examples explaining each feature.
  • Responsiveness is a very important criteria in selecting a UI and React is very responsive. It does some neat optimizations on re-rendering using virtual DOM and would only re-render parts of the DOM that changed. These optimizations makes React Applications feel really fast.
  • React Native would allow for building applications that span across web and mobile interfaces (iOS and Android). This makes learning React even more enticing, because using a single library, you could build applications that span across Web, iOS and Android.
  • create-react-app is an effort by Facebook (creators of React) that makes getting started with React really easy. It does all the heavy lifting of configurations for you and allow you to focus on just development.
  • Small footprint, minified React + React DOM is under 150Kb, that makes loading UI's with react really fast.
  • React + Enzyme (backed by Airbnb) + Sinon + Mocha + Chai makes unit testing the UI components fun and improves the overall maintainability of the project.
Read full review
Cons
  • Occasionally updates to the Flutter SDK result in wide-sweeping changes that seem to not be thoroughly tested and considered. Flutter sometimes evolves too fast for its own good.
  • While the 3rd-party Flutter package ecosystem is vast and rich, 1st-party support for basic things (audio/video playback, battery information, Bluetooth services, etc.) are lacking. You are occasionally forced to rely on an open-source package for use-cases that other platforms have native support for.
  • Documentation, particularly around testing, is lacking. While there are some great docs, like the Dart Style Guide, many Flutter-focused support documents are lacking in quality and real-world usability.
  • Flutter allows you to architect an app however you want. While this is a great feature, it also adds complexity and leads to the current state of Flutter's state management, where there are 50+ options on how to organize your app, with very little official guidance or recommendations from the Flutter team. For a beginner, this can create decision paralysis.
Read full review
  • React's state management can get hairy if you have a deeply nested component and need to pass things up or down the tree very far. This is where libraries like Redux come in, however.
  • The progressive nature of its development and change cycles can leave information outdated online faster than other frameworks. This can make finding help or documentation on 3rd party sites frustrating.
  • The learning curve on "thinking in React" can be slightly higher than other more familiar patterns of web development.
  • Building an app in it can be cumbersome to set up with webpack, but things like Create React App can get you going in a jiffy.
Read full review
Usability
No answers on this topic
There are a few things that may take some getting used to when coming to a modern JS frontend. Tools like Babel and Webpack (or abstractions that hide their details from you) are often a starting point and JSX can be confusing at first. But assuming the developer is already familiar with modern frontend tools, React is a very natural fit and makes creating user interfaces a joy.
Read full review
Support Rating
No answers on this topic
Since it's open-source and very popular, the community support for React and related tools and libraries is excellent. There are a lot of people using the same tools, and so issues tend to get fixed quickly and "recipes" are easy to come by. And since it's backed by Facebook, they have a dedicated engineering team working on the progression of React.
Read full review
Alternatives Considered
I have experience with react and React Native. I would say that the idea behind all those frameworks are quite similar. However, I found the javascript-based frameworks a bit more accessible as you could utilise your javascript knowledge. Here, Flutter works with its own language. This has advantages and disadvantages sometimes. I found the community around javascript frameworks bigger and therefore sometimes more helpful. However, Flutter does a good job here as well. I think the main argument for Flutter is its usability for less experienced developers. If you do not have knowledge in javascript or other programming languages then I think it is much easier to start with Flutter than with another framework like react. I think the package that you get form scratch is better than in the other frameworks were you have to set up and learn a lot more before you can start.
Read full review
There are other options for building SPAs, and the two most common aside from React are Vue and Angular. React has been the leader of the pack for a while and has been an innovator. Angular is good for companies that want an opinionated framework so that it standardizes practices. However, Angular is known to be more difficult to work with and unnecessarily complex. Vue is seen as taking the best from React and Angular, and it is built for incremental upgrades. Vue has a passionate and growing user base, but it hasn't quite caught React in popularity.
Read full review
Return on Investment
  • The rapid development capabilities of Flutter allow us to build apps we could not have previously considered commercially viable, opening new revenue streams.
  • Free and open licensing made adoption very easy (ie. free/low cost!).
  • In comparison to Qt, our time spent arguing with build tools and perfecting development environments has decreased substantially.
Read full review
  • Since we're still in the conversion cycle, all the data is not in. But React has had a positive impact on Developer productivity and the ability to produce efficient, highly flexible UX. This in turn, enhances our customer experience, which is generally the most important component of our ROI.
  • Conversion has been difficult since it requires a change of mindset. Most developers have adapted quite well, but the process has been lengthy, and 2 years in, we are still not fully converted. This essentially is a temporary negative impact on ROI.
Read full review
ScreenShots