So this is it. This is the 26th and the last post in this series. It has been a long and fun journey and a great learning experience. I have really loved writing this series and the tremendous amount of support I’ve received from everyone.
Is Flutter Any Good?
I have been doing Android Dev for almost 4 years now and I have had my fair share of experience with cross-platform app dev (cordova, ionic) in the past. Over the past two months I was regularly working with both Android and Flutter and that puts me in a great place to compare them.
Working with Flutter is joyous, fun and easy. The more you use it the more you fall in love with how pleasant the overall development experience is.
Flutter has a lot going for it. To list a few:
- Dart is easy to pick up and anyone coming from Android/Java background will feel right at home with it. I feel it’s the perfect fit for attracting existing mobile devs towards Flutter.
- Writing UI using Flutter is really easy. In fact I remember few weeks back I had to build a
CollapsibleToolbarin Android and the amount of code I had to write just to make it work was huge compared to how easy it is with Flutter’s
- The documentation is really great. So much that its the first place I look at whenever I have to read about anything.
- The community is super helpful. For a framework this young, the amount of help available on StackOverflow and Github is really overwhelming. Be it on Reddit or Telegram or Facebook, you’ll always have people willing to help you out with your problems.
I am happy that I was able to complete almost all the features (except voice messsages) which I had originally planned to. The app is completely functional now. Here’s a sneak peek.
Experience as a Blogger
At first I was afraid of blogging. The fact that it’s going to be out there in public and people are gonna read it and talk about it, made me feel nervous. How will it be received? What if I fail to complete the app? Will I even be able to complete the series?
The first blog in the series was honestly the toughest to write. I had no clue where to start from. I was always under the constant pressure to deliver 100% accurate content. But in the end it all worked out well and all those fears are gone. I’ve learned that its okay to be wrong sometimes, admit it and correct it when pointed out. That it’s okay if once in a while my blogs are not well received. All of it gave me satisfaction and made me more confident than ever before.
At the time of writing this post, my blog has accumulated 1,04,153 reads. I have more than 1000 followers and have been consistently among the Top 20 writers under Technology category on Medium.
The app just touched 250 stars and has 35 forks on Github.
I received a lot of suggestions and feedback and while I tried to implement few of them, there are few feature requests still pending. I plan on doing that in the coming days whenever I get time.
I’m going to continue working on the app. Supporting and helping out the people who have been following along/will follow along, when they read the series. The app is open source and there certainly is always some room for improvement. Feel free to raise a Feature Request or just Star the repository. Anytime I find something which can add some value to the series, I’ll add it in a separate bonus section. in this post.
A Big Thank You!
To all the people who took out time and sent me those appreciation texts on Linkedin/Twitter/Instagram after reading my posts. Thanks to Faraz Khan for the app’s icon and constant suggestions and feedback. Thanks to Unsplash for the Cover Arts,and Undraw for their great illustrations.
To all of you for reading along and for your feedback and support.
How Can You Contribute?
- Open issues with suggestion of better approaches or ideas for the app.
- Connect with me on Twitter or Linkedin or Instagram.
- Star the Github repository.
- Share the series on Twitter.
- Follow me on Github.
Posts In This Series
- 60 Days Of Flutter : Building a Messenger from Scratch
- 60 Days of Flutter : Day 1 : Creating the App
- 60 Days of Flutter : Day 2 : Setting Up A CI With Flutter
- 60 Days of Flutter : Day 3–4 : Building a Chat Screen in Flutter
- 60 Days of Flutter : Day 4–5 : Widget Testing With Flutter
- 60 Days of Flutter : Day 6–7 : Implementing a Slideable Widget Using Bottomsheet in Flutter
- 60 Days of Flutter : Day 8 : Changing The Launcher Icon and Implementing GestureDetector
- 60 Days of Flutter : Day 9–10–11 : Creating Awesome Register Screen in Flutter
- 60 Days of Flutter : Day 12–14 : Understanding BLoC Pattern in Flutter
- 60 Days of Flutter : Day 15–17 : Implementing Registration Screen using ‘flutter_bloc’
- 60 Days of Flutter : Day 18–19 : Unit Testing in Flutter using ‘ mockito’
- 60 Days of Flutter : Day 20–21 : Unit Testing a Bloc in Flutter
- 60 Days of Flutter : Day 22–23 : Building a Modern Contacts Page in Flutter
- 60 Days of Flutter : Day 24–26 : Building a Animated Progress Fab and the Contacts Bloc in Flutter
- 60 Days of Flutter : Day 27–29 : Sending and Retrieving Messages from Firebase using BLOC
- 60 Days of Flutter : Day 30–32 : Firebase Chat UI using Stream and Bloc
- 60 Days of Flutter : Day 33–35 : Paginating data from Firestore using Firebase Queries
- 60 Days of Flutter : Day 36–38 : Seamlessly Upload Files to Firebase Storage
- 60 Days of Flutter : Day 39–41 : One UI Inspired Attachments Showcase Page
- 60 Days of Flutter : Day 42–45 : Creating the Home Page & Quick Peek BottomSheet for Messages
- 60 Days of Flutter : Day 45–47 : Adding Dark Mode to a Flutter App
- 60 Days of Flutter : Day 48–50 : Creating the Settings Page using Bloc
- 60 Days of Flutter : Day 51–54 : Unit Testing Firebase Providers with Mockito
- 60 Days of Flutter : Day 55–56 : Deploying Firestore Security Rules using Firebase CLI
- 60 Days of Flutter : Day 60 : Wrapping It Up
Show Your Support
Press the clap button below if you liked reading this post. The more you clap the more it motivates me to write better!