Things to keep in mind if you build a web app with Flutter
The aim of this article is to give a heads-up to all the developers out there so that they can build and plan better web apps, set them up for success, and help avoid some embarrassing issues I came across.
Note: As of November 2020, Flutter for the web is still in beta. After playing around with some POCs, I felt it was a fit for my application requirements, so I went ahead with it for production.
I initially wanted to use Firebase Realtime Database, but Google has surprisingly yet to build the plug-ins for Flutter web. As such, I had no other choice but to use Firestore, which worked out pretty well.
Recently, I got an opportunity to work on an app from scratch with limited time and resources. After taking into consideration the requirements and constraints of the real-time application, I chose Flutter + Firebase.
No support for Flutter web so far for Firebase Realtime Database plug-in
As I was looking into the database options in Firebase (Firestore and Realtime Database), I realised only Firestore was supported for Flutter web, so I didn't really have any other options.
Even though Flutter is pretty powerful and comes with a lot of basic components of an application (such as routing, state management, etc.), when working on bigger applications, you will be depending on plug-ins. Before committing to your tech, think about the plug-ins you wish to use and their support.
Big kudos to the awesome Flutter community, as they have done some really amazing work building a wide range of plug-ins — even for Flutter web. This gives me a lot of confidence that Flutter web will only become more capable in the future.
The developer experience has been smooth as always. I had been using the iPad simulator to use the hot-reload functionality at the time of development, as it is not there for Flutter web.
So I have been doing my active development using the iOS simulators for the ease and speed of development, which brings us to the second lesson.
Yes, Flutter web is still in beta and I am not here to complain about that. I just want to give a heads-up to other developers so that they are aware of it and can mitigate accordingly.
I have been developing Android and iOS apps on Flutter before this project for a while and never faced any issues with the consistent performance of the apps on both platforms.
Both Android and iOS apps ran the same as expected, and I assumed the same with Flutter web. Unfortunately, that wasn’t the case.
Android users running the Flutter web appon their browsers had the following issues:
iOS and desktop users running Flutter web on their browsers didn’t show any issues, which is great but brings us to lesson #3.
Google has announced new flutter 1.20 stable with many improvements, and features, enabling flutter for Desktop and Web
Flutter is an open-source UI toolkit for mobile developers, so they can use it to build native-looking Android and iOS applications from the same code base for both platforms. Flutter is also working to make Flutter apps for Web, PWA (progressive Web-App) and Desktop platform (Windows,macOS,Linux).
As the new decade dawns upon us, a slew of technologies has been making a lot of noise to grab the developers’ attention. While native app development is going strong, the trade winds are now blowing towards going cross-platform.
Flutter has been booming worldwide from the past few years. While there are many popular mobile app development technologies out there, Flutter has managed to leave its mark in the mobile application development world. In this article, we’ve curated the best Flutter app templates available on the market as of July 2020.
Flutter Is To Apps As Unity Is To Games. We talked with Tim Sneath, Google's product manager for Flutter and Dart, about how both the language and the framework have evolved over the last two years, how they're being used today, and where they're headed.