I’m joining #100DaysOfCode again – Flutter time

You might remember when in December 2018 I started my first #100DaysOfCode. The plan was to learn Vue and Node.js. Node.js to pair it with my Django knowledge and Vue to use it instead of Angular, as I didn’t like it too much.

Midway the process, I found that just learning the basics of Vue and Node.js wasn’t enough, so I decided to focus on just Vue and keep using Python frameworks such as Django or DRF (I just love Python, what I can do? 😊) instead of Node.js.

Long story short, before finishing the 100 days challenge I was using Vue in my job. I don’t know if I would still have it if I didn’t knew Vue.

(BTW, here’s a list of what I learnt during the process)

Why do I want to learn Flutter now?

I’ve used a lot of languages and frameworks in my short life as a programmer (professionally, barely less than 2 years). Does that mean that I KNOW a lot of languages?

Hell, no.

But I have learn which ones I like and which ones don’t, which are useful and which ones are dying (and why. I’m looking at you, PHP).

So, after experimenting, I’ve decided to stick to just a small number of languages and frameworks. This way I’ll learn a few techs, but having a deep understanding of them; the ones that will become my bread-and-butter.

As you have just read, for the front end I use Javascript (as if where any other option!) and the Vue Framework.

For the back end, I use Python with the Django and Django Rest Framework. Maybe I will learn Golang for fun in the future. Also, even if I don’t like Javascript very much (but I’m comfortable with it) I could learn Node.js as there are a lot of jobs out there.

So, web development wise, I’m covered.

I can learn more languages to have more “tools” for my job, but at the end they just do the same, better or worse, but the same.

Learning React or Ruby On Rails won’t open any doors to me. Also, I’d rather know very well few technologies, than a lot of them on a basic level. Jack of trades and all of that.

That’s where Flutter comes.

Flutter logo

Flutter is a Dart Framework powered by Google that lets you create Native apps for iOs and Android.

That means that with only using Dart, we can create iOs and Android native apps. With only one language. With only one source of code.

You don’t need to learn Java (or Kotlin) and Swift (or Objective-C) to create the same app.

You want to add a new feature? Just add it in ONE app, then build the application to iOs and Android. That’s it.

Flutter 1.0 was released barely half a year now and it is a new and upcoming technology I’m happy to learn and see how will fit in the future of mobile development.

And Dart language is really cool and easy to use.

It seems like a blend of Javascript syntax, with the cool core methods that Python has, with a touch of C#.

Also, has a cool Visual Code debugging tool, the dev-tools add on and a lot of features that make your life easier.

And don’t forgot about the cool animations too!

Flutter animations gif

And now, a question to you: What are you going to learn on your 100 Days of Code challenge?

You can follow my (almost) daily progress on Twitter at @DavidMM1707, and learn more about my first #100DaysOfCode