Member-only story
11 Things to Remember for Your Next Flutter Project
An extensive checklist to kick-off a new Flutter project

Creating a new Flutter project is a blessing — fresh codebase, no legacy code (yet), null-safety, most recent versions of your favourite packages and so forth. But at the same time, you should make critical decisions at the beginning of the project that would lay the foundation for the future, such as tooling, packages, file structure, state management solution, testing plan. Otherwise, the project would eventually turn into just another bowl of spaghetti and meatballs. To avoid this, I have prepared a list of, in my opinion, the most important elements of the project that should be decided early on. I hope it would help you, therefore — happy reading!
Update 2022–09–15: I moved this blog to my personal website. For a better reading experience, up to date articles, interactive code examples and some extra content FOR FREE, check kazlauskas.dev.
1. Static code analysis
Linter is a static analysis tool that identifies and flags programming errors, warnings, style flaws in your code for you to fix them. In Flutter context, that’s one of the easiest things to implement and one of the most helpful ones to keep your code clean.
There are tons of different rules you can set for your code to follow, but I would recommend using one of the pre-defined sets that already follows the best practices based on the Dart Style Guide:
Whichever package you choose, you can always add or remove any specific static analysis rule in the analysis_options.yaml file.
2. Localization (l10n)

What is localization (l10n, in short)?
Localization is the adaptation of a product…