Flutter Forward Agenda
All times in PST
Check out additional details about the workshops >06:30 - 07:00
Flutter Keynote Pre-Show
Join us early for exclusive content including a Q&A with the Flutter team!
Speaker(s)
John Ryan, Developer Relations Engineer, Flutter & Dart
Kate Lovett, Software Engineer, Flutter Framework
07:00 - 08:00
Flutter Forward Keynote Presentation
See how we are pushing UI development forward with product announcements, technical demos, special guests, and more.
Speaker(s)
Tim Sneath, Product & UX Director, Flutter & Dart
Leigha Jarett, Product Manager, Flutter
Ander Dobo, Product Manager, Flutter
Michael Thomsen, Product Manager, Dart
08:00 - 08:30
#AskFlutter Live
Catch a live Q&A with leaders from Dart, Flutter, and Firebase. Tweet your questions now with the #AskFlutter hashtag, and you may see them answered live!
Speaker(s)
John Ryan, Developer Relations Engineer, Flutter & Dart
Kate Lovett, Software Engineer, Flutter Framework
On-Demand Content
Watch all of these talks on demand
Design with Flutter: Translating Design to Code with Material 3
Learn how to build the basil material study in Flutter with advanced theming techniques and how to build for multiple device contexts.
Speaker(s)
Liam Spradlin, Senior Design Advocate, Google
Rody Davis, Developer Advocate, Google
Prototyping beautiful designs with Flutter
We'll show why Flutter is a great choice for building ambitious designs, as we start prototyping a puzzle app with custom animations, variable fonts, and shaders.
Speaker(s)
Brian James, UX Engineer, Flutter
Leigha Jarett, Product Manager, Flutter
Using FlutterFlow to create engaging experiences without code
Join us as we build an AI-generated image app using FlutterFlow. You will learn how to create beautiful and responsive UI, utilize pre-designed components as well as a visual drag and drop editor to help you build apps more efficiently, add animations & preview quickly, connect with an API, create custom widgets in our code editor, and deploy to the app stores and web in one click using FlutterFlow.
Speaker(s)
Souvik Biswas, Growth Engineer, FlutterFlow
Andrew Daniels, Head of Design, FlutterFlow
Sofia Helpert, Software Engineer, FlutterFlow
Build RPG Games in Flutter with Bonfire
Speaker(s)
Sakina Abbas, Google Developer Expert, Flutter
Top Cloud Development Tips for Flutter Developers
Flutter and Dart run on all of your users’ devices, but what about on the server? Can you continue to use your Dart skills when writing the server-side logic that powers your app? Of course you can! Follow along with this end-to-end guide to server-side development, written specifically for Flutter and Dart developers.
Speaker(s)
Craig Labenz, Developer Programs Engineer, Flutter
Martin Omander, Developer Advocate, Google
Real-Time Games with Dart
Speaker(s)
Dominik Roszkowski, Google Developer Expert, Flutter
Felix Angelov, Google Developer Expert, Flutter
Control your Flutter app on the fly with Firebase Remote Config
Speaker(s)
Mangirdas Kazlauskas, Google Developer Expert, Flutter & Dart
Bringing pattern matching to Dart
Records and pattern matching are two of the largest features coming in Dart 3.0. I'll talk about what they are, what they're useful for, and how they harmonize with the rest of the Dart language.
Speaker(s)
Bob Nystrom, Software Engineer, Dart
Impeller
Everything you need to know about Impeller, a new rendering runtime solution for Flutter to resolve early-onset jank issues. Impeller precompiles a smaller, simpler set of shaders at Engine build time so that they will not be compiled while an app is running.
Speaker(s)
Chinmay Garde, Software Engineer, Flutter
Screenshots on pub
A short talk about why and how we are introducing screenshots on pub.dev.
Speaker(s)
Sarah Zakarias, Software Engineer, Dart
Two-dimensional scrolling
A preview of upcoming scrolling features - in two dimensions!
Speaker(s)
Kate Lovett, Software Engineer, Flutter
Preview: Multiple Windows on Desktop
In this talk you'll get an early preview of what it will look like to render content into multiple windows from a single Flutter app.
Speaker(s)
Michael Goderbauer, Software Engineer, Flutter
Canvas.drawVertices
Speaker(s)
Filip Hracek, Founder, Raindead
Making UI Animation Easy & Fun
Speaker(s)
Grant Skinner, CEO, gskinner
Navigation with Go Router 6
Speaker(s)
Jaime Blasco, Google Developer Expert, Flutter
How to write effective Flutter and Dart tests
Speaker(s)
Matt Carroll, Google Developer Expert, Flutter
How to migrate your existing native apps to Flutter?
Speaker(s)
Vivek Yadav, Google Developer Expert, Flutter
Adaptive UI for a multiplatform world
An in-depth look at application adaptivity and practical ways to add adaptivity to your Flutter applications.
Speaker(s)
Greg Spencer, Senior Software Engineer, Flutter
Justin McCandless, Software Engineer, Flutter
Flutter on Desktop: end to end from build to distribution
Speaker(s)
Teresa Wu, Google Developer Expert, Flutter
7 Ways to Speed Up Your Flutter web apps
Speaker(s)
Danielle Cox, Senior Software Engineer (Flutter), Ardley
How to integrate Payment gateway in Flutter web app
Speaker(s)
Renuka Kelkar, Google Developer Expert, Flutter
Tiny Flutter: The future of Dart & Flutter on small devices?
Speaker(s)
Maksim Lin, Google Developer Expert, Flutter
Dart Language Evolution since 2.15
Speaker(s)
Pooja Bhaumik
Software supply chain security for Flutter and its ecosystem
Dart and Flutter are investing heavily in tools and services to protect their software supply chain. In this talk we will share our progress improving Flutter’s software supply chain security and the tools created to help the Flutter Ecosystem to improve their security posture.
Speaker(s)
Godofredo Contreras, Software Engineer, Flutter
Alexander Thomas, Software Engineering Manager, Dart
Securing Flutter Apps
Speaker(s)
Majid Hajian, Google Developer Expert, Flutter
Private Dart and Flutter packages
Speaker(s)
Oleksandr Leushchenko, Google Developer Expert, Flutter
Anna Leushchenko, Google Developer Expert, Flutter
Flutter in Africa
Speaker(s)
Maureen Josephine
Design with Flutter
Translating Design to Code with Material 3
Learn how to build the basil material study in Flutter with advanced theming techniques and how to build for multiple device contexts.
Prototyping beautiful designs with Flutter
We'll show why Flutter is a great choice for building ambitious designs, as we start prototyping a puzzle app with custom animations, variable fonts, and shaders.
Using FlutterFlow to create engaging experiences lightning fast
Learn how to create beautiful and responsive UI, add animations, create custom widgets, generate clean code, and deploy to the app stores & web in one click using FlutterFlow.
Build RPG Games in Flutter with Bonfire
Learn how to build RPG games in Flutter with Bonfire, a package built on the Flame game engine.
Full Stack Development
Top Cloud Development Tips for Flutter Developers
Complement your Flutter apps with Dart on the server in these ten steps that run from initial project development all the way through deployment and QA automation.
Real-Time Games with Dart
Learn how to run Dart on the backend to drive a simple real-time multi-player game across multiple platforms. We’re going to play with the flame game engine and try to reuse some code between client and server.
Control your Flutter app on the fly with Firebase Remote Config
Real-time updates, feature flagging, A/B testing - what if I told you that you could enable these powerful features in your Flutter application with minimal development effort and without any costs? Firebase Remote Config is a free service that enables changing the behavior of an app remotely without publishing an app update. In this video, I will cover multiple real-world use cases where Firebase Remote Config could help you while building Flutter apps.
The future of Dart and Flutter
Bringing pattern matching to Dart
Records and pattern matching are two of the largest features coming in Dart 3.0. I'll talk about what they are, what they're useful for, and how they harmonize with the rest of the Dart language.
Impeller
Everything you need to know about Impeller, a new rendering runtime solution for Flutter to resolve early-onset jank issues. Impeller precompiles a smaller, simpler set of shaders at Engine build time so that they will not be compiled while an app is running.
Introducing screenshots on pub.dev
A short talk about why and how we are introducing screenshots on pub.dev.
Two-dimensional scrolling
A preview of upcoming scrolling features - in two dimensions!
Preview multiple windows on desktop
In this talk you'll get an early preview of what it will look like to render content into multiple windows from a single Flutter app.
Engineer with Flutter
Canvas.draw Vertices
In this talk, Filip will explain the API of Canvas.drawVertices() and the Vertices.raw() constructor — both are obscure, very low-level, and hard to explain in documentation alone. But they are worth it when you need to squeeze the last bit of performance out of Flutter.
Making UI animation easy and fun
This talk for Flutter Forward 2023 dives into the Flutter Animate library, exploring how easy it is to create beautiful UI animations with just a few lines of code. It covers how to apply and adjust the wide variety of included effects, how to create totally custom effects, how to control animation playback, and shares tips to reduce the performance impact of animation.
Navigation with Go Router 6
Learn how to manage navigation in your Flutter app with the new Go Router 6 package.
How to write effective Flutter and Dart tests
Learn more on software testing, why we write tests, the kinds of tests you can and should write, and how to write the most effective tests for Flutter apps.
Migrate your native apps to Flutter
Learn the essential aspects of converting an existing app to Flutter, taken from learnings from ZestMoney. We will dive deep into understanding how much time and resources we will require to do this conversion.
Platform-specific touches
Adaptive UI for a multiplatform world
An in-depth look at application adaptivity and practical ways to add adaptivity to your Flutter applications.
Flutter on Desktop
This talk begins with giving a brief discussion explaining the benefit of cross-platform project on multiple screens (i.e desktop), then it dives into building a desktop application using Flutter on macOS, Linux and Windows. Then it goes on to talk about desktop application distributions on these three platforms, giving you an overview of an end to end solution to craft your own very first desktop application.
How to integrate Payment gateway in a Flutter web app
Flutter web is stable now and getting matured. Most of the time we consider Flutter web for to build portfolio or any one page application.If you want to develop any application which need some basic and important functionality like payment gateway then what are the options available in Flutter web and how easily you can integrate payment gateway. Let’s go over this more in detail in this talk.
7 ways to speed up your flutter webapps
Learn 7 steps that you can take to speed up the loading of your Flutter Webapps.
Dart
Dart language evolution since 2.15
Take a dive into the evolution of the Dart language starting from Dart 2.15 to Dart 2.18, covering features such as contructor tearoffs, enhanced enums, super initializer parameters, improved named arguments.
Software supply chain security for Flutter and its ecosystem
Dart and Flutter are investing heavily in tools and services to protect their software supply chain. In this talk we will share our progress improving Flutter’s software supply chain security and the tools created to help the Flutter Ecosystem to improve their security posture.
Securing Flutter apps
Reviewing OWASP's top 10 for mobile, reporting vulnerabilities, best practices to minimize risk, preventing reverse engineering, staying up to date, and identifying and blocking attacks in real-time with technology such as RASP (Runtime Application Self-Protection) are the topics you will take away from this talk.
Private Dart and Flutter Packages
In this video, we show how private packages may be referenced and what is the most convenient way of working when you need to keep packages secret and safe.
Tiny Flutter
Dart recently added experimental support for the new RISC-V CPU architecture and the first boards with these new chips are now starting to be available. One of them being the Sipeed Lichee D1. Learn how to get Dart running on one of these boards with a tiny screen and how Flutter can help.
Community
Flutter in Africa
Learn about Flutter communities in Africa and the exciting things Flutter developers all over the continent are building!
Flutter Demo
Learn how we built the Holobooth Machine Learning demo, a Flutter Web app that uses TensorFlowJS with the MediaPipe FaceMesh model to detect 3D face landmarks real-time in a browser!
Learn MoreCommunity Events
Find an event near you
Regional Events
Find a live Flutter Forward watch party or post-event Q&A session near you!
Flutter Forward Extended London
Join GDG London and Flutter London for an exciting meetup on January 30, 2023.
Register nowFlutter Forward Extended Netherlands
Join Flutter Netherlands for a Flutter Forward live watch party and meetup on January 25, 2023.
Register nowFlutter Forward Extended Paris
Join the GDG Paris chapter for an in-person meetup on February 1, 2023.
Register nowFlutter Forward Extended Silicon Valley
Join Flutter Silicon Valley for a special meetup on January 25, 2023.
Register nowCommunity Meetups
Continue the excitement with your local community even after the event.
Community Guidelines
Google is dedicated to providing a harassment-free and inclusive experience for everyone regardless of gender identity and expression, sexual orientation, disabilities, neurodiversity, physical appearance, body size, ethnicity, nationality, race, age, religion, or other protected category. We do not tolerate harassment of event participants in any way. Google takes violations of our policies seriously and will respond appropriately.
Follow the latest on Flutter Forward
Explore
17 Days of Flutter
Welcome to 17 Days of Flutter, a Flutter content marathon unveiling brand new content every day from Monday, January 9 until Flutter Forward, streaming live from Nairobi, Kenya on January 25, 2023!
Jump into the content below to unveil code labs, blog posts, video tutorials, and an upcoming coding challenge that will teach you how to build games in Flutter, apply Flutter best practices to your user experience, and more.
Still got questions? Check out the blog post or watch the introduction video for more information!
For inspiration, check out the community submissions gallery!
(Codelab) Build a game with Flutter and Flame
(Video) Package of the Week: Flame
(Video) Building Doodle Dash with Flutter & Flame
(Video) More Doodle Dash Improvements!
(Video) Adding platforms, enemies, and power ups
(Challenge) Add Your Own Doodle Dash Power Up or Enemy!
(DartPad) Play Pong Built with Flutter & Flame
(Codelab) Using FFI in a Flutter plugin
(Livestream) The Boring Show - LIVE!
(Blog) Material 3 for Flutter
(Video) Dart Analyze & Fix
(Blog) Playful Typography with Flutter
(Download) New Sprites for Doodle Dash
(Challenge) Last Day to submit
(Gallery) Doodle Dash Challenge
(Download) 17 Days of Dash Wallpapers
Flutter Forward
Creating home and lock screen widgets for your Flutter app
In this workshop, we'll walk through the steps needed to add Home Screen widgets and Lock Screen widgets to your Flutter app in iOS and Android.
Before you arrive
This workshop will walk through both native Android and native iOS development. In addition to having the Flutter SDK installed and a development environment, you’ll need certain software to follow each portion. To follow along with the Android portion, you’ll only need Android Studio. To follow along with the iOS portion, you’ll need a MacOS computer with Xcode installed, and an Apple Developer account. More information can be found in this Github repository’s README.
Hands-on with multi-factor authentication and Firestore count queries
Get the latest Firebase features for your Flutter app. We'll start with a basic app, and then add multi-factor phone authentication to ensure more secure sign-in.Then we'll use the new COUNT() operator in Firestore to include counts in the app at just a fraction of the cost and complexity.
Before you arrive
In order to follow along with this workshop, you’ll need a Flutter and Firebase development environment set up. You can follow the setup instructions at the Get to know Firebase for Flutter codelab. It is important that you complete step one through four of the codelab, to have your environment set up. If you have no Firebase experience, you are encouraged to complete the entire codelab before the workshop.
How to build the Basil Material 3 study
Learn how to use advanced theming features and the Material hct color system with the Basil Material 3 study. The Basil app also showcases how to build for ambient and smart displays.
Before you arrive
This workshop includes steps of the design process, which will help developers learn how to turn design into code. In order to follow along with the design process portion of the workshop, you should install Figma, or plan on using the Web Client for Figma. (If you plan on using the web client, you should test Figma beforehand, as it’s less reliable than the desktop client if the internet connection isn’t fast enough.) Other than Figma, this workshop will only use the standard Flutter development environment.
Community
Community Guidelines
Google Community Guidelines and Anti-Harassment Policy for In-Person and Virtual Events
Google is dedicated to providing a harassment-free and inclusive event experience for everyone regardless of gender identity and expression, sexual orientation, disabilities, neurodiversity, physical appearance, body size, ethnicity, nationality, race, age, religion, or other protected category. We do not tolerate harassment of event participants in any form. Google takes violations of our policy seriously and will respond appropriately.
All participants of Google events, including in-person and online attendees, event staff, speakers, and Googlers, must abide by the following policy:
Be respectful to each other.
Treat everyone with respect. Participate while acknowledging that everyone deserves to be here — and each of us has the right to enjoy our experience without fear of harassment, discrimination, or condescension, whether blatant or via microaggressions. All forms of communication should not demean others. Consider what you are saying and how it would feel if it were said to you, or about you.
Speak up if you see or hear something.
Harassment is not tolerated, and you are empowered to politely engage when you or others are disrespected. The person making you feel uncomfortable may not be aware of what they are doing, and politely bringing their behavior to their attention is encouraged.
- Stalking/following
- Deliberate intimidation
- Harassing photography or recording
- Sustained disruption of talks or other events
- Offensive verbal language
- Verbal language that reinforces social structures of domination
- Sexual imagery and language in public spaces
- Inappropriate physical contact
- Unwelcome sexual or physical attention
- Physical or cyber threats
In relation, but not limited to:
- Neurodiversity
- Race
- Color
- National origin
- Gender identity
- Gender expression
- Sexual orientation
- Age
- Body size
- Disabilities
- Appearance
- Religion
- Pregnancy
- Military status
- Social demographic
Participants asked to stop any harassing behavior are expected to comply immediately. Our zero-tolerance policy means that we will look into and review every allegation of violation of our Event Community Guidelines and Anti-Harassment Policy and respond appropriately. To report any behavior that makes you or others feel uncomfortable, send us a note at [email protected].
This policy extends to talks, forums, workshops, codelabs, social media, all attendees, partners, sponsors, volunteers, staff, etc. You catch our drift. Google reserves the right to refuse admittance to, or remove any person from, any Google- hosted event (including future Google events) at any time in its sole discretion. This includes, but is not limited to, attendees behaving in a disorderly manner or failing to comply with this policy, and the terms and conditions herein. If a participant engages in harassing or uncomfortable behavior, the conference organizers may take any action they deem appropriate, including warning or expelling the offender from the conference with no refund or blocking the offender’s account from participating online.