Why I Switched To Flutter

MobileDevBlog
4 min readJan 2, 2021
Why I switched to Flutter
Why I Switched To Flutter

My name is Andrew, I’m a Software Developer, and this is my first Medium story. Here I’m writing about my journey as a professional developer and how I decided to switch to mobile development using Flutter and Dart.

A long time ago I started my career as an Android Developer (first in Java, then Kotlin), I been working in this position for a few years. During that time I gained a ton of experience in a team of highly skilled developers. Then I decided to try web development because I was always curious about different aspects of development: front-end, back-end, mobile development — I wanted to try everything.

For the next few years, I was focused on web development, especially in React js. React is great, it’s very flexible and fast, especially in combination with Redux or MobX state management solution. I was happy with React but wanted to put my hands back on mobile development.

Back to Mobile Development

A few years after I heard about React Native and I decided to try it — why not. My connection point was the fact that as a mobile developer, I know the specifics of this field and I now know the web development with usage of React, so basically that was natural for me to try such kind of framework for mobile development. And I built a few commercial projects using React Native and unfortunately… I was not impressed.

At that period React Native had a lot of breaking changes and overcoming such kinds of issues was pretty time-consuming and painful. Another thing is that React Native uses JavaScript bridge to communicate with native modules and that was just not a good as it supposes to be in my opinion. The same thing is about documentation, deployment, Continuous Integration and Continuous Delivery, even some of the core features like router felt like a crutch. But this was my experience with React Native, I know a lot of developers who in love with this framework, they like the fact that it uses Javascript, they don’t care about some shortcomings of this framework and they just love it. But that was clearly not my case.

My Flutter Journey

In 2018 I heard about this new thing called Flutter. This is the cross-platform development framework and it uses Dart language which is new for me as well. And I was really excited to try it.

There was not that much information about even simple topics, so I started with official tutorials, example apps, I watched everything, learned every tutorial that I could find. And I loved it. From that time I switched to flutter development, I went all in. I was really excited.

But, there were a few challenges I had to overcome in order to start flutter development. For example, Flutter uses Dart language for building interfaces. I haven’t heard about the Dart for a while. The last time it was in 2011 when Google presented Dart as a replacement for javascript in web development, but it didn’t happen for some reason. So, Dart appeared to be very familiar to me. Dart is object-oriented, it has C-style syntax. It Influenced by modern languages like Java, JavaScript, Kotlin. Flutter Stateless and Stateful widgets are similar to React components and stuff like that.

A lot of concepts were familiar to me. But you know the old saying, which is that if you only know Delphi, then when you learn a new language, you will write Delphi like code. And this is 100% true. In order to write Dart-like code, I had to adapt to it and start to think in Dart when I was working on Flutter apps. And that required some effort, but I’m happy that I had switched to Flutter.

So, the main reason I decided to stay with Flutter is not only the fact that I can build cross-platform apps really fast: for Android, iOS, and now for Web. It’s also the fact that for me Flutter is the most productive and easiest tool to build whatever I want, despite the complexity of design and business requirements. Of course, it has some limitations, flaws, and bugs, but I feel that it's growing faster than others, I see the future in this tool and I’m satisfied with the quality of my work. And I think it’s the most important.

On my YouTube channel, I’m planning to share my knowledge, the things that I have learned so far, some kind of best practices in Flutter development, and the cool features that Flutter brings to the market.

I’m really excited about the content I’m going to share with you and I appreciate any feedback from you, likes, comments, suggestions — anything that can help me to bring more value.

--

--