Learning Flutter

 I've been learning Flutter in order to help my team out with a new project we are taking on. At first I was skeptical, since cross-platform frameworks usually end up sacrificing something to run on so many different platforms. However, I was really impressed with Flutter, especially when I saw our teams app running in the web, on Windows and on an Android phone, and it looked good on every device!

I started out with the Flutter Development Bootcamp by Dr. Angela Yu on Udemy, where I quickly learned the basics of getting an app set up, changing the app logo, and the core structure of a Flutter application. I wasn't sure about the everything-is-a-widget structure at first, but it ended up making so much sense! I always felt like building something that looks amazing was within reach, and the auto-format always made my code look great. It reminded me of components in React, although I think I prefer widgets.

I ended up building several simple applications while following with the tutorial, before I had to get focused on the actual application my team and I were to be building. Most notably I built a stylish BMI Calculator and a simple Weather app using Android's location services.

What I liked about Flutter:

  • Widgets are easy to use
  • You can peek at the Flutter code and existing Material widgets
  • It's quick to get an MVP up and running
  • There are loads of Dart packages available to use

What I didn't like:

  • Dart is a good language, I felt it similar to TypeScript (I've heard it compared to Swift and Kotlin, but I haven't worked in those languages) but it isn't really used for anything other than Flutter, so it's hard to justify a framework that uses a specific language that you won't use on anything else.
  • Flutter for the web is a bit tricky. It went much better than I expected and actually most of my development has been on a web app, but it's not perfect. Ultimately we want a cross-platform app, so Flutter makes sense, but if you are focused on a web app then I would stick to a web focused framework.


Popular posts from this blog

API's in C#

Using WebRTC to build a videophone in React and TypeScript

Reviewing WPF and MVVM