This article provides 11 ideas to further improve Flutter skills, including attending meetups, writing a complete app, releasing an app, implementing CI/CD, writing a Medium article, contributing to open-source projects, learning about design, consuming Flutter content, understanding SOLID principles, learning about WebSockets, and understanding Flutter rendering.
Abstract
The article "Another 11 Ideas to Improve Your Flutter Skills Even Further (Roadmap)" offers additional ways for Flutter developers to enhance their skills and become better developers. The ideas presented include attending Flutter meetups, writing a complete app, releasing an app, implementing Continuous Integration/Continuous Deployment (CI/CD), writing a Medium article, contributing to open-source projects, learning about design principles, consuming Flutter content, understanding SOLID principles, learning about WebSockets, and understanding Flutter rendering. The author emphasizes the importance of these ideas in improving Flutter skills and provides resources and tips for implementing them.
Opinions
Attending Flutter meetups is a great way to connect with other Flutter developers and learn more about the framework.
Writing a complete app from start to finish is one of the best ways to improve Flutter skills.
Releasing an app on the app and Play Store is an important step in becoming a better Flutter developer.
Implementing CI/CD can help automate the process of building, testing, and deploying code changes, allowing for faster and more efficient development.
Writing a Medium article can help improve knowledge and understanding of a subject, as well as provide value to the community.
Contributing to open-source projects is a great way to improve skills and give back to the community.
Learning about design principles and practices is important for creating well-designed apps that improve user experience and stand out in a crowded market.
Another 11 Ideas to Improve Your Flutter Skills Even Further (Roadmap)
Introduction
My article 16 Ideas on How to Improve Your Flutter Skills was received well and I got the feeling that many people are interested in finding new areas to expand their Flutter skills. While writing more articles on diverse topics I found more areas that are essential to becoming a better Flutter developer which I would like to share with you.
In the other article, I proposed to expand your knowledge in areas like automated testing, push notifications, and animations. This time the article not only contains technical ideas like CI/CD, and background threats but also other ways that help you as a developer as going to a meetup or writing a Medium article. So let’s start with the fun and if you want even more inspiration, take a look at my other article.
Ideas
1. Go to a meetup
Attending a Flutter meetup is a great way to connect with other Flutter developers and learn more about the framework. Meetups provide opportunities to learn from experienced developers, ask questions, and network with other members of the community.
Flutter meetups are usually hosted by local community organizers and may feature talks, workshops, and networking events. Attending these events can give you insight into how others are using Flutter, and provide inspiration for your projects (sometimes the food and the drinks are also free). For me, these meetings have always been fun and had some entrepreneurial spirit that kept me motivated to create my apps.
2. Write a whole app
One of the best ways to improve your Flutter skills is to write a complete app from start to finish. It can be tempting to jump from tutorial to tutorial or focus solely on small code snippets, but writing a full app forces you to think about architecture, design, and functionality more holistically.
If you have no idea in mind I have a suggestion. Imagine you would like to go for a hike or another outdoor activity on the weekend but your weather app shows you that it could rain. For me, this is not a reason to cancel but for lots of people, it is. The suggested app would show you if necessary better weather that still seems to be realistic. Instead of rainy it would be cloudy, instead of 5 degrees it would display 8 degrees (Celsius). With this app, you can always convince other people to do your favorite outdoor activities. (Hit me up if somebody builds this. I would use it.)
3. Release an app
So after writing your great fake weather app, you have to release it on the app and Play Store to become rich. In the beginning, I underestimated the time that it takes to get your apps in the stores. You have to do things you have thought and you have not thought of before like setting a unique ID, building your versions, creating accounts for Google and Apple, creating a site for your privacy policies, creating different marketing tests, and much more. While doing this you learn a lot about marketing, iOS, XCode, Android, and more which can help you in your professional career.
Most of the release-related todos are covered in Johannes Milkes YouTube video which I highly recommend.
4. CI/CD
After experiencing the pain that it is to do everything manually you will be interested in automating the boring stuff to have more time for developing amazing things.
Continuous Integration/Continuous Deployment (CI/CD) is an important concept to understand for any software developer. It involves automating the process of building, testing, and deploying your code changes, allowing for faster and more efficient development.
You can use a tool like Codemagic which offers you a certain amount of free hours on their system but you can also run your pipeline on your machine which costs nothing. Here I can recommend an article from Roger Tan who explains how to set setup a Flutter CI/CD pipeline with GitLab.
5. Write a Medium article
I started writing Medium articles when we had a tech day at work about architectural patterns and I got the feeling that I did not understand the difference between MVC and MVVM. This led to my first article What is the difference between MVC and MVVM (for Flutter)? which was really fun writing and from which I learned a lot!
When you write about a subject and show it to a public audience you want to understand the topic. If I cannot explain something in a text, I don’t understand it and have to do further research to grasp the topic. With every article, I want to increase my knowledge a little and the feeling that people take something from it is really rewarding and keeps me motivated. So if you have a topic in mind, go for it and try out writing a Medium article for yourself and the community!
6. Contribute to an open-source project
Contributing to an open-source Flutter project is a great way to improve your skills and give something back to the community. By working on an existing project, you can learn from experienced developers, gain experience working with real-world code, and make meaningful contributions to a larger project.
There are many open-source Flutter projects available on platforms like GitHub, ranging from apps to plugins and libraries. To get started, you can search for projects that align with your interests or skills, and look for issues or features that you could contribute to. If you have no idea where to start I recommend the InAppWebView plugin which is probably a lot of work to maintain. Try to pick an existing issue and create a pull request to improve your skills and help the community.
7. Learn about design
As a Flutter developer, it’s important to not only have strong coding skills but also a good understanding of design principles and practices. Creating a well-designed app can improve user experience and make your app stand out in a crowded market. This can be important if you working with a design team and is even more important if you doing a project without a professional designer.
To improve your design skills, consider studying design principles such as color theory, typography, and layout. You can also look into user experience (UX) and user interface (UI) design, as well as best practices for creating responsive designs that look great on a variety of devices.
There are many resources available for learning about design, including online courses, tutorials, and books. I suggest reading an article like 7 Practical Tips for Cheating at Design, or reading a book like “Don’t Make Me Think” by Steve Krug (Amazon affiliate link).
8. Consume Flutter content
Following Flutter content creators and consuming Flutter-related content is a great way to stay up-to-date with the latest trends and best practices in Flutter development. Content creators can provide insights into their own experiences with Flutter, share tips and tricks, and provide valuable tutorials and resources.
SOLID is an acronym for five design principles that help developers create code that is easy to maintain, extend, and understand. The SOLID principles include Single Responsibility Principle (SRP), the Open-Closed Principle (OCP), Liskov Substitution Principle (LSP), Interface Segregation Principle (ISP), and Dependency Inversion Principle (DIP).
By following SOLID principles, you can create code that is easier to modify, test, and reuse. In Flutter development, applying SOLID principles can also lead to a more scalable and maintainable codebase.
To learn more about SOLID principles and how to apply them in your Flutter development, consider reading books such as “Clean Architecture” by Robert C. Martin. I suggest also watching the lecture from Robert C. Martin about it on YouTube which is not only about SOLID but also interesting. My article SOLID: Single Responsibility Principle (SRP) — Why Uncle Bob’s definition is not good enough is also about the first principle of SOLID.
10. WebSockets
WebSockets is a communication protocol that enables real-time data transfer between a client and a server. In Flutter development, WebSockets can be used to create real-time apps, such as chat apps, multiplayer games, and financial trading platforms.
For understanding WebSockets for Flutter I recommend reading the Flutter documentation and watching the video about Sockets with Dart from FlutterExplained.
11. Rendering
Do you know how Flutter renders? Do you know about the Widget, Element, and RenderObject trees? If not I can recommend this YouTube video from Flutter about rendering.
Conclusion
Do you have questions about one of the ideas or would you like something new? Please let me know in the comments. Any further feedback is highly appreciated!
If you liked the article clap (50x), highlight, comment, and share it. Not only but especially technical articles got disadvantaged by the new Medium Partner Program incentives. If you want to support your favorite (technical) writers on Medium, remember to interact with the articles. You find more information about this here: The New Medium Partner Program is Bad for Quality Writing!