Why and how am I learning Flutter?

Wilton Ribeiro
Flutter Community
Published in
5 min readApr 7, 2019

Hey everyone, in this article I’m going to talk about why did I start to learning Flutter and the Dart Language. How I’m doing this and what is my strategy to keep focusing. I hope to help will to start our keep on your journey with Google’s Framework to mobile development.

So let’s start it

My Experience as mobile developer

I’m a Software Engineering student, but was in the high school that I had a first meeting with the mobile development, and believe or not, it was with the Windows Phone(in that time I really loved the OS). The experience with WP was amazing, I loved the C# language and how to build the applications. Unfortunately, the WP was discontinued by Microsoft and so I had to make one decision, migrate to the Android development.

I already built Android apps using Java and Kotlin😍, at that point, I have nothing to complain. The way to build native apps always was fascinating to me including the manner how to build the UI(User Interface). But now you might be asking, when did you get noticed about Flutter?

Love at first sight

When i saw my first Flutter app running

If you don’t know yet what is Flutter, it’s Google’s mobile UI framework for crafting high-quality native interfaces on iOS and Android in record time. Using Flutter you can write with same code base(in Dart) native apps to both platforms. I was in a project which we needed to build an app to iOS and Android, even without a Swift or Object-C developer in the team. So I thought about React Native and Flutter. The first try was the React Native, my experience with RN was too short(so don’t judge me ✌️), but one of the things that I didn’t like was the large dependence with third-libraries, from navigating between screens until UI components you need to import packages to the project.

So, my second try was the Flutter, and I can’t say more, I loved it. At first sight, I thought that learn Dart would take a long time and could be a problem but don’t. The Dart Language, at least to me who came from other languages with the Object-Oriented paradigm, was extremely intuitive and easy to understand. The way how to build the UI, took my attention! All common widgets standardized by Material Design or to iOS with Cupertino is available in Flutter, that’s you just need to import another library if you need a really specific UI Widget, and even in this case, is really easy to create a custom Widget with Flutter. The docs about every each Widget and classes in Flutter is really detailed and understandable to all developers.

How am I learning ?

I always loved to test myself, but not to prove that I’m able to do something, but to prove that I’m able to keep trying even with failure. So when I realized that Flutter was a great choice to learn, the next step was to learn, and as an effective way to learn, I choose the practice. As said before, create simple apps can be really easy, mainly if you keep your focus is always the same kind of application to build or problem to resolve. So yes, I started from the beginning.

The first thing that I did was build a simple application and played with the Flutter functionalities like navigate between screens, setState(), understand about StateLessWidget, StateFullWidget, inheritedWidget, and others. That’s a great way to explore, even still superficial, what the frameworks offer to you. And so when I realized that I knew enough to keep going, I started with more ambitious projects.

Especially in the software development context, some problems you will just appear when a project becomes bigger, so keep trying something small forever will not improve any skill and will not help you to know new questions and get new ways to do similar things. Knowing that, I searched to UI concepts to simulate it using Flutter, and it helped me a lot. I’ll share here some of my concepts created:

Inspired on Grocery Shop by Cuberto

Another one:

Inspired on Tasty Burger by Tubik

Doing this, helped me to apply, in Flutter, things like Project Design Patterns, Tests Cases, Animations, Streams, State Management, Responsive Design, and other great things that like creating my own Widgets to each project.

Some tips …

Start from the beginning, it means to don’t skip steps in your journey of learning, Flutter or any other technology. When you don’t understand a simple concept, it might create a really greater problem when you decide to learn something more complex.

Be part of the community, today I’m in four Dart/Flutter groups in Telegram, following Flutter Community on Twitter, Gitter, Github, Reddit, and others socials media. If you want to know more about the Flutter Community and their socials media, there is the link.

Enjoy the content that Flutter has already available to you. The Flutter documentation is amazing, and still, if you want something more interactive the Flutter Team has a great channel on YouTube, just for you.
And that’s it. I hope that you liked this article. Feel free to contact me by Twitter or LinkedIn. Bye Bye!

--

--

Wilton Ribeiro
Flutter Community

Software Engineering student. In love with Flutter and Golang.