Learning Flutter

2020-08-14 · 3 min read

Flutter is a cross platform UI framework that can be used to build native apps and web apps, developed by Google.

Learning Flutter

I'm a rather visual and hands on person when it comes to learning. I first took the Intro to Flutter Udacity course, and then played with some quickstart tutorials on Flutter page. My interest in Flutter peaked after Flutter Day.

Flutter Day Insights

  • Flutter x Codepen
    • Built on top of Dartpad
  • Dart DevTools
    • Debugging for apps made simpler
  • Null Safety

Dartpad is an web app that allows you to experiment with Flutter for all those who are lazy to download huge packages. I gave it a go but it was hard having to indent lines and close brackets so I gave into downloading packages and configured Andriod Studio with the Flutter plugin.

A good IDE really accelerated my learning as the suggestions made it easier to find Widgets you need and allow you to wrap Widgets faster and more effectively.

I like how there was a class for almost everything. Color, Padding, Align, Flex. The declarative form of coding was also something new to me.

One thing I disliked was that code readability was low, you had to trace Widgets down the widget tree as everything had to be wrapped in a child of something in order to apply a change. Imagine in css where you could apply padding, margins, background color, alignment in one class; but in Flutter, that might equate to multiple wrapped Widgets. Of course you can create reusable components in Flutter which would help with that.

Concluding Thoughts

I think learning Flutter is akin to learning any new framework or library. It was also a lesson on finding out how I learn best. For me, hands on practice and validation.

I decided to do a UI challenge to motivate myself to learn Flutter. I used DailyUI prompts and shared the outcomes on Codepen with the community. I felt validated when my pens got picked (the theme was Flutter coincidentally) and that spurred me to create more.

In all, it was a good time learning Flutter, I hope I can use it in a real world project some day!

Links

R
Rong Ying

Did you know this was built with 11ty and tailwind? And works even with Javascript disabled? Yeah I don't care either.