Schedule
Skansen
At Skansen you will get to see Swedish history, culture and wildlife in one captivating setting.
Bouldering
You'll get to experience the thrill of climbing/bouldering at Klättercentret Telefonplan.
Disc golf
A perfect opportunity to connect with nature. Throw frisbees towards targets and enjoy the beautiful outdoors.
Gröna Lund
Gröna Lund is a classic amusement park filled with thrilling rides, live music, and a vibrant atmosphere right in the heart of Stockholm.
You'll even get to do the classic pentathlon!
Bike tour
You will get to bike around the beautiful city of Stockholm.
There will be two routes to pick from depending on how far you want to bike.
Kayak
You'll get to kayak between the islands and under the bridges, experiencing Stockholm in a way you've never seen it before.
Escape room
Get locked in a room together with a small group of people and try to get out in time.
It is both thrilling and requires you to think on your feet!
Dinner with strangers
Step out of your comfort zone and into a world of new connections. Dinner with Strangers splits you into groups for an unforgettable meal filled with conversation, laughter, and the chance to forge unexpected friendships. Are you ready to meet your new favorite people?
Flutter & Fun Pub Night
The pub quiz starts at 21:00 so don't worry if you come later than the starting time if your Dinner with Strangers or Speaker's dinner is taking a bit longer, as long as you are there before 21:00 when the pub quiz starts.
At the pub night you will join fellow Flutter enthusiasts for a night of great conversation, a challenging pub quiz, and beers. It's the perfect opportunity to network, relax, and have some fun!
Check-in
Try to be there early, since the check-in is pretty short.
If you come early you will also get some extra swag. 😉
Intro
Your hosts Alek, Lukas & Johannes will tell you everything you need to know about the event, so that you can enjoy it to the fullest!
Keynote - Empathetic Flutter
Explore how Flutter developers can use the best qualities of our technology and community to develop unparalleled software.
Learning something about Dart performance by optimizing jsonDecode
This talks takes us on a journey through the layers of the cake called "Dart". We often hear that jsonDecode is slow in Dart - can we make it faster? Where do we start?
We will look at the Dart core libraries and how they implement jsonDecode. We will take that code for a spin with a profiler and learn how to diagnose performance issues using low-level tools.
Inside Jaspr: Building a Dart web framework from scratch
Join me to take an inside look into Jaspr, the web framework for Dart developers. We will dive into the intricate details of the framework and how it works under the hood.
Learn how Jaspr is made and what it takes to develop a framework from scratch.
Whether you are a seasoned developer or newcomer to Dart, this session lets you step into the next area of Dart development – the web.
Flutter web superfast: WASM
Understand how WASM compilation can turn the tables on the Flutter web performance front.
Practical Design Patterns for Flutter Development
Design patterns, inspired by architectural principles and adapted for software development, are crucial for modern app architecture.Based on the "FlutterEngineering" book, this talk highlights essential design patterns in Flutter to help you build efficient and scalable apps.In this talk, we'll explore fundamental concepts and focus on key patterns like Singleton, Factory, and Observer. You'll learn how to implement these patterns effectively in your Flutter projects through practical insights and real-world examples.
PowerPoint Karaoke
Test your improvisation skills in PowerPoint Karaoke, where participants give impromptu presentations using random, unseen slides. Whether you're presenting or in the audience, expect lots of laughs and surprises in this lively, unpredictable session!
Host: Mangirdas Kazlauskas
Zero runtime errors: Exploring Static Code Analysis techniques in Flutter
If you ask a developer whether they would prefer to fix a bug or develop a new feature, there is no doubt they will select the latter.Unfortunately, bugs are part of the development cycle and are inevitable.Fortunately, there are techniques to predict and prevent them, even without running the code: with the help of static code analysis.Static code analysis is a powerful tool for finding and fixing potential errors even before compiling your code, making the cycle much faster and developers more productive. Moreover, the flexibility of this tool allows you to configure it in a way to not only control bugs but also code style and specific team practices.In this talk, we will do a deep dive into the world of static code analysis, exploring strategies on how to set it up to work best in your project, possibilities beyond `flutter_lints`, such as other libraries and 3rd party services like Dart Code Metrics, as well as what it takes to create your own custom lints for your library or app with tools such as `custom_lint`. By the end of this talk, you will be fully equipped to set up a robust static analysis system in your project and make your projects more reliable, consistent, and performant.
Embedded Flutter on Raspberry Pi 5: Simplification of Daily E-Commerce Operations
At Pineboards, we specialize in embedded solutions for the Raspberry Pi ecosystem, especially around PCI Express (NVMe, networking, AI Edge TPUs etc). Last year marked our venture into direct retail, pushing us from our engineering comfort zone into the realms of order fulfillment. Our journey from manual inefficiencies to streamlined processes was powered by a custom Flutter application, centralizing operations from order listing to shipping label generation.
In this session, you will discover how to implement:* Barcode Scanning Implementation: Explore the integration of hardware barcode scanners to ensure accurate order fulfillment.* Direct Printing with Flutter: Gain insights into controlling ZPL/EPL printers directly from Flutter for efficient label printing.* Kiosk Mode: Understand how to deploy a Flutter application in Kiosk mode on a custom OS image, enhancing the user interface for industrial applications.
Moreover, we'll take a look into how well Flutter behaves on the new Raspberry Pi 5 in comparison to macOS and provide a guideline for building custom hardware solutions powered by Flutter that are meant to last and work well in industrial environments.
Making a 3D game with Flutter and Flame
One year after my first talk exploring the realm of 3D within Flame, Flutter now has experimental support for first class GPU access for 3D rendering with Impeler.
In this talk we will explore that functionality using the `flame_3d` package to see what kind of simple 3D games are viable with Flame, learning the ropes around basic 3D rendering, camera, objects, and how to apply that to real life game development.
Flutter & Threads
Does multithreading, rasterization, or processor affinity sound like big fancy words you'd love to understand? We'll explore all those terms together and discover how Flutter builds frames under the hood! You'll learn how this impacts your app's performance and how to make the correct choices to ensure a smooth app, with concrete code examples and demonstrations. This beginner-friendly talk will demystify complex concepts, guiding you through the threading model and empowering you to create highly performant Flutter apps.
Code Quality Gates for Large-Scale Flutter Apps
I'll share insights on guidelines and tools to maintain the quality of a Flutter app.
The talk will cover code quality aspects:
- structural, like code reviews and various static code analysis techniques including architecture tests
- functional, such as automated testing.
Code quality is important for projects of any size, but it's crucial for large-scale ones where tens of Flutter developers may work for years.
Quick Wins - how to make your app more accessible
Did you know that you can actually make more accessible apps in flutter easily? If yes, why are you not doing that?
In some cases, apps are inaccessible because there is no time or budget for it, most of the time it is just because we never took the time to read up and learn about it.
In this talk, I don't want to aim at 100% accessibility, but tell you about some quick wins, you can follow without spending a lot of time on it and grow your potential audience almost for free by just knowing about it!
Just by joining this talk, you can potentially grant somebody access, who was unable to use your app before and maybe change their world!
And who knows? Maybe you fall in love with it and want to explore more afterwards. ;)
Native Background Processing with Flutter
Background processing tends to be one of the afterthoughts with Flutter apps, and I would love to change that. There are several ways to achieve it with Flutter or Dart, although some of them involve a bit of native platform understanding with a pinch of Kotlin or Swift. In this talk I’ll show you how to make it all work without losing your mind, even if you don't have any Android or iOS experience.This talk covers both iOS and Android background processing, with and without utilizing existing Flutter plugins. We'll try to look into desktop background processing as well.
Automating Accessibility Adoption in Flutter using Gemini AI
For years, accessibility features and experiences were seen as nice to have when it came to app development. Shockingly, many developers overlook this vital aspect, inadvertently excluding a significant user base. The World Health Organization reveals that about 15% of the global population, over a billion people, live with disabilities. In a digital age, it's unjust to marginalize this substantial demographic based on abilities.
This talk emphasizes the critical role of accessibility in mobile apps. By introducing the innovative use of Gemini AI as an AI-powered code assistance tool in IDEs like VS Code, we can address these issues head-on, ensuring that apps are accessible from the outset. Gemini AI serves as a game-changer, automating the detection and correction of accessibility issues in Flutter apps. This talk will empower developers and help them build apps that are inclusive and universally accessible.
Code Meets Art: Flutter for Creative Coding
In this talk, I want to show you how you can blur the lines between code and art using Flutter!
After a quick introduction into what creative coding is and how its visual feedback nature can be a great way to learn how to code, we’ll dive into the technical details on how Flutter can be used for that purpose. Starting from the custom painter and canvas API, and making our way into shaders and 3rd party tools and packages. Additionally, we will explore what it means to use algorithms to create Art and what happens when you bleed that art into user interfaces and experiences. Finally, with its cross platform capabilities and easy control over every pixel, we’ll answer the question of why use Flutter for this purpose in the first place.
A closer look at the blur effect in Flutter
Often, when we see a blur effect in designs, we just put in the values, add a backdrop widget, and copy those values, thinking it’s done. Since it’s blurry, it’s tricky to see if it’s right — but it’s “blurry,” so we move forward.
In this session, we'll dig deeper to understand what’s really going on behind the scenes with the blur effect in Flutter. We’ll use fragment shaders to try out different kinds of blurs and see the differences between them. By doing so, we can make them look just right in our designs.
How big are macros really?
This talk dives into the new experimental macro feature of the Dart language. What is it, what it can do and when to use it.
Flutter & Friends Party!
Unleash the Night! 🕺 Get ready for an unforgettable evening with dazzling disco lights, refreshing drinks, awesome music, and the thrilling excitement of the competition Flutter in the Dark! 🌙 It's the perfect recipe for a night you won't forget. Don't miss out!
Badge hack
Get together and hack something fun in Flutter with NFC! 👀
Do you want to make cool things like https://x.com/drcoderz/status/...?
This year at Flutter & Friends you will get the opportunity to! We will provide NFC tags for you to hack around with during the third day at the conference.
The sky is the limits to what you will be able to create with your friends 🎉💙
Porting your mobile app to TV platforms
Flutter officially supports six platforms (iOS, Android, Web, MacOS, Linux, and Windows). But what if you need to run the Flutter app on the TV platform? Unfortunately, TV platforms have no official support yet. But the Flutter app can be launched on some TV platforms.
In this workshop, we will go through all the steps of porting your mobile app to the big screen, discuss all the nuances of TV apps, such as controlling the app with a remote control, and finally launch the app on a TV platform, not only on Android TV, but also on Apple TV
Learn how to build real-time games with Flutter and Dart Frog
In this workshop you'll discover how fun it is to build a game with Flutter while also exploring real-time communication with Dart Frog.
You will learn the power of a unified tech stack, where your front-end shares logic with your back-end, using our favourite language Dart. Add a great developer experience to that and you have a recipe for success.
And the best part? You will have a fun game at the end of it that you can play with your friends! If that isn't the true meaning of Flutter & Friends, we don't know what is.
Beyond Mobile: Powering Embedded Devices with Flutter
This workshop dives into running Flutter on embedded devices, specifically setting it up on the brand new Raspberry Pi 5.
In 3 small groups we will set up Flutter on a Raspberry Pi 5, write our first small App for it and learn to control an externally connected servo-motor to dispense some delicious M&M's trough our Flutter-Application.
I will bring 3 Raspberry Pi 5's and touchscreens for the audience with me so that small groups can work interactively along while we go trough everything.
While the first 90 minutes are the same for all of the audience, the last 30 minutes can be used to explore and build something individual with the servo engines and the Raspberry Pi's for each group.
Flutter + Gemini: Your AI App Development Launchpad
Supercharge your Flutter apps with AI!
This workshop dives into Gemini, Google's cutting-edge large language model (LLM), and shows you how to seamlessly integrate it with Flutter. We'll break down LLMs, explore Gemini's multimodality, and build a real AI-powered Flutter app prototype – all from scratch! No prior experience needed, just bring your app idea and walk away with the skills to make it a reality.
Building a Cloud-Powered Diary Application with Flutter
In today's world, having an idea is important, but going to market quickly is as important as having an idea. To achieve this, you need to support iOS, Android, Web, and even Desktop. Fortunately, Flutter is there to help you with that. However, an app without a backend is never enough. To power up your application with a scalable backend, AWS Amplify is there to help you out.
In this workshop, you will build a diary application in Flutter that targets iOS, Android, Web, and Desktop. The application will include Authentication, a GraphQL API with database connection, and File Storage. Additionally, there will be a bonus feature at the end, related to the hot topic of our times (starts with A and ends with I)! :)
Come join us and discover a new technology!
Advanced Flutter Navigation: Mastering Declarative Navigation
Implementing the navigation for complex multi-platform applications can be challenging due to varied user interface patterns and navigation structures across different platforms. Flutter’s Navigator 2.0, designed to streamline these complexities, offers a robust framework that empowers developers to manage navigation declaratively. While the Navigator 2.0 API may initially seem advanced and complex, understanding its interplay with the Router and Navigator widgets unlocks powerful customization and flexibility options. In this hands-on workshop, participants will dive deep into integrating the Model-View-ViewModel (MVVM) pattern in a layered architecture with Flutter’s Navigator 2.0 to create clear and efficient navigation management within their apps.
Workshop participants will embark on building a Flutter application from the ground up, learning to:
🔵 Implement the MVVM architectural pattern in conjunction with Flutter’s Router widget to achieve reactive and declarative navigation.
🔵 Design and manage the application’s navigation stack as an application state.
🔵 Utilize both declarative and imperative approaches to control modal route visibility.
🔵 Synchrozie the browser address bar and the app state for Flutter Web apps.
🔵 Synchronize imperative calls and declarative state changes to maintain consistent application state.
🔵 Integrate a bottom navigation bar selected tab management into the routing system.
🔵 Handle Android specific user interactions like back swipes and operating system back button presses.
🔵 Customize the SystemUIOverlayStyle to dynamically adjust UI elements like the status bar and navigation bar colors based on the active route.
🔵 Apply a layered approach to software architecture using MVVM principles to separate the concerns and build a maintainable, testable, and scalable app.
This workshop will equip developers with the skills to architect sophisticated navigation systems in Flutter applications, leveraging the advanced capabilities of Navigator 2.0 and the MVVM pattern for scalable and maintainable app development.
Flutter in the year 2044: Discussing a community plan for Flutter’s next 20 years
To be clear, there is no indication that Google is dropping the ball. But since the projects has seen adoption so many businesses and people, maybe it's time for the community to take on a more active role?
The output of this workshop is a publicly shared document with ideas and TODO items (mostly for us, the community).
Let's test it with Patrol!
During the workshop, we will prepare the whole E2E testing scenario using Patrol. You will learn how you can use Patrol finders to supercharge your tests and how you can test native features with Patrol native automation. As an example, we will test our Patrol challenge app with Firebase native interactions
At the end, we will show you how to run your tests on Firebase Test Lab.
As Patrol authors, we like to help people use the tool properly. We’ll cover the setup, troubleshooting, testing Flutter widgets, and E2E testing native stuff.
Preparation instructions:
We require attendees to have the latest stable Flutter SDK installed and have at least Android support – that means you should be able to build a Flutter app on Android and run it on the emulator (API 33) or their physical device.
Simplify Design Systems and Designer/Developer Collaboration with Widgetbook
Abstract:
Creating beautiful UI has never been easier with Flutter. However, managing and organizing widgets effectively can pose challenges for developers, particularly when it comes to organizing them, testing them in all their different use cases, and maintaining design-code consistency. This is where Widgetbook comes in.
In this workshop, we will learn how to build our design system with the open-source Flutter package Widgetbook. We will combine it with Golden tests and Figma to establish a smooth UI review process with designers, developers, product managers and QA testers.
Key takeaways:
- How to build your own design system / widget library
- How to automatically test your widgets on different device sizes, themes, languages, etc.
- How to use Golden Tests without limitations
- How to collaborate effectively with designers and product managers to keep design and code sync