Learning Flutter
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
- My Codepen DailyUI collection
- Github repo
Did you know this was built with 11ty and tailwind? And works even with Javascript disabled? Yeah I don't care either.