Published on

My Journey With Flutter So Far

Authors
Flutter Banner

Why Flutter

If you read my last post, I had been spending some time working with SwiftUI on a side project I had been working on. My overall experience with swiftui was great for building interfaces displaying data quickly, but I found doing much past that was cumbersome and clunky (not to mention the error messages made it nearly impossible to tell what broke your app when debugging sometimes). Additionally I wanted my friends with Android phones to be able to use my app as well, and realizing how long it would take me to develop a native iOS app alone I figured it was time to look into cross-platform frameworks.

There are already a ton of articles out there comparing different cross platform frameworks, so I don't want to turn this into a comparison of those. My main reason for picking Flutter was:

  1. I heard a friend rave about how great it was once.
  2. I tried React native and just simply did not like it.

With those considerations in mind, the only logically choice was Flutter.

Learning Resources

I spent some time in a few different resources in Flutter, and a few months into my journey I had a lot of friends show interest as well. Below I just want to list out some of the resources I used for learning that I'd recommend for anyone wanting to get started with Flutter, these are a mix of paid and free resources:

Free

  1. The Net Ninja - Flutter Tutorial for Beginners - Overall solid YouTube series getting you started with build an app in Flutter. I found this one to be paced well and covering a solid overview of the main points of Flutter.
  2. The Net Ninja - Flutter & Firebase App Build - I liked his approach on user models, and certain aspects of his approach to Firebase. though I felt like it was too simple (not neccessarily a bad thing!). Overall, while it was helpful, I ended up going with a different approach to working with Firebase.
  3. Reso Coder - I recently stumbled upon this channel when looking up some info on BLoC (more on that later). While I haven't seen too much of his content, overall, it seems like he's pretty knowledgable on Flutter and I will definitely be checking out his DDD in the future.

Paid

  1. Academind Udemy Course - This was the first Flutter resource I really went into. While I felt like his approach was slowly paced (I spent most of my time at 1.5x - 2.0x speed), I had one friend relatively knew to coding really enjoying his approach and already had made some solid looking at concepts with that applied knowledge. For the normaly sale price udemy offers around $15 I'd highly recommend this course, as its very beginner friendly, and covers flutter way more in depth.
  2. Fireship.io - This was one of the more expensive options, however I really appreciated how fast paced yet informative the videos were. I ultimately landed on his approach to using Firestore with Flutter (though modified slightly). While the pricest option on the list, it was well worth it for the knowledge gained.

BLoC

When first learning Flutter I saw many advising to stick with Provider for state since it was simple to understand and saw many avoiding BLoC, but after learning BLoC I only regret not learning it sooner. While I wouldn't say make BLoC one of the first things you learn about Flutter, I would say to spend some time learning it before you plan on making an App that you plan to release (If it deals with anything past really basic state management needs). It might have just clicked easily for me, but I really like how organized it keeps my code and separates out my business logic from my application.

Now What?

Hopefully over the next few months I will be publishing my first app! I have been working on it off and on since last year, and I really buckled down and switched to Flutter back in March. More info on that then!

For now, expect to find more updates soon on Flutter. I have a few topics I plan on covering that I wish I had read when I was first starting Flutter. If you have any questions or topics you would like to see, let me know in the comments below or reach out to me on Twitter.

Thanks as always!