News and views on the world of interactive media from the gskinner team
Tag / Flutter
After several months of hard work, we’re excited to announce our latest collaboration with Google, Canonical, and the Flutter Team, it’s a cross-platform app called Flokk!
What is it?
Flokk is a Google Contacts Manager, targeting Desktop, that allows you to integrate the Twitter and GitHub activity of your friends and contacts.
Flokk was built using the latest master branch of Flutter, and targets Linux, macOS, and Windows (with Web-Support thrown in as a bonus!). We spent a lot of time trying to make it feel like a native Desktop App and are extremely happy with the results. In the end performance was great across all the desktop platforms and rendering was extremely consistent. Flutter Desktop really looks like it could be poised for great things.
We worked closely with the Flutter team throughout the project to identify issues and develop workarounds. We will be posting more in the next couple of weeks about the architecture we used, challenges we faced, and some of the specific solutions we came up with.
In the meantime you can check out the code right now! The entire project is open-sourced on GitHub at https://github.com/gskinnerTeam/flokk. We’re excited to see what the community does with this project, and encourage you to clone or fork the repository and jump into the code.
Additionally we’ve posted builds for all operating system and web:
The current build is in a “production ready” state, but there were still a number of loose ends and features we were hoping to add, including a better narrow-mode menu and animated side-menu. In the coming weeks and months, we’ll be posting additional updates, and logging issues in Git for the community to potentially look at.
The original thought was to add the methods to MediaQuery, which didn’t seem that appealing because it would still be quite verbose to access. Then we realized we could just use the build context directly, which turned out really nice! So nice, that we’ve gone ahead and created a package for it here: https://pub.dev/packages/sized_context.
One of the most interesting aspects of Flutter, is the way it mixes declarative markup-style code, with imperativebusiness logic style code, all within the same Dart programming language and file. This creates a really nice coupling between interface and function. When compared to editing XAML for UWP apps, or XML for native Android, building interfaces in Flutter can be a very rapid workflow.
While this is really nice from a productivity standpoint, it also manifests as one of Flutters biggest issues…
I had the pleasure design two vignettes for our Google Flutter Vignette Showcase. What made the opportunity even sweeter was I could use 3D motion in the Flutter showcases. Here is how I designed the two 3D vignettes to showcase Flutter’s capabilities.
Flutter is a mobile UI toolkit that combines fast development, expressive and beautiful UIs, with native performance. To test-drive the platform, Grant Skinner & Mike Chambers recently built Redrix: a mobile companion app for Destiny 2.