If you have not yet, it is worth reading the previous part of this series for best context.
Flutter Web: Should I use it? (Part 2 — Performance)
While SEO with its scrapper and performance factors are definite considerations to take, they are not the only things you should consider when deciding whether or not to use Flutter.
While Web is probably the weakest side of Flutter at this point, that is very likely to change in the future, and especially if you are working on a larger or a longer-term project, what is true today is almost certain to not be so, or at least to a much greater extent further down the line, and possibly even a non-issue by the time the project is ready.
As I mentioned in the first post, you/your team are the only ones who can truly determine whether or not choosing Flutter is a good choice, you are the only one(s) in a position to fully understand the potential costs of any framework you choose for your project.
What am I/we Building…
What you are planning on building and what its intended purpose should be a strong deciding factor in which technology you choose, just because Flutter is the newest kid on the block does not make it the “obvious” choice.
Platforms required…
What platforms you need this project to run on from day 1, this is naturally a very important question, if it's for Web-only and the project is a smaller one that is customer-centric and will probably only take a few months, then Flutter may not be the best choice for that future “day 1”, as users, especially first time users, will be less happy with the performance of Flutter, modern internet users are used to not waiting, they are used to things being quick or near-instant, and right now, that is not the case for Flutter Web.
However, if you need to support multiple platforms, and Web is in fact more of a nice to have or a secondary entry point, then Flutter probably is the better choice, right now it’s closest competitor is React-Native, which only support Android and iOS, with Web being made available through 3rd party resources which will not have the same support and backing.
At the time of writing, Flutter was working on mobile, web, desktop, consoles, smartwatches, and even cars. Canonical has set it as the preferred language for Ubuntu applications, so if looking to grow your support base, Flutter is not only the best tool but the only one with such wide-reaching support.
Team skills…
Something that you always need to consider is the skills of your available team, while it is quite likely that few or even none of your team members have significant or possibly any skills with Flutter, it is not an extremely difficult language/framework to learn. Personally, I spent close to 8 years working almost exclusively with JavaScript libraries and framework and was able to pick up enough in a reasonably short space of time.
React to Flutter: One Developers Journey — Part 1
If you have an already skilled team of developers, they will have no trouble picking it up and there are some fantastic resources out there to help you one, ones I used personally are FlutterCrashCourse and ResoCoder on YouTube.
It’s a personal project…
This one almost makes it an easy choice to go for Flutter, while yes it has its flaws now, the technology and the community is growing rapidly, more and more companies are starting up teams to build applications in Flutter, and even if those teams are not going to be using Web, the way Flutter works is that no matter the platform, the code is the same. You write the code and it takes care of how things show up at their destination.
That makes it an invaluable learning experience for YOU as a developer, it can easily put you ahead of the curve for other applicants at your first or next job, even if the project itself is not great, it will still be something you can put on your portfolio, a GitHub link you can send along with your CV to show that you may have more experience than the next person.
It also shows initiative, a willingness and passion for learning and self-improvement. These are all things that hiring managers will value when picking between a group of potential candidates.
There is always value in learning a new skill, even if you do not end up using that skills, it helps develop you into a more experienced, more understanding and well-rounded developer, one who walks around with a toolbox instead of trying to make every project work for your only tool. You would not hang a painting with a sledgehammer now, would you?
Final Thoughts…
We have covered a lot of the things one needs to consider when choosing Flutter Web and to some extent Flutter itself. In the end, it is still an emensely powerful and capabable Framwork and therein lies it’s greatest value. Today it may have problems, but tomorrow it is likely to have solutions and I for one believe that it will be one of the bigger frameworks of the future.
In the final part of this series I will go through some suggestions and things to consider if you have decided that for you or your team, Flutter is the best way to go.
Flutter Web: Should I use it? (Part 4— I believe so)
I hope you found this interesting, and if you have any questions, comments, or improvements, feel free to drop a comment. Enjoy your Flutter development journey :D
If you liked it, a heart would be awesome, and if you really liked it, a cup of coffee would be great.
Thanks for reading.
Top comments (2)
You seem to be a constant presence in my weekly newsletter :)
I know that the next article is already out, but I am going to wait a couple of days before reading it. I need to spread my reading during the week.
Part 4 is the last of the series, first series I have written. Have a few drafts sitting in the queue, have to still decide what’s coming out next Sunday.