Flutter — Breaking Development Trends. Should We Break Together?

Max Geek
Max Geek
Dec 14, 2020 · 6 min read
Image for post
Image for post

If you are a mobile or web developer I’ll bet you heard about Flutter. Also, I’ll bet that you are React or ReactNative coder and search for a more comfortable, faster, and better (for your job) alternative.

Let's be honest, React Native not perfect… We are at npm dependency hell, have problems with hot reloading, big app size, UI performance problems, and so on. But we are on a tradeoff about fast time to market, easy to find coders (thanks to JS), and JS on backends which allow us to share team between frontend and backend.

As of React Native developers let’s take a look at the new shiny thing that will make our life more happy and easy 🙌 — Flutter.

First impressions.

It’s a completely different installation process compared to React Native, but it’s easy enough. Just unpack the bundle and then install the VSCode plugin (I’ll use the VSCode but there are plugins for other editors).

Flutter guys make a really, really great VSCode plugin. It has “oh my god” debugging capabilities compared to React Native. It’s like coding in Java or C and use a debugger with a lot of features out of the box. Flutter debugger has very informative errors and warnings.

Image for post
Image for post

Ok, we have a spin on the test app, and Wow! There are a lot faster UI compared to React native. Very smooth animations and transitions compared to RN. Changes which was made in vscode instantly updated in the simulator which delivers a really great coding experience. Yes, sometimes it hangs while hot reloading and the simulator needs to be restarted. But be honest in RN it sometimes hangs too.

One more thing, it takes an eternity for the first build compared to the expo and react native. It’s not a problem but it shows that the dart compiler can be improved in the near future.

When you first read the test app’s flutter code you’ll see that it breaks all development patterns of the last years which was stick by React. There are classes and oop instead of purely functional programming, no redux/flux patterns (Flutter introduces bloc), strong types instead of dynamic, and so on.

It’s completely different from what we are used to in the last few years.

We can talk about Flutter and Dart all day long, so let’s do some summarisation:

👍 What I liked in Flutter:

👎 What I don’t like in Flutter:

Will I go with Flutter in the near future?

Image for post
Image for post

I’ll definitely go with Flutter, but there are some circumstances when to use it now:

Should I learn Dart?

Image for post
Image for post

No one knows what language would be #1 in 5 years, but for the present time, Dart is not even in the top 10 languages according to GitHub 2020 stats. But for example, TypeScript has dramatically surged for the past few years. Dart is not a new language. Google opened it to the public 9 years ago (2011), and positioned it as JS replacement and native support in Chrome browsers. But something goes wrong, and as we can see now Dart even not close to replacing the JS, but we saw WebAssembly support.

Dart language is intuitive for experienced polyglot developers, it’s like Java with C# and Swift mix. It’s easy to learn and read the code.

Personally, I would pray for the Dart to replace “the old and ugly” JS in the future 🤞. But for now, you should consider learning Dart deeply only if Flutter is your job.

There is one more thing about Flutter… Google.

Image for post
Image for post

Five years ago Microsoft was an “evil company” that buys all the stuff and destroys it. But time is changing. Microsoft became “an angel” for the devs because now they create or buy things and not destroy but evolve them: VScode, NativeScript, GitHub, TypeScript— they evolve a lot with Microsoft support.

But Google is a “bad partner” for the dev product.

Google is the creator and supporter of Dart and Flutter, and to be honest, it is struggling with its competitors in the devs community and dev tools. Even the google-code project was closed. Facebook with React, Microsoft with its C#, and TypeScript is far far more ahead. In my opinion, Google creates some great products for they local environment, then puts it to an open-source community and… and nothing ahead. Just “take and use it” and we are going to create the “next big thing”, support is slowing, enthusiasm is slowing. Even Go lang which was great at the start and we use it a lot a few years ago, just blown away from the top 10. And we as developers who love Go and used it a lot didn’t feel “protected and loved” compared to Python or NodeJS. And we switched to them, because of code maintainability, less time to market, and code costs.

Dart is not a new language, and Flutter shines only because react-native has some structural problems (and JS itself) and not because Google invests a lot in it.

The Startup

Medium's largest active publication, followed by +773K people. Follow to join our community.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store