Softaware Developer
Flutter & Friends: a confluence of innovation and community
Flutter & Friends recently marked its debut in Stockholm. This was the first international Flutter conference in the city, offering a vibrant blend of talks, workshops and social events.
For me, this was a delightful encore, having attended Flutter Vikings in Oslo last year. The social dimension of the conference particularly resonated with me, fostering connections and sparking conversations.
Stockholm adventures and Flutter camaraderie
The conference kicked off on Sunday with a series of social activities, providing an excellent platform to mingle with fellow attendees before the actual conference. I embarked on the Stockholm Islands Kayak Tour, gaining a fresh perspective on the city.
Post-kayaking, we indulged in some burgers before wrapping up the evening with a spirited Flutter pub quiz and extended networking.
Navigating the waters with paddle in hand, basking in the view of Stockholm City Hall
Deciphering Dart and Fluttering at the Flutter pub quiz
Diving into the talks
The next day, a tapestry of enlightening talks unfolded, culminating in an afterparty, of course. There were two tracks of amazing talks, and the entire day’s discourse is accessible here (main stage) and here (exhibition stage).
All the talks I attended were great, but let me put the spotlight on a few personal highlights (in no specific order):
Why and how we built code push for Flutter at Shorebird: The idea of code push is to be able to push updates to a mobile app without the need to publish a new version to app stores (and go through the time-consuming reviews). While the concept is not new, its application in Flutter is still maturing. Felix Angelov delved into the evolution of code push in Flutter, showcasing Shorebird’s capabilities through a live demo. With stable Android support and ongoing iOS developments, Shorebird stands as a relatively mature solution in the Flutter landscape. Watch the talk
The runtime that makes Dart tick: Slava Egorov from Google’s Dart team unravelled the intricacies of Dart’s runtime and its potential. Apart from showing how a compiler engineer analyses and optimises the performance of the runtime, he also demoed how Dart can enable, for instance, hot reloads in native iOS and Android development. 🤯 Slava emphasised the community’s role in shaping Dart’s future, hoping to see Dart everywhere. The possibilities are endless, and imagination is the only thing holding us back. This talk was a lot, but in a good way. Watch the talk
From Network Failures to Offline Success: A Journey of Visible App: Flutter GDE Dominik Roszkowskishared their journey to offline-first app. As I’ve been pondering similar challenges, this provided valuable insights. Watch the talk
Building a large-scale Flutter mobile banking application with 25 Flutter devs: Mateusz Wojtczak and Albert Wolszon talked about their experiences and the lessons learned while working on a large-scale banking app developed utilising Flutter. For me, the main takeaways from this session were the insights into best practices for tokenising design systems in Flutter. Watch the talk
**Supercharged Design System: Enhancing Widget Cataloging, Testing, and Collaboration with Designers:**Similar to code push, the concept of a storybook is not novel, but its application within Flutter is continuing to mature. Lucas Josefiak, the CEO of Widgetbook, demonstrated the capabilities of their solution. It facilitates the efficient creation of widget catalogues and offers the ability to preview them with varying attributes. Given its features, this tool holds significant potential for creating a widget catalogue for the Elisa Design System library for Flutter. Furthermore, it may be incorporated into the design review process in future developments. Watch the talk
Panel discussion: The day concluded with a panel discussion addressing key topics, such as the growing demand for senior Flutter developers (but the simultaneous struggle for juniors to find their first job), the gradual adoption of new technologies (such as Flutter) by enterprises *nods in agreement*, and the pivotal role of community in Flutter & Dart’s evolution. Watch the full discussion
Up for some fun from Flutter? Watch the relatable musical performances by Jack Nutting here and here
Afterparty antics and night swimming
The day culminated in the official afterparty – a harmonious blend of conviviality and innovation. Alongside engaging company, the event featured a space shooter game, masterfully crafted by Lukas Klingsbo using the Flutter game engine Flame. (Too bad I couldn’t attend his “Building a space shooter game with Flame” workshop the next day 🙁).
Additionally, attendees were presented with the “Flutter in the Dark” challenge, tasking them with implementing a single-page Flutter application in a mere ten minutes, all without being able to run it at all before the time is up. The atmosphere was charged with a relaxed energy – a splendid close to an enlightening day.
The “Flutter in the Dark” challenge. I guess an optimal evening engagement for a Flutter developer, offering an opportunity to have a drink while observing fellow developers in their coding endeavours.
Following the festivities at the venue, we found ourselves at Åstrahöjden, having a serene night swim. As photography might not necessarily be my forte, I find myself wishing I had captured a more refined image to commemorate the occasion. It is what it is.
Workshops: deep dives and new discoveries
After a rejuvenating night’s rest, the stage was set for a day of workshops. These are some of my main takeaways from the ones I attended.
Flutter Animations: From Beginner to Advanced: Having dabbled in crafting basic animations using Flutter, I found the workshop led by Roaa Khaddam to be truly enlightening. It unveiled the simplicity and power behind creating more intricate animations with Flutter, showcasing the potential to significantly enhance the user experience. The professional touch that these animations bring has certainly captured my interest, and I am eager to incorporate them more extensively into my apps.
Theming: From Basics to Advanced, the Hard and the Easy Way: Mike Rydström took us on a journey into Flutter theming. One of the key takeaways from this session was the realisation of the immense potential that lies in Flutter theming. My approach has been to craft a bunch of reusable custom widgets, styling them individually, which has served us okay so far. However, efficiently embracing Flutter theming opens up an alternative avenue. By enhancing theme data with appropriate attributes from the design system, all of Flutter’s basic widgets are tailored to the desired aesthetic. And yes, Mike’s creation, the FlexColorScheme, is there to make this process even more seamless.
Leveraging AI to Write Quality Code 5x Faster: While I have previously employed LLM AI as a programming assistant, this workshop offered valuable insights into crafting more effective prompts. The standout revelation, however, was the introduction to the Welltested.ai library, a brainchild of Samyak Jain’s company. This innovative tool empowers AI to generate rich & meaningful unit tests with a mere annotation. This is a killer feature I am eager to explore further.
Closing thoughts
In a relaxed yet intellectually stimulating environment, the conference served as a catalyst for new ideas and refined techniques, enhancing my approach to Flutter development. As the sole Flutter developer at Elisa, events like these are invaluable, offering a platform for learning and discussion in the absence of daily Flutter-related interactions.
Moving forward, I am keen on integrating the best practices and innovative solutions I learned into my projects. The simplicity and endless possibilities behind creating animations with Flutter and the potential in Flutter theming have most definitely piqued my interest. The introduction to the Welltested.ai library stands as a standout revelation, and exploring its capabilities to generate rich and meaningful unit tests will be on my research list.
Additionally, considering the advanced capabilities of Widgetbook, there is significant potential for its application in creating a storybook for the Elisa Design System library for Flutter and its incorporation into the design review process. Embracing the community’s role, I am excited to contribute to and witness the continued evolution of Flutter and Dart, as we push the boundaries of what’s possible.
A heartfelt thank you to the organisers, particularly Lukas Klingsbo & Alek Åström, for orchestrating such a remarkable conference. Eagerly awaiting the next edition!