Getting started with Flutter
Tags: flutter, ios, android
Published: 2020-04-21 05:42:00

![](https://cdn-images-1.medium.com/max/2000/1*QzNUKxZfxSK6E6smdvN5xg.png)

## TL:DR

### **Dart Programming Language**
1. [Dart Video Tutorial](https://www.youtube.com/watch?v=Ej_Pcr4uC2Q)
2. [Study Notes on Dart Video Tutorial](https://github.com/adityatyagi/dart-tutorial)

### **Flutter**

 1. [Flutter: The Big Picture](https://www.pluralsight.com/courses/flutter-big-picture)
– [Notes on the very basics of Flutter](https://github.com/adityatyagi/flutter-tutorial-notes)

 2. [Flutter: Getting Started](https://www.pluralsight.com/courses/flutter-getting-started)
– [Notes on Stateless Widgets](https://github.com/adityatyagi/flutter-stateless-widgets)
– [Notes on Stateful Widgets](https://github.com/adityatyagi/flutter-stateful-widgets)
– [Notes on Animations and Gestures](https://github.com/adityatyagi/flutter-animations-and-gestures)

 3. [A To-Do App](https://github.com/adityatyagi/todo-app-flutter)

 4. [Creating layouts with Flutter](https://www.pluralsight.com/courses/creating-layouts-flutter)

Starting with a new tech-stack is always exciting. But the excitement soon fizzles out when you hit the first road-block. I am no different and had a plethora of these emotions — excitement as well as anguish during my first 2 weeks on Flutter.

I understood a number of things, both technical and non-technical while embarking on this new journey. This is what I discovered:

## The Tutorial Tsunami

When you decide to learn a new tech-stack, looking out for tutorials is the very first step. The thing is, with large number of choices, comes confusion. A single search for “***Flutter tutorials***” on Google gives back about 2,47,00,000 results in 0.69 seconds.

Now the obvious choices are YouTube, Udemy and blogs on Medium. There are some amazing blogs and YouTube playlists on getting started with flutter but I wanted something more robust. Something more organized, something which also validates my learning (in the form of a certification).

This is where I decided to take advantage of the current situation of Pluralsight offering their courses for free for APRIL’20. I was already enrolled for the JavaScript path and because I fell in love with their content, I decided to give Pluralsight a shot on Flutter too! Thank you Pluralsight!

The point I am trying to make here is that do not go for random videos on random topics in a fairly random order. Try to go with a teacher/mentor who can provide you with information and topics to study — IN A PARTICULAR ORDER.

This is what Pluralsight gave to me — a direction.

## Sharpen your axe first
>  “If I had five minutes to chop down a tree, I’d spend the first three sharpening my axe.”
>  – Abraham Lincoln

Therefore from the above analogy, I decided to first learn the very basics. Not the basics of Flutter itself, but the programming language Flutter uses — Dart Programming Language.

This proved to be great decision because while going through the Flutter tutorials, I could follow the nomenclature being used by the instructor. Be it syntax being followed or OOPS concepts that Dart uses — there was not 1 moment of “WHAT THE FUCK IS THAT” or “WHY THE FUCK HE DID THAT”

The resource I used for learning Dart was graciously offered by [freeCodeCamp.org](https://www.freecodecamp.org/) on its YouTube channel with collaboration with [Mahmud Ahsan](https://github.com/mahmudahsan/).

[Dart Video Tutorial](https://www.youtube.com/watch?v=Ej_Pcr4uC2Q)

[Study Notes on Dart Video Tutorial](https://github.com/adityatyagi/dart-tutorial)

## Diving into Flutter

After skimming through Dart and getting my Object Oriented Programming (OOP) concepts refreshed, I decided to move to Flutter. One thing that I would like to say on record is:
>  The Flutter community is lit af!
>  – Aditya Tyagi

I knew that picking up a random flutter tutorial would can turn out to be a bad decision, and the funny thing about these decisions is that you come to know that you fucked up when you are half-way into the tutorial!

Therefore I turned to the community for some advice and they did not disappoint me! I knocked on the doors of Google Developer Groups (GDG) on Flutter and tweeted to some of the Google Developer Experts (GDE) on Flutter and they graciously answered/helped!

To name a few:

* [Pawan Kumar](https://twitter.com/imthepk)

* [Vivek Yadav](https://twitter.com/viveky259259)

* [Ayush Shekhar](https://twitter.com/ayushshekhar17)

* [Amandeep Singh](https://twitter.com/learn_n_share)

The courses/apps I went through for learning the VERY BASICS of Flutter (in the very order I went through them) are mentioned below. And while pursuing it, I compiled some notes using **README** files on each repo.

 1. [Flutter: The Big Picture](https://www.pluralsight.com/courses/flutter-big-picture)
– [Notes on the very basics of Flutter](https://github.com/adityatyagi/flutter-tutorial-notes)

 2. [Flutter: Getting Started](https://www.pluralsight.com/courses/flutter-getting-started)
– [Notes on Stateless Widgets](https://github.com/adityatyagi/flutter-stateless-widgets)
– [Notes on Stateful Widgets](https://github.com/adityatyagi/flutter-stateful-widgets)
– [Notes on Animations and Gestures](https://github.com/adityatyagi/flutter-animations-and-gestures)

 3. [A To-Do App](https://github.com/adityatyagi/todo-app-flutter)

 4. [Creating layouts with Flutter](https://www.pluralsight.com/courses/creating-layouts-flutter)

Now, I know these are free just for April’20 and it might get paid till the time you land on this article! But I want to bring forward a point here, as in why I chose to go ahead with Pluralsight instead of other YouTube tutorials.

## Why Pluralsight?

My first encounter with the platform came when the company decided to open the gates for everyone (make the platform FREE) for April’20. I stumbled on [JavaScript Learning Path](https://www.pluralsight.com/paths/javascript-core-language). I was blown away by the sheer quality of content and how well the topics are structured. Thus, I decided to learn Flutter from Pluralsight. Though the platform doesn’t have much material on the same, but its good-enough for a beginner like me.

The second factor is that I wanted to make most of the opportunity, the opportunity of accessing Pluralsight’s content for free — and to get certification for the same.

## Beware of these pitfalls

One thing that you always have to keep in mind is that Flutter is relatively a new thing therefore it is also changing/updating at a speed you and I will barely be able follow. Thus, the video tutorials you are going to follow, always check when was it uploaded as the packages being used in the tutorial might be deprecated.

I wasted a lot of my time on version incompatibility issue while developing the To-Do app. Turns out, the tutorial was shot/uploaded in late 2018 and its already 2020. Therefore, the packages being used or the syntax had breaking changes. Make sure you follow MOST UPDATED VIDEO TUTORIALS only.

But then video tutorials are prone to this issue. That’s the reason I prefer blogs over videos.

## In conclusion…

Things are just getting started!

Anyways, jokes apart — the first 2 weeks were exiting as well as pretty intense. It is not easy to learn a framework/programming language which is fairly new in the tech-world. But the one thing I am sure off is — apart from becoming a Full Stack Web Developer, after I am done with Flutter, I’ll be able to develop apps for iOS and Android devices. In other words, it will be insanely cool!

Drop your thoughts/suggestions/advice in the comments below or hit me up on twitter [@secondbestcoder](https://twitter.com/secondbestcoder)  

### Originally published on [adityatyagi.com](https://adityatyagi.com/)