Become a Flutter developer — Polo’s Starter Pack

Ana Polo
Flutter Community
Published in
8 min readFeb 21, 2022

Hi all!👋

These days I was thinking of starting to help junior Flutter developers in their first steps to get into this amazing framework, something similar to being a mentor.

I’ve been thinking about what would be the best way to help them and I realize that doing research on flutter resources and sharing with all of you will be a great idea to help and also to make this community bigger.

When I started learning Flutter on my own, I was a bit confused about how to start, what should I learn first, etc., so this article aims to help with different resources to make this path easier for all of you.

Also, sometimes I’ve talked with Flutter beginners and they asked me about courses, articles, and so on when them trying to learn, so I did research and shared with them, but in the end, the situation repeated itself over and over again… so… I asked to myself … It would be a good idea to have a place with all these resources?, and I think that the correct answer is YES!

There are tons of examples, tutorials, and more, so I’ve collected a few of them to share with you. If you know more, you can share it here to help others.

So if you’re reading this, it’s probably because you’re just getting started with the technology or know the basics and want to learn more about it.

This is a quick table of concepts that I think are important to keep in mind.

Flutter.

Dart concepts.

Common Widgets.

Context.

Pub.dev — Packages.

Responsive layout & theme.

State management.

Testing.

Navigation.

HTTP packages to connect with an API.

Flutter + Firebase.

Animations & Custom Painter.

Community.

** This table could change in the future **

Flutter

First of all, I’m going to share with you the official website and also the youtube channel where you are going to find a lot of useful information related to Flutter. In the Youtube channel are different lists of videos that I found interesting ( widget of the week, decoding flutter, the boring show, and so on).

So check it out!🙌

Dart concepts

To learn the main concepts about dart you have a lot of resources like codelabs, courses, articles, and so on.

First I want to share with you a quick video of why Flutter uses Dart as a language.

These are some of the resources about dart that I found interesting.

Common Widgets

This is a large topic to talk about it because there are tons of Widgets to learn, for now, I’ll share with you the official website where is a catalog of widgets, another of the Flutter Youtube channel with their list of “Widget of the week” where you are going to find a lot of examples of how to use each widget and also a “Container” challenge that I found interesting if you want to put in practice all the knowledge about the Container widget.

Context

This is something that every Flutter developer should know because in some cases there are misunderstandings and people uses it without logic and then have a lot of errors and headaches.

Here I’m going to share with you some fantastic resources that talk about context.

Pub dev & Packages

This is a website to find all kinds of packages that people created and shared with all the flutter devs to help them with their applications.

Also, you can create your own package and upload it there to help other developers.

Responsive layout & theme

Flutter could be used in multiple devices and environments (mobile, web, and desktop), and for that reason is super important to handle all the different sizes that you could have. To do that we need to create responsive layouts. You can do it in different ways, using MediaQuery, LayoutBuilder, packages…

Also, I want to mention the importance of using the theme in a good way. You need to follow some guidelines to have a good theming in your applications.

Here I’m going to share some examples and also for me one of the best packages to manage the theming if you don’t want to do it on your own.

State management.

This is an important thing to have in mind when you are building an application. There are a few packages that could help you to handle all the possible states of your app.

Also, Flutter provides a one way to change the state of your app thanks to the StatefullWidget class and setState method, but this is only recommended to use when your app is small or is something punctual.

Normally to handle the states of the apps the developers use one of the solutions that have in pub dev.

In my case I use Flutter Bloc, here I explain more about how to use it, but you can choose whatever you want depending on your preferences.

I’m going to share with you three of them. Links are from pub.dev if you want more info I highly recommend you visit the official websites for each state management.

Testing

If you want to be a good developer you should learn to test. In Flutter, you can do different types of testing like unit tests, integration tests, and widget tests.

Recently I wrote an article talking about testing for beginners, you can find it here.

These are great examples:

Navigation

If you need to change your page navigating to another you are going to need to use navigation. In flutter, you can navigate in different ways, and exists different solutions to do that.

HTTP packages to connect with an API

In most of the applications, you are going to need to connect to an API to get data and show it into your app. To do that in flutter you need the help of one of the HTTP packages. I think that these three are the most used.

Flutter + Firebase

With Flutter, you can use a lot of features that Firebase has nowadays. These are all the things that you can use per device.

Here you are going to find all the documentation.

Also, there are a lot of people doing great tutorials to teach other developers, and of course, the Flutter website has a few codelabs.

These are some of them.

Animations & Custom Painter

This is an interesting topic to learn in Flutter because animations and custom painters are going to make your apps more beautiful for the users.

You can use the widgets that Flutter provides you to do simples animations or you can create your own. Here you are going to find more information about it.

By the way, there are some examples of tutorials related to animations and custom painter.

Community

One of the best parts of being a Flutter developer is the community. There are tons of groups created to share, help and connect with other flutter devs. Probably in your country/city, there are one or more Flutter communities and if it's not, maybe it would be a good idea to start a new one, isn’t it?

These communities have a lot of impact on Twitter if you are interested in connecting with more flutter developers I highly recommend you go into Twitter. There you are going to find a lot of online events, Twitter spaces, articles, tips, and so on.

Something interesting nowadays is that all the Thursdays and Fridays are Twitter spaces to talk about different Flutter topics.

Additionally, if you identify as a female or non-binary and have an interest in the Flutter SDK you have a wonderful community called Flutteristas. I love this community.

Github repo

I’ve created a repository with the purpose of having all these resources and do it more collaboratively. If you know more resources that are interesting you can create a new PR to add it to the file.

I want to thank all the people who did the courses, articles, and examples to help others developers. If you are one of those flutter devs who shared your knowledge with us, thank you so much!

Let’s keep doing this community bigger and bigger!

You can follow me on Twitter.

Thanks for your time!

Follow FLutter Community on Twitter: https://twitter.com/FlutterComm

--

--

Flutter Community
Flutter Community

Published in Flutter Community

Articles and Stories from the Flutter Community

Ana Polo
Ana Polo

Written by Ana Polo

Software Engineer at Very Good Ventures. 🦄 Co-Organizer of @FlutterMadrid & @flutter_es communities. The organizer of @es_flutteristas. Github: AnnaPS 💙