LeanCode at Flutter Vikings 2022: Catching Up After the Event

Free product design tips
Join our newsletter and get insights that will change your product design perspective
By submitting your email you agree to receive the content requested and to LeanCode's Privacy Policy.
or follow us

At the end of August, the LeanCode team boarded a plane and traveled more than 1000 km to join Flutter Vikings 2022 in Oslo - the biggest Flutter Nordic event. The entire trip was quite intense since we not only participated in the conference as attendees but also as speakers, sponsors and helpers at the venue when needed. We also talked a lot with Flutter community members and collected insights on what’s new in the Flutter world.

numbers about Flutter Vikings 2022

Flutter 3.3 - the biggest news at Flutter Vikings

Staying on the topic of what's new in the world of Flutter, we can’t miss the big announcement that took place just one day before the event - the Flutter 3.3 release! - and it was a part of at least some of our conversations on further Flutter framework development with other Flutter devs. This release brought updates to Flutter web, desktop, text handling, go_router package, DevTools, VS Code extensions, along with performance improvements. 

We had been especially interested in Flutter for web updates since it has been a solution that still lags behind the possibilities Flutter offers on mobile. Sometimes, surprisingly, Flutter for web is missing simple features such as selecting multiple elements with a single sweeping gesture. We mention it because it is actually one of the things that just got updated. Now, with the introduction of the SelectableArea widget, any child of the widget has selection enabled, so web apps match the expected behavior when attempting to select text.

Some of us also keep an eye on changes that refer to the UI and Flutter graphics engine. And here comes Impeller - a significant rewrite of a core part of the Flutter engine, which replaces the previous Skia code with a custom runtime. Impeller eradicates the need for runtime shader compilation, which is a common source of frame rate ‘jank’ in Flutter apps today. This engine update enables the implementation of even more smooth animations. We haven't tested it yet, but it is said that apps using Impeller can push boundaries further than before while staying locked to 60Hz or higher refresh rates.

You can read more about our favorite feature updates in Flutter 3.3 in our article.

Our Flutter at Scale talk at Flutter Vikings

This time we went to Flutter Vikings also to present the use of Flutter on a large scale, performing on the Odin stage with our talk Flutter At Scale - Experience From 25+ Flutter Devs Working Together On A Mobile Banking App. LeanCode was represented by Mateusz Wojtczak and Albert Wolszon, who showed the summary of their year-long journey throughout the development of the mobile banking app for Credit Agricole Bank Polska. 

In a word of explanation, LeanCode was one of the partners responsible for developing the banking application with Flutter “CA24 Mobile”. Mateusz was the leader of the Framework squad, and Albert was the leader of the Overall Design squad responsible for UI development.

In a very short version, due to time constraints, they presented lessons learned from a project with 30 Flutter developers. If you attended Flutter Vikings online and missed our talk, you can log back and watch the recording. If you didn't participate in the conference, there is another one (or even three, about the entire project) from the Flutter Warsaw event that was organized in June in Warsaw, Poland. You can find them on the Flutter Warsaw YouTube channel:

We were happy to see people interested in the use of Flutter in enterprise projects in the room, especially such complex ones as mobile banking apps. Having all the chats and high-fives after our speech was also great.

Here is the link to our eBook on Flutter in banking that we mentioned during the presentation.

Talks we listened to at Flutter Vikings

Sadly, we didn’t have as much time as we would like to at the Flutter Vikings conference. Also, there were so many interesting topics it was impossible to attend all of them. But we did manage to attend a few, and below, we present you a list of those that we really liked - but you shouldn’t treat it as the best out of the best.

Fun With Code Generation - Anna Leushchenko

A simple-but-to-the-point showcase of the most popular code generation solutions available for Flutter projects. From managing assets with flutter_gen to generating data and union classes with Freezed package to service locator generation with injectable. Helpful for refreshing knowledge on what packages help with certain aspects of Flutter development.

Creating Responsive UI For Authentication Flows - Salih Guler

Salih showed his amazing speaking skills, entertaining the audience during technical difficulties. He showed what layout-related widgets Flutter exposes to developers and explained the difference between adaptive and responsive designs while recreating a sign-in screen that displays correctly on both mobile and tablet screens.

Advanced Scroll Techniques For Desktop - Renan Araujo

A very good talk showing various Flutter internals related to scrolling, how it’s actually managed via different scroll activities, notifications, and controllers and how to bind to the correct part to perform custom behavior. Renan also explained how Slivers come with help when we need some lazy rendering and building. As a bonus, Renan blew our minds with the implementation of… scrolling motion blur! I recommend this to everyone seeking deeper than just playing with widgets, as this opens many new possibilities for implementing good experiences for the users.

Native Platform Views For Mobile And Beyond - Dominik Roszkowski

Dominik started by explaining the different protocols of Platform Views available for Android and iOS. Then explained the process behind implementing a very simple camera preview using SwiftUI and Android views - natively, through Flutter’s Platform Views. The talk was filled with insightful anecdotes.

Understanding Flutter's Handling Of Gestures - Guillaume Diallo-Mulliez

Guillaume presented a deep-dive into the gesture handling of the Flutter engine. Everything was explained from the simplest solutions that most developers know about, then going deeper and deeper into the internals of hit-testing behavior, GestureArenas, and gesture logic testing. The talk was a must-watch for everyone that wants to get a deep understanding of gesture execution flow in Flutter.

Let's Test The Full Widget Tree! - Alicja Ogonowska

Alicja showed us a novel approach to testing Flutter apps. I would place them somewhere between widget-testing and e2e-tests. Instead of testing a single widget, you test a whole App (widget), and instead of running your app with an external environment, you mock the dependencies. This makes the tests less flaky because you don't rely on external factors and also gives you so much confidence in your app that it justifies writing them along the smaller tests. Alicja showed us some great real-life examples of writing tests, maintaining them, and overcoming the most common pitfalls.

Flutter Architecture Components - Alessio Salvadorini

This talk was a walk-through on how to apply the Android Architecture Components idea in a Flutter world. With this talk, Alessio expands a much-needed discussion on explicit architecture in Flutter applications, taking best practices from different technologies and applying them to our apps.

Summing up

What was great about this edition of Flutter Vikings 2022 is that it was available online and offline. The last time we could see people from the Flutter community at such an event (besides Flutter Warsaw #17) was in 2020 - Covid separated us for way too long, and we feel that remote talks are never as fruitful as face-to-face conversations. We enjoyed talking over a cup of coffee (sponsored by LeanCode), taking photos together, and exchanging ideas during the after-party. We don't want to flatter you, but it always surprises us how open and positive Flutter enthusiasts are.

Free product design tips
Join our newsletter and get insights that will change your product design perspective
By submitting your email you agree to receive the content requested and to LeanCode's Privacy Policy.
or follow us
Rate this article
5.00 / 5 Based on 4 reviews

Read more

Matej Rešetár, during Flutter Warsaw #16, talked about using Flutter for the web and explained to avoid the most common issues. Find out more about making mobile apps run on the web with Flutter by watching the video and reading participants' questions.
Slide presented during Flutter Waraw #16
One of the projects we delivered at LeanCode was building an application for Healthcare Industry - Quittercheck. While developing the app, the problem we faced was how to limit a video upload to a specific time frame. Read about our tailored solution to this challenge.
Limiting a Video Upload to a Specific Time Frame
As the number of smart devices grows, so does the need to control them. Bluetooth Low Energy seems to be the best choice for connecting devices due to its low power needs. By reading this article you will find out how to begin developing a BLE app in Flutter.
BLE in Flutter