Flutter Vikings Conference - Day 2
Like on the previous day, choices on which room to watch were hard. However, the organiser stated that all talks will be uploaded remastered and in HD to the Flutter Community YouTube channel within the next few weeks. This is a great contribution to the general Flutter knowledge base, I am happy that all talks will be widely accessible to everyone!
But back to the talks now!
Flutter, FFI And Fun: Windows Development With Dart And Win32
My day started off nicely, listening to the always-happy Flutter Product Director, Tim Sneath. After some flashbacks to how console code was written, Tim introduced the basics of Dart´s FFI with Win32.
All you, as a Dart developer, have to do is mapping between C functions (with their types) and Dart functions (with their respective types). It really looked more enjoyable than I would have thought! But frankly, I am still afraid of pointers…
For everyone who got interesting in Dart console development, Tim shared a variety of useful functions in the dart_console package!
Parallel Beauty - With Isolates Into The Mandelbrot Set
He showed how easy it is to set up new Isolates with Dart to perform multithreaded tasks (like Mandelbrot calculations).
However, he also gave his opinions on various design decisions made by the Dart Team, which he does not fully agree with. For example, he argued that it would be more intuitive to send/receive messages with Streams (or StreamControllers) in comparison to the current implementation using Ports, as Dart developers are more used to that interface. I fully agree with him on this point!
Furthermore, I enjoy that the conference also shows some critical views on the technologies we love. This is how Dart and Flutter grows!
Meet Mason: Intro To Templating And Custom Code Generation
After lunch, one of the best-known figures in the Dart/Flutter community took the stage. Felix Angelov, the creator of the BLoC library (that we love here at LeanForge), talked about one of his newer inventions: Mason.
Mason lets you create reusable templates (called bricks) for code generation. Felix shone light on all important aspects of the process, like the template syntax and how to use the provided CLI. There is even a template repository called BrickHub, where users can share their templates with others!
Even though we use Mason for our newest project at LeanForge already, there were several in-depth details I learned from this talk! I even got inspired to rewrite a personal project of mine, which uses some basic code generation in Dart, with Mason - I just need to find time for it…
Trusting Your Clients: Live-Coding A Cross-Platform Multiplayer Bingo App
They showed the beauty of different Firebase services, like Cloud Firestore, Authentication and Security Rules. They made a really good case for their simplicity by showing code examples in their app.
Even though the headline said so, there was no live-coding - but there was live Bingo with the app they showcased and a view into the Firebase project for it. Plus, they even had prizes!
A really engaging talk!
A/B Tests: Understanding User Behaviour
During the coffee break, I could not resist rewatching Petra Langenbacher´s lightning talk about A/B Testing, as this is something I wanted to try for a long time!
The arguments for Firebase just increased, as Petra showed how easy it is to integrate Firebase Remote Configs into your Flutter app and use for A/B testing.
She and her colleagues at Lotum Games even open-sourced their utilities for using A/B tests - with and without Firebase - in 2 packages!
From Single Player To Multiplayer - Building Realtime Collaborative Experiences With Flutter
To close out a great day, Iiro Krankka (with two i´s, as he underlined!) talked about his experience creating a realtime collaborative tool at Superlist. If Superlist doesn't ring a bell for you, here is their presentation at this year's Google I/O!
He brought their SuperEditor to my attention - an open-source rich text editor for Flutter, customizable and easily added to any mobile, web and macOS app.
The core of Iiro´s talk was about how they implemented Operational Transformation with the use of the Quill Delta format. It struck a perfect balance between technical details and brevity, showing you the gists of how real time collaboration works, but not being too scientific for a 1-hour conference talk.
With that, Flutter Vikings comes to an end. All I have left to say is thank you to Majid Hajian and everyone who helped him organise this great event! This is how the Flutter Community grows! 💙