First Flutter Experience

05 June 2022

Flutter

I have been programming for two years now with Python and JavaScript. Today, I've decided to start a small project with Flutter and Dart. All in all, I would do it again, but I also know that it has a purpose and isn't good for everything.

Installation

The installation went flawless, although it is very annoying to set the Android SDK up, but once you get it, you're fine. All in all, the installation gets

Developer Experience

This one is a bit more complicated. I'll name the good things first, then come to the bad things.

The positive stuff

  • The best feature may be the hot-reloading. This feature is just great and works great, as well. It is also way better than the Vite hot-reloading.
  • I also like the fact that you build your UI in code, not with xml-files like in Java or Kotlin for Android.
  • What made me really happy was the fact that Flutter seems to use GTK on Linux, so native Wayland support, as well!
  • Config-files are yaml, not JSON!
  • The tooling is by far the best I've ever seen! Just so many small helpers which make your life way easier.
  • Some JavaScript syntax like 3 == 3 ? "Three is three" : "That can't be" is available in Dart.
  • The built-in debugger is great, nearly as good as the Chrome Dev Tools.

The negative stuff

  • I've just wanted to install a library to save user-preferences and I got a version-conflict which isn't solvable. This was bad. This really made me angry. The solution was to change to the beta-channel.
  • I don't like that you can't see from which import the function is coming you use. For example, in Python, you call package_name.function(), which is good (in my opinion), but in Dart/Flutter you just call function(), which can get quite confusing, but then the tooling helps you out.
  • I've just wanted a responsive grid, but this is way harder then it should be.
  • All of this with the classes is something you just have to learn. I am pretty sure that I'll love it after I get more into Flutter/Dart.

Conclusion

There is one sentence, which is very important for developers

Know the right tool for the right job

And this is definetely true for flutter.

Use Flutter... Don't use Flutter...
...for Multi-Plaftorm clients ...for websites
...if you aren't a designer ...if you want to have easy, full control about the design
...if you like the Google-Ecosystem (Firebase, ads, etc...)

I would use Flutter definetely again! It is such a great developer experience.

The time I would have spent designing things with CSS for the web, are done by flutter, but in Flutter I spend more time on the logic.

Web: More designing

Flutter: More logic

If you are interested, here is my first Flutter-project: github.com/mawoka-myblock/sd-replacement/sd_replacement_flutter

4 0