5 platforms with one framework — Flutter for Smart Keystore project
If you ask Google what is Flutter — you’ll probably end up with something like “a new cross-platform mobile framework”. This definition actually sounds kinda weird for me because Flutter from the beginning was meant to be a multi-platform framework. And even though by the end of 2020 only mobile support is considered a fully stable for this SDK by Google itself, Flutter allows you to bring production a whole set of applications for six different platforms.
We in SAYMON are highly inspired of the progress Flutter has made during the last year in desktop environment and are glad to use the new opportunities it provides us to build an experience that spreads across platforms used by our clients.
This fall we were concerned by making a new digital product for secure and automated key storage systems that can be managed by different employees according to their roles and responsibilities. The product requirements pushed us towards creation of two separate applications with clearly defined functionality. We had several very satisfying experiences with Flutter on mobile before, but desktop platforms were a new field for us. We actually didn’t have anybody in our team at that moment with experience in any desktop platform development. And then I suggested to give Flutter a try.
The mobile app was already done and published by that time so I just took basic models and service layer from it. My challenge was to make an app that feels and works as native on desktops. To my great joy after 3 weeks the app was done and almost everything we planned to implement in it worked smoothly. Even though Google still did not recommend to use Flutter for production on desktops as of fall 2020, I could build a stable app on it successfully for Windows, Mac and Linux and deliver it to our clients.
One thing I’ve been missing but that is probably going to be released by the Flutter team soon (1.27 according to their milestones) — is scrollbar support for web and desktop. Until that happens I decided to left scrollbar work as on mobile.
So from practical point of view Flutter can already be used in some particular cases (those that do not require much platform-dependent functionality) for delivering desktop experience to your users if you need it. Decent level of performance and stability as well as most of typical desktop features are already implemented by the Flutter team.
I cannot wait Flutter to provide performance for web on par with desktop (probably with CanvasKit added as default rendering engine for web) so that it will make us possible to add web support and cover all available major platforms with our product.