It was the summer of 2020. My second semester just finished and I was exploring different things that I could learn. I had many options like Web dev, ML, App dev, and Game Dev. I tried game dev but I couldn't connect with it. I tried a Vuforia course for Unity but once again I couldn't get interested in it.
I decided to try out app development. When I was searching for courses or tutorials on Youtube, I came across this site called app brewery. They were offering a 6-hour free Flutter basic BootCamp. In 2020, Flutter was still very new and not that widely accepted. Just like game dev and Vuforia, I decided to take a chance with Flutter. Today, I am happy that I took that chance.
Today I will tell how I learned Flutter in 2 weeks(not mastered it.) and how you can do it too.
I started the free BootCamp and completed 6 hours of videos in 2 days. I don't know if it was Angela Yu's teaching style or I was so much interested in app dev but those 6 hours really flew by. The 6-hour course was just a small tiny part of the whole course which was on Udemy😐.
I realized that this was just a free section and I need to buy the whole course. I didn't have many options at that time because at that time there wasn't a proper playlist or a huge course on Flutter on Youtube. I was hesitant at the start but I bought it for around Rs 455. It is probably the best Rs 455 I have ever invested.
I saw 3-4 hours of content daily and it took me 9 days to complete the Udemy course. The course duration was 29 hours. I was not only watching the videos but I was coding along as well. Coding along the tutorial is one of the best ways to learn something. I was understanding every part when I was coding and if I was stuck somewhere I used to google things.
In that course, I created 4-5 apps. To be honest, the whole Provider part went above my head and I wasn't able to grasp it properly but apart from that, I learned a lot of things. When the course ended, I had a good idea about
- All the fundamental widgets in Flutter
- Basic animations in Flutter
- Adding assets to Flutter
- Adding audio to Flutter apps
- Creating app icons & Splash screens
- Making HTTP requests to fetch data from API
- Connecting Firebase to Flutter and using Firestore Database
- Google Auth using Firebase
I was still a beginner because I implemented all these things by watching video tutorials. I was very enthusiastic and I wanted to explore things on my own. So, I decided to build an app from scratch on my own. 👷🏻♂️
So, I decided to build an algorithm visualizer. The app was used to visualize 4 sorting algorithms and 2 searching algorithms. I learned a lot from this project. I used new widgets, faced a lot of errors in animations, and watched youtube videos to learn new things.
I fetched data from an API to show the details of the algorithms. I connected the app to Firebase and implemented the google auth (this was totally not required). My codebase was messy since I was a beginner but I was happy that I was able to build stuff without watching any tutorial video.😄
I don't know how many hours did I spend building this app. Probably the whole day. I was engrossed in it and I was enjoying building this personal project. The project looks very basic now but at that time it was a huge achievement for me.
After Day 14✌🏻
Once the app was built, I realized that I have learned a lot of new things in the last 5 days. I quickly realized that building stuff is the way to go. In the next 2 months, I created around 2-3 more apps where I was using all the concepts that I learned in the Udemy course. I was also adding a few new things on my own.
Remember how I was not able to wrap my head around Provider? I decided now is the time that I should learn to use Provider. Until now, I had a good idea of how widgets work how data is passed in an app and how the states in the app work. So I started reading articles on Medium and read some parts of the official docs on Provider.
I didn't get good at it quickly but yeah with time and practice I got better and better.
My advice to someone who wants to learn Flutter would be
To just pick one good course or any free Youtube course. I have also made an article on the top 5 free Flutter tutorials on Youtube.
Code along with the tutorial. Don't just watch. Try to experiment on your own. Search for solutions when you face an error and don't rely too much on the course.
Once done with the course, build something. It can be anything. You can read this article to get some ideas.
Don't jump into fancy words like state management, design patterns, app architecture when you are starting out. First, just learn to build a simple app with a set state and the basics of Flutter.
After building 2-3 apps on your own, start searching for internships. An internship is the best way to get real-world exposure to how Flutter is used in the industry. You will learn so many new things. I will need to write a separate article on my learnings from the internship...
If you don't get the 'interested vibe' from Flutter after watching the starting modules of a course, don't do it. Just like how didn't do game dev and Vuforia just for the sake of it.
Go check out this article if you are a beginner and want to know some good practices to keep in mind while using Flutter.
With this, we conclude our article. I hope you got an idea of how I learned Flutter in 14 days and how you can do it too if you follow a proper structure.
You can appreciate and support my blogs via.
Also, let's connect on Twitter. Follow CSwithIyush for more amazing tutorials, tips/tricks on Flutter & DSA.