- 10 December, 2023
- FlutterHQ.com

Observable Flutter #30: Optimizing a game loop
Watch as Craig Labenz is joined by Lukas Klingsbo, core contributor of the Flame game engine, to optimize a poorly performing ...

Observable Flutter #29: Game development
Tune in to see Craig make progress on his infinite zombie shooter game. Latest from Flutter → https://goo.gle/3GlabK3 Catch ...

Material 3 is enabled by default in #Flutter 3.16
Material 3 is on by default in Flutter 3.16. There's color scheme changes, design updates, and all new widgets! #Flutter #Material ...

When to use the Flutter Beta channel
Learn about the life cycle of a Flutter release and how the 3 different versions of Flutter (Master, Beta, and Stable) are tested and ...

Introducing the Flutter Casual Games Toolkit
Learn why Flutter is a great choice for game developers and get to know the Flutter Casual Games Toolkit, a collection of tools, ...

Observable Flutter #28: Faking 3D graphics
Watch as Craig Labenz is joined by longtime Flutter DevRel'er and published game developer, Filip Hráček, to explore adding ...

2D scrolling - Flutter Build Show
Kate Lovett walks us through Flutter's new 2D scrolling APIs by rebuilding widgets that are offered in the framework to ...

Observable Flutter: Flame + Shaders
Watch as Craig Labenz is joined by Renan Araujo to discuss his latest Flutter experiment - game built with Flutter and Flame ...

Gap (Package of the Week)
Use Gap to add space between widgets without keeping track of whether its parent is a Row or Column. Gap on pub.dev ...

Observable Flutter #26: Flocking algorithms
Watch as Craig Labenz increases the realism of his zombie horde by implementing a flocking algorithm to direct their group ...

fl_chart (Package of the Week)
Use fl_chart for visualizing information in a number of common graphs, including line, bar, and pie charts. fl_chart on pub.dev ...

Observable Flutter: Bonfire
Watch as Craig Labenz is joined by Flutter YouTuber, Trey Hope, to see how the Bonfire package makes it even easier to build ...

Observable Flutter: FlutterFlow
Watch as Craig Labenz is joined by Pooja Bhaumik, Flutter and Dart GDE and Developer Advocate at FlutterFlow, to learn all the ...

firebase_auth (Package of the Week)
Firebase Authentication allows you to integrate robust authentication services with just a few lines of code! Whether you need ...

How you can build Flutter apps with FlutterFlow
Tune in to a new episode of #ObservableFlutter on October 12, 2023, to learn how you can build Flutter apps with FlutterFlow.

Dive in to DevTools
In this video, we're going to see different ways to make your Flutter app faster and more reliable. Chapters: 0:00 - Introduction 0:42 ...

24 hours with AI extensions, security, and more!
Nohe and Khanh are on a mission to build a Flutter with @Firebase app. In 24 hours, they've built a video sharing app that uses AI ...

Release an iOS app with Flutter in 7 steps
Have a Flutter app that you're ready to release to the iOS App Store? In this video @leighajarett221 shows you how to navigate ...

Observable Flutter: Enemy movement
Watch as Craig Labenz adds realism to enemy movement in his infinite zombie shooter game, built with Flutter and Flame.

Flutter for iOS devs
Whether you're an experienced iOS developer or just getting started, this Short will provide you with a overview on how Flutter ...

Observable Flutter: Zombie pathfinding
Tune in to watch Craig Labenz program the pathfinding logic for zombies in his infinite zombie-shooter game. Catch more videos ...

Observable Flutter: Building with Stacked
Watch as Craig Labenz is joined by FilledStacks founder, Dane Mackier, to build a sample app using the Stacked package.

home_widget (Package of the Week)
HomeWidget is a Plugin to make it easier to create HomeScreen widgets on Android and iOS. HomeWidget does not allow writing ...

Observable Flutter: Hit boxes and pathfinding
Watch as @laybunzz adds hit boxes and pathfinding to his infinite zombie shooter game. Will he figure out how to get this working ...

Flutter for iOS developers
Whether you're an experienced iOS developer or just getting started, this video will provide you with a comprehensive overview ...

Observable Flutter: Game worlds and cameras
Tune in to watch as Craig is joined by Wolfen, a core contributor on the Flame game engine, to make sure his camera and game ...

Interested in building games with Flutter?
Latest from Learning to Fly → https://goo.gle/3OPNPFE Catch more videos → https://goo.gle/LearningToFly Subscribe to Flutter ...

Observable Flutter: Fighting zombies with Flame
Watch along as we start a simple project to build an infinite zombie fighting game. See the code → https://goo.gle/458hzU9 Watch ...

Firebase Analytics (Package of the Week)
Use @Firebase Analytics to gain insights into how your users use your app. pub.dev page → https://goo.gle/3QjfYpF Get more tips ...

Adding SFX to a Flame game and more!
Sound adds so much to a game's playing experience. In this episode of Learning to Fly, @akaKhanh adds custom background ...

500K subscribers!
Thank you for coming with us on this journey full of laughs and helping us reach 500K subscribers. Enjoy a behind the scenes ...

Observable Flutter: Debugging Multipong
At FlutterCon in Berlin, Craig presented a multiplayer implementation of Pong. The only problem was - it crashed as soon as the ...

Firestore (Package of the Week)
Firestore is a flexible, scalable NoSQL database for mobile, web and server development by Firebase. It offers real-time updates, ...

CallbackShortcuts (Widget of the Week)
Use the CallbackShortcuts widget to quickly add keyboard shortcuts to your Flutter app. Learn more about CallbackShortcuts ...

Explore a different way to render in Flutter
Watch the full video → https://goo.gle/3NbNHiM Catch more videos → https://goo.gle/FlutterBuildShow Subscribe to Flutter ...

Draggable (Widget of the Week)
Use Draggable to move and drag your widgets around. You can use it to build UIs for things like swapping around email ...

What’s new in Flutter in less than 1 minute
Learn about the latest from Dart and Flutter at Google I/O 2023 in less than one minute, including how they enable you to build ...

Building custom fragment shaders
Learn how to build a custom fragment shader, from GLSL code to the widgets that connect it to the rest of your Flutter app.

Observable Flutter: Serverpod
Watch as @laybunzz is joined by Serverpod's creator, Viktor Lidholt, to discuss how the package accelerates your full-stack Dart ...

Observable Flutter: I/O FLIP
Watch as @laybunzz interviews Erick Zanardo, the TL of I/O FLIP, about the technology and stories that went into its development.

Flutter at Google I/O 2023 in 5 minutes
Be in the KNOW after Google I/O! Watch the video for a 5 minute recap of the latest in Flutter and Dart. New in Flutter and Dart ...

What's new in Dart and Flutter - American Sign Language
To watch this Session without American Sign Language (ASL) interpretation, please click here → https://goo.gle/IO23_flutterkey ...

Betterment (Flutter Developer Story)
Learn how the largest independent Robo advisor in the market shifted to a mobile first strategy. After migrating to Flutter, ...

Evolving Flutter's support for the web
Flutter apps on the web are loading faster and have better integration with HTML in the latest release. We will also be sharing our ...

What's new in Firebase's Flutter SDK
Firebase provides you with APIs and tools to build, release, and operate full-stack apps for many platforms, including Flutter.

How to build a package in Dart
Learn best practices for building Dart and Flutter packages for distribution using Pub. See how to run tests, collect code coverage, ...

Introducing Impeller - Flutter's new rendering engine
Flutter's new rendering engine was developed with the goal of eliminating shader compilation jank and providing predictable ...

What's new in Dart and Flutter
Learn the latest from Dart and Flutter, including how they enable you to build beautiful native apps for any platform. This session ...

How to build next-gen UIs in Flutter
Learn how to use custom shaders and a new animation package to add mesmerizing effects to your UIs. Resource: Building next ...

Flutter, Dart, and Raspberry Pi
Learn how Flutter on the Raspberry Pi enables makers to build exciting new embedded user interfaces. The Raspberry Pi was ...

Rethinking Dart interoperability with Android
In the past, Flutter only supported integration with Android libraries through a message-based approach called platform channels.

Deep dive into Flutter deep linking
Join us to dive deep into Flutter's deep linking system. Learn about how following best practices here can improve your users' ...

Observable Flutter: Prisma ORM
Watch as @laybunzz connects to a Postgres database from Dart code using Prisma ORM. GitHub Repo → https://goo.gle/3Lcqqez ...

Firebase Crashlytics (Package of the Week)
Need an easy way to track and prioritize crashes in your app? Check out Firebase Crashlytics, a lightweight, realtime crash ...

How to build a RenderObject
In this episode, go behind the scenes with RenderObjects and learn when, why, and how to write your own. Full source ...

Test your Flutter app on multiple screen sizes with device_preview #Shorts
Catch more tips → https://goo.gle/FlutterQuickTips Subscribe to Flutter → http://goo.gle/FlutterYT #FlutterQuickTips.

Introducing the Flutter Build Show
Welcome to the Flutter Build Show. Watch as Google engineers build and explain advanced features to help you unlock the full ...

Observable Flutter: Slow-coding Pong
Watch as Craig Labenz is joined by Flame's creator, Lukas Klingsbo (@spydon) to touch up last week's hasty Pong ...

flutter_animate (Package of the Week)
Use the flutter_animate package to quickly add beautiful, customizable, pre-built animations to your Flutter app. Flutter Animate ...

Live templates for Flutter development in Android Studio & IntelliJ #Shorts
Catch more tips → https://goo.gle/FlutterQuickTips Subscribe to Flutter → http://goo.gle/FlutterYT #FlutterQuickTips.

Observable Flutter: Speed-coding Pong
Watch as Craig writes a Pong client from scratch, using Flutter and Flame, as fast as he can! Catch more ...

Type-safe communication between Flutter and host platforms #Shorts
Catch more tips → https://goo.gle/FlutterQuickTips Subscribe to Flutter → http://goo.gle/FlutterYT #FlutterQuickTips.

firebase_storage (Package of the Week)
If you're building an app that uses a lot of images or other assets, then you'll need a service to store all your files. Firebase's Cloud ...

Give your Flutter widgets freedom with UnconstrainedBox #Shorts
Catch more tips → https://goo.gle/FlutterQuickTips Subscribe to Flutter → http://goo.gle/FlutterYT #FlutterQuickTips.

Observable Flutter: gRPC
Watch as Craig is joined by Gianfranco Papa for a deep dive into how gRPC can speed up your full-stack Dart development.

How to use Dart extensions for faster development and cleaner code #Shorts
Catch more tips → https://goo.gle/FlutterQuickTips Subscribe to Flutter → http://goo.gle/FlutterYT #FlutterQuickTips.

Observable Flutter: Live debugging!
Watch as Craig investigates the cause of a mysterious issue. Catch more → https://goo.gle/ObservableFlutter Subscribe to Flutter ...

Create custom hero animations in Flutter With flightShuttleBuilder #Shorts
Watch all the sessions → https://goo.gle/FlutterForwardYT Subscribe to Flutter → http://goo.gle/FlutterYT #FlutterQuickTips.

flutter_lints (Package of the Week)
When you see your Dart code underlined in squigglies, it means that the Dart analyzer has spotted possible improvements in your ...

Observable Flutter: Diving into Riverpod, with Rémi Rousselet
Join Craig and special guest Rémi Rousselet as they pull back the curtain on how Riverpod actually works. Catch more ...

Building your first Flutter App - with a Codelab!
Learn how to build your first Flutter app, an that application generates cool-sounding names, such as "newstay", "lightstream", ...

Automatically add const in your Flutter code on-save with in VS Code #Shorts
Watch all the sessions → https://goo.gle/FlutterForwardYT Subscribe to Flutter → http://goo.gle/FlutterYT #FlutterForward.

Observable Flutter: MongoDB & Realm
Watch as Craig Labenz is joined by Kasper Nielsen from the Realm team to discuss and implement an offline-first, data syncing ...

Building Flutter apps visually with FlutterFlow
In this Flutter Forward session, Alex and Abel, co-founders of FlutterFlow build a two page application live using the NASA APIs, ...

RawMagnifier (Widget of the Week)
Do your users need to see parts of your app bigger? Make your app more accessible with a custom magnifier! Learn more about ...

Improve your Flutter app's accessibility with the Semantics widget #Shorts
Improve Your Flutter app's accessibility with the Semantics widget in 60 seconds! Watch all the sessions ...

Observable Flutter: Live code review
Join as Craig reviews a mixture of user-submitted code and his own old, embarrassing code. Catch more ...

Flutter Forward #AskFlutter
A live Q&A from Flutter Forward! Watch more: Watch all the sessions → https://goo.gle/FlutterForwardYT Subscribe to Flutter ...

How to remove Flutter create comments in 2 steps #Shorts
Welcome to a new Flutter series: Quick Tips! Recorded live at Flutter Forward, each #Short will have a quick tip to help you ...

Observable Flutter: Building a Mason brick
Watch as Felix and Craig build out a brand new Mason brick and put it to use in local development. Package of the Week on ...

Flutter Forward Keynote
Exciting product announcements, technical demos, and special guests! Watch all the sessions → https://goo.gle/FlutterForwardYT ...

#AskFlutter at Flutter Forward
A live Q&A with leaders from Dart, Flutter, and Firebase. Tweet your questions now with the #AskFlutter hashtag, and you may see ...

Observable Flutter: #DoodleDashChallenge submissions review
Join as Craig Labenz goes over submissions for the #DoodleDashChallenge, possibly including source code deep dives!

4 things to know about the future of Flutter
Learn how Flutter is pushing UI development forward with highlights from Flutter Forward, streamed live from Nairobi, Kenya on ...

Google Classroom and Flutter
Learn how the Google Classroom team used Flutter to reduce the size of their codebase, increase productivity, and create a better ...

Flutter Forward 2023 Livestream
Preview some of our investments in the technologies of the future at Flutter Forward, streamed live from Nairobi, Kenya on ...

Quick start to building a news app in Flutter
The Flutter News Toolkit is a free, prebuilt app template to accelerate application development for news publishers and other ...

PUBG MOBILE (Flutter Dev Story)
When the PUBG MOBILE team wanted to add a community module to allow players from all over the world to share gameplay ...

Klasha (Flutter Developer Story)
When Klasha founder Jess Anuna needed an app to bring her vision of connecting Africans to global goods and services, she ...

Building mobile news apps in significantly less time
Hear from 3 news publishers on the African continent who engaged users, grew their revenue, and scaled their development ...

What is Impeller?
A gentle introduction to Flutters new rendering backend. Speaker: Chinmay Garde Watch more: Watch all the sessions ...

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.

Preview: Two-dimensional scrolling in Flutter
A preview of upcoming scrolling features - in two dimensions! Speaker: Kate Lovett Watch more: Watch all the sessions ...

Adaptive UI for a multiplatform world
Ideas for generating adaptive user interfaces using Flutter's widgets and APIs based on our experience of building adaptivity into ...

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 ...

Introducing screenshots on pub.dev
A short talk about why and how we are introducing screenshots on pub.dev. Speaker: Sarah Zakarias Watch more: Watch all the ...

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 ...

Material 3 from design to deployment
Learn how to build the basil material study in Flutter with advanced theming techniques that support multiple device contexts.

Using FlutterFlow to create engaging experiences lightning fast
Join us as we build an AI-generated image app using FlutterFlow. You will learn how to create beautiful and responsive UI, utilize ...

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 ...

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 ...

Using Dart analyze & Dart fix | Decoding Flutter
Use the Dart analyzer and quick fixes to streamline your code maintenance. Stylistic inconsistencies? Breaking changes?

The Boring Flutter Development Show LIVE (Ep. 64)
Picking up where last week's episode of Observable Flutter left off, Khanh & Craig are continuing to build out the laser-shooting ...

Adding enemies, power ups, and custom config to Doodle Dash | Learning to Fly
Our Flame game is starting to come together. To polish things off, we've added brand new custom Doodle Dash assets and some ...

Observable Flutter: Hacking a video game
In this episode, Craig will take a stab at the ongoing #DoodleDashChallenge and add a feature to the Flutter team's recent project: ...

Doodle Dash & Flame: Collision detection, menus, and more! | Learning to Fly
We're making Doodle Dash more fun to play. Increasing the speed of play with varying difficulty levels, tweaking collision ...

Building Doodle Dash with Flutter & Flame | Learning to Fly
In season 2 of Learning to Fly, we're building a game called Doodle Dash, inspired by Doodle Jump. Play as Dash, and help her ...

Flame (Package of the Week)
Learn more about Flame → https://goo.gle/3vQ7ScI Codelab → https://goo.gle/3Gqm5C9 17 Days of Flutter ...

Observable Flutter: Payments in Flutter (Part 2)
Craig Labenz and guest Jose Ugia finish what they started in the last episode, this time with working emulators! Plugin page ...

17 days of Flutter!
What's causing @akaKhanh to flip across the Flutter multi-verse? It's a Flutter content marathon! We're releasing new Flutter ...

Tune in for #AskFlutter at Flutter Forward
Tune into Flutter Forward on January 25, 2023 to hear about what's next in Flutter. John Ryan and Kate Lovett from the Flutter ...

Firebase Remote Config (Package of the Week)
Learn more about Firebase Remote Config → https://goo.gle/3C9KAC9 Want a way to configure your app, without requiring your ...

Deep linking in Flutter
Learn how deep links help your Flutter app and your users, and see how to add deep links to your Flutter app. Deep linking ...

Observable Flutter: Payments in Flutter
Watch Jose Ugia and Craig Labenz wire up a checkout process with Flutter and the gPay integration, available at ...

go_router (Package of the Week)
Looking for a routing API to navigate between screens using URLs in your Flutter app? Or maybe you need a quick way to add ...

Observable Flutter: Dart + Postgres
Picking up from last week, Craig will improve the Postgres connection handling in his Dart Frog server-side app. Catch more ...

NavigationBar (Widget of the Week)
Learn more about NavigationBar → https://goo.gle/3Ft2O3B DartPad → https://goo.gle/3Hgwz99 Material's navigation bar ...

Observable Flutter: Code sharing & Postgres
Explore code sharing between client and server and connect to a backend Postgres database. Code sharing sample ...

Managing State in Flutter - Introducing Flutter
Let's get our app's progress bar working to reflect our task progress! How do you share state between widgets in Flutter?

FutureBuilder (Widget of the Week)
Learn more about FutureBuilder → https://goo.gle/3mEyrM0 DartPad → https://goo.gle/3OgtSGi Got a Future and need some ...

GestureArena | Decoding Flutter
Learn about Flutter's GestureArena where raw user interaction data is turned into human recognizable concepts like taps, drags, ...

Crédit Agricole puts customers first with Flutter
CA24 Mobile is the mobile banking app for retail clients of Credit Agricole Bank Polska, the Polish branch of banking group Crédit ...

Firebase UI for Auth (Package of the Week)
Learn more about Firebase UI for Auth → https://goo.gle/3N3jP6x In this package of the week, learn how to implement OAuth in ...

Equality in Dart | Decoding Flutter
Learn about different possible definitions for "equality", how Dart operates by default, and how you can alter that behavior to ...

Actions (Widget of the Week)
Learn more about Actions → https://goo.gle/3dvrLQK Abstract: In this Widget of the Week, learn about the widget which ...

Shortcuts (Widget of the Week)
Learn more about Shortcuts → https://goo.gle/3f8deLx Follow along for part two of Widget of the Week's series on Flutter's ...

GoRouter #Shorts
Watch the full episode → https://goo.gle/3dCyXKS Catch more Top Takeaways → https://goo.gle/BoringShowShorts Subscribe to ...

Nested Navigation with GoRouter (The Boring Flutter Development Show, Ep. 63)
In this episode, Craig and guest Renuka discuss web navigation and routing. Note: This episode was filmed in May of 2022, ...

Focus (Widget of the Week)
Learn more about Focus → https://goo.gle/3S3wwzF Using Actions and Shortcuts → https://goo.gle/3BFOz9D Keyboard shortcuts ...

Building a Dash Game with Flame | Learning to Fly
In this episode of Learning to Fly, Khanh rebuilds a classic game in Flutter… Flappy Dash! Help Dash safely navigate the skies as ...

PrimaryScrollController | Decoding Flutter
Learn about scroll controllers, the omnipresent PrimaryScrollController widget, and their impact on your cross-platform Flutter ...

Flutter Portraits: Tonal
Tonal is the world's smartest home gym and personal trainer. Using revolutionary digital weight, Tonal offers a high-tech ...

Build Wonders with Flutter
With Flutter, developers can create apps that realize the creative vision of the designer. In this video, we hear from the team at ...

TextStyle (Widget of the Week)
Learn more about TextStyle → https://goo.gle/3Rsit6r Want to color your text? Make it bold? Make it a larger font? Change the font ...

Implicitly animated widget #Shorts
Watch the full episode → https://goo.gle/3wrstot Catch more Top Takeaways → https://goo.gle/BoringShowShorts Subscribe to the ...

Implicitly animated widget from scratch (The Boring Flutter Development Show, Ep. 62)
In this episode, Tiya and Craig Labenz will demystify implicitly animated widgets. Chapters: 00:00 Intro 01:36 Starting the widget ...

Intrinsic widgets | Decoding Flutter
Learn how to size widgets in relation to the size of their siblings using IntrinsicHeight and IntrinsicWidth. DartPad ...

flutter_rating_bar (Package of the Week)
Learn more about flutter_rating_bar → https://goo.gle/3w4KOaQ Check out flutter_rating_bar to save some of the effort required to ...

Debug properties | Decoding Flutter
Learn about how to inspect widgets in the Flutter DevTools, and even log your own attributes, in this #DecodingFlutter episode all ...

LinearGradient (Widget of the Week)
Learn more about LinearGradient → https://goo.gle/3BIgeaG DartPad → https://goo.gle/3d8Llld Add a splash of color (or five) to ...

Full-stack Dart: Part 3 #Shorts
Watch the full episode → https://goo.gle/3OIIhcN Catch more Top Takeaways → https://goo.gle/BoringShowShorts Subscribe to ...

Full-stack Dart with Simon Lightfoot: Pt 3 (The Boring Flutter Development Show, Ep. 61)
In this episode, Simon Lightfoot and Craig Labenz complete their adventure with full-stack Dart! Chapters: 0:00 - Introduction ...

Autocomplete (Widget of the Week)
Learn more about Autocomplete → https://goo.gle/3csU15I Catch this #WidgetOfTheWeek to learn all about the Autocomplete ...

Introducing: DashBot the Chatbot! | Learning to Fly
In this episode of Learning to Fly, Khanh builds a Dash Chatbot. Implementing a chat interface complete with blue bubbles, why ...

Full-stack Dart: Part 2 #Shorts
Watch the full episode → https://goo.gle/3IBFdxB Catch more Top Takeaways → https://goo.gle/BoringShowShorts Subscribe to ...

Full-stack Dart with Simon Lightfoot: Pt 2 (The Boring Flutter Development Show, Ep. 60)
In this episode, Simon Lightfoot and Craig Labenz continue their adventure with full-stack Dart. Building off their work in Episode ...

Synchronous BuildContexts | Decoding Flutter
Learn about Flutter's build process and its implications for using BuildContexts in button callbacks or after an asynchronous gap, ...

NavigationRail (Widget of the Week)
Learn more about NavigationRail → https://goo.gle/3Ilf4D7 DartPad → https://goo.gle/3nJbrxi BottomNavigationBars are great for ...

InheritedWidgets | Decoding Flutter
InheritedWidgets in Flutter offer a way for widgets anywhere in your app to efficiently look up ancestor resources, but how do they ...

Full-stack Dart: Part 1 #Shorts
Watch the full episode → https://goo.gle/3xRrEFu Catch more Top Takeaways → https://goo.gle/BoringShowShorts Subscribe to ...

mason (Package of the Week)
Learn more about mason → https://goo.gle/3bka1Xk Ever wished `flutter create` was more flexible, maybe even creating YOUR ...

Full-stack Dart with Simon Lightfoot: Pt 1 (The Boring Flutter Development Show, Ep. 59)
In this episode, Simon Lightfoot and Craig Labenz begin a journey with full-stack Dart. They set out to create a distributed counter ...

FocusableActionDetector (Widget of the Week)
Learn more about FocusableActionDetector → https://goo.gle/3zttoa8 DartPad → https://goo.gle/3OmYa9d Writing a custom ...

Type Promotion | Decoding Flutter
In this episode of Decoding Flutter, Khanh will discuss how type promotion works in Dart, when to use it, and why it doesn't work ...

Generic widgets #Shorts
Watch the full episode → https://goo.gle/3x7WXN3 Subscribe to the Flutter channel → https://goo.gle/FlutterYT.

Making generic widgets (The Boring Flutter Development Show, Ep. 58)
In this episode of The Boring Flutter Development Show, Khanh and Craig continue the changes made in Khanh's MyDash app ...

shared_preferences (Package of the Week)
Learn more about shared_preferences → https://goo.gle/3LJQITK Your app runs everywhere and you want to save some simple ...

Puzzle App Hackathon winners and more!
We asked you to push your creativity to its limits by using Flutter to reimagine a classic slide puzzle. Check out some of the most ...

ByteDance - Building for any Screen with Flutter (Flutter Dev Story)
ByteDance, the company behind TikTok, has been using Flutter to develop apps for years. Watch the video to learn how Flutter ...

Quick start to building a game in Flutter
Flutter is becoming a popular tool for game development. This video is a part of Google's effort to make it easier for Flutter ...

A boring update on MyDash! | Learning to Fly
In today's episode of Learning to Fly, Khanh gives a quick update on the series, featuring Craig! Fixing up MyDash (The Boring ...

Rethinking task and project management with Flutter
Today, we're joined by Brandon Arnold, Co-Founder of Superlist, as he shares how Flutter was used to rethink task and project ...

Flutter at Google I/O 2022 in 5 minutes!
Be in the KNOW after Google I/O! Watch the video for a 5 minute recap of the latest in Flutter and Dart. See more from Flutter ...

Learn how Flutter enhances web apps
Take a deep dive into how Flutter uses the latest browser technologies to enable beautiful web experiences. See how WebGL and ...

Watching a Flutter app crash
Creating memorable experiences in production apps often means pushing the limits of what devices and frameworks can do, and ...

Flutter lessons for federated plugin development
Flutter's federated architecture for plugins allows authors to split platform-specific code into multiple packages for easier ...

Learn about Flutter desktop
You've mastered adaptive layouts, but what about the other aspects of adapting to desktop? Let an expert show you how to ...

When, why, and how to multithread in Flutter
Every Flutter application is powered by at least one Dart isolate, and every Dart isolate is powered by an event loop. Knowing how ...

What's new in Flutter
To watch this keynote interpreted in American Sign Language (ASL), please click here →https://goo.gle/3M2nMHn Learn the ...

Create simple, beautiful UI with Flutter
Beautiful experiences and great UI don't happen by themselves, but that doesn't mean they have to be difficult! Watch two design ...

How to write a Flutter desktop application
Build a Flutter desktop app that accesses GitHub APIs to retrieve your repositories, assigned issues, and pull requests. Create and ...

Adding WebView to your Flutter app
Learn the ins and outs of using WebView in a Flutter application. Discover how to display widgets on top of a webview, how to ...

What's new in Flutter - American Sign Language
Learn the latest from Flutter including how to build beautiful native apps for six platforms from a single codebase. Get a tour of the ...

Fixing up MyDash #Shorts
Watch the full episode → https://goo.gle/3KQyD5Y Subscribe to the Flutter channel → https://goo.gle/FlutterYT.

Boring to Fly - Fixing up MyDash (The Boring Flutter Development Show, Ep. 57)
In this episode, we make our return back to the studio. Craig and Khanh will take a look at Khanh's MyDash app from Learning to ...

ThemeExtensions | Decoding Flutter
Find out how to get the most value out of your Flutter app's theme, including how to use the new ThemeExtensions feature, ...

google_fonts (Package of the Week)
Learn more about google_fonts → https://goo.gle/37Q0zJB DartPad → https://goo.gle/3vkXU3M Want to add a little bit more pop to ...

MaterialStateProperties | Decoding Flutter
Looking to better understand Flutter's new MaterialStateProperty class? Look no further! DartPad → https://goo.gle/3KEvmY3 ...

RepaintBoundary (Widget of the Week)
Learn more about RepaintBoundary → https://goo.gle/3tXLjmb DartPad → https://goo.gle/3IYz25u Want to make sure calling ...

MyDash: It's not just one big build method anymore! | Learning to Fly
Welcome back to Learning to Fly on Flutter! In this episode, Khanh is doing some preliminary code cleanup, separating the UI and ...

Introducing Flutter on Windows
At Flutter Interact, we shared our vision to expand Flutter from mobile apps to include the desktop.You took our vision and ran with ...

Flutter Portraits: Shams Zakhour
Shams Zakhour, Senior Technical Writer for Flutter has been working in tech for over 40 years. Watch the video to learn more ...

StatefulBuilder (Widget of the Week)
Learn more about StatefulBuilder → https://goo.gle/3qnJihg DartPad → https://goo.gle/36GD2du Want the perks of a separate ...

Migrating an app with 250M+ players to Flutter
Lotum is the company behind the popular word game, 4 Pics 1 Word. See how Flutter not only helped to speed up the ...

Creating the future of spreadsheets with Flutter
Rows is a next generation spreadsheet focusing on performance and collaboration. Watch the video to learn how Flutter is ...

Bringing interactive animations to Windows using Flutter
After rewriting their powerful animation tool entirely in Flutter to enable developers to create beautiful, multi-platform illustrations, ...

Exploring the runApp function #shorts
Watch the full episode → https://goo.gle/3CSfe1X Subscribe to the Flutter channel → https://goo.gle/FlutterYT product: Flutter ...

ScaffoldMessenger (Widget of the Week)
Learn more about ScaffoldMessenger → https://goo.gle/3HYoySY Ever have difficulties showing SnackBars to users while they ...

runApp function deep dive (The Boring Flutter Development Show, Ep. 56)
Fitz dives into the source and explores runApp() function, roots, and more. Chapters: 0:00 - Introductions, what are we talking ...

Adaptive vs. Responsive | Decoding Flutter
How much space do we have on our screen and what is the platform able to do? These are the two ideas of Adaptive and ...

DropdownButton (Widget of the Week)
Learn more about DropdownButton → https://goo.gle/3sjfe7J DartPad → https://goo.gle/3JTjOj1 Need to provide users with a way ...

ALL THE DASH MERCH: Building the DashShop | Learning to Fly
We all love some good Dash merch. Follow along as Khanh puts together a theoretical Dash-themed merch store - the DashShop!

Badges (Package of the Week)
Learn more about Badges → https://goo.gle/34uXAVi Whether they're reminding you of all the people you have to call back or all ...

Flutter Update: Windows
Announcing Flutter support for Windows! With Flutter 2.10, you can now build Windows apps using Flutter. With a single codebase ...

Baseline (Widget of the Week)
Learn more about Baseline → https://goo.gle/33CHSaj Positioning widgets in Flutter is usually easy - you decide where they start ...

Firebase Auth in Flutter #Shorts
Watch the full episode → https://goo.gle/3AlFGzK Subscribe to the Flutter channel → https://goo.gle/FlutterYT product: Flutter ...

Firebase Authentication in Flutter (The Boring Flutter Development Show, Ep. 55)
In today's episode of The Boring Flutter Development Show, Fitz is joined by Firebase Software Engineer Frank van Puffelen.

Padding, ViewPadding, and ViewInsets, Oh My! | Decoding Flutter
Overwhelmed by Padding, ViewPadding, and ViewInsets on the MediaQuery class? Ever struggled to adjust your UI when the ...

get_it (Package of the Week)
Learn more about get_it → https://goo.gle/3HZugEA If you've ever had to organize non-widget resources like data repositories or ...

Testing our Flutter Skeleton app #shorts
Watch the full episode → https://goo.gle/3zb0nhx Subscribe to the Flutter channel → https://goo.gle/FlutterYT fullname: Andrew ...

Third time's the charm: Testing our Skeleton app (The Boring Flutter Development Show, Ep. 54)
Welcome back to The Boring Flutter Developement Show with Andrew Fitz Gibbon and Craig Labenz. In today's episode, Fitz and ...

Tear-offs | Decoding Flutter
In this episode, Craig Labenz decodes what a tear-off is and how to use them to streamline your code. Never heard of a tear-off?

Happy Holidays from the Flutter team!
Nestled all snug by the fire, Dash is ready for the holidays and the new year! What better way to settle in and relax than being read ...

Bringing the *Dash*board to life | Learning to Fly
Follow along as Khanh puts together the new MyDash (formerly Dash Fanclub App) *dash*board, troubleshoots an uneven ...

path_provider (Package of the Week)
Learn more about path_provider → https://goo.gle/3m1iPDF Are you tired of making users download the same data every time ...

Widgets vs helper methods | Decoding Flutter
Flutter developers are well-acquainted with widget build methods that grow, and grow… and grow. In this video, Craig Labenz ...

Freezed (Package of the Week)
Learn more about product → https://goo.gle/3oAtlne Tired of writing tedious boilerplate for simple data classes? Try Freezed, a ...

GestureDetector (Widget of the Week)
Learn more about GestureDetector → https://goo.gle/3jO0nxv Looking to track all sorts of user interactions on your app?

ShrinkWrap vs Slivers | Decoding Flutter
Learn about nested lists in Flutter, how the shrinkWrap parameter works, and why sometimes Slivers are the best tool for the job.

Flutter Update: App Monetization
We want to help you make money from your Flutter apps, whether you're targeting iOS or Android. Check out our recent ...

Building my first Flutter app | Learning to Fly
Follow along with Khanh's journey as she builds her first Flutter app. From ideation down to the moments of confusion, learn ...

CachedNetworkImage (Package of the Week)
Learn more about CachedNetworkImage → https://goo.gle/3wovaGc A picture is worth 1000 words, but is it worth 2000?

The Boring Show contributes to Flutter #shorts
Watch the full episode → https://goo.gle/3bH2kay Subscribe to the Flutter channel → https://goo.gle/FlutterYT product: Flutter - General; fullname: Kate Lovett, ...

How to contribute to Flutter (The Boring Flutter Development Show, Ep. 53)
Today, Craig is joined by Flutter Software Engineer Kate Lovett. In this episode, they will discuss the tips and steps in contributing ...

How you can help us improve Flutter
At the beginning of each quarter, UX researchers work with other members of the Flutter team to design a survey. The goal for the survey is to get your input into ...

Theme (Flutter Hallowidget of the Week)
Learn more about Theme → https://goo.gle/3nF9QIl Looking to customize your app's colors and fonts? Try using the Theme ...

TabPageSelector (Flutter Widget of the Week)
Learn more about TabPageSelector → https://goo.gle/30wVfac Need to add progress indicator dots to a wizard or series of pages ...

Sua Musica (Flutter Developer Story)
With 10 million monthly active users and over 16000 verified artists, Sua Musica is the biggest Latin American music platform for ...

Rendering?! | Decoding Flutter
Want to learn how Flutter turns widgets into pixels? See what operations Flutter performs to update the pixels you see on screen.

Starting a new app from the Skeleton template (The Boring Flutter Development Show, Ep. 52)
Craig and Fitz resume The Boring Flutter Development Show. In this episode, they start building a new application from the ...

Flow (Flutter Widget of the Week)
Learn more about Flow → https://goo.gle/3myZaue Need to coordinate the animation of a list of widgets all behaving similarly?

Become a Flutter Apprentice
Flutter has partnered with Razeware, the team behind the raywenderlich.com books, videos and tutorials to offer free access to ...

RenderObjects?! | Decoding Flutter
RenderObjects like widgets are everything you see on the screen. Learn about what RenderObjects do, what render trees are, ...

font_awesome_flutter (Flutter Package of the Week)
Learn more about font_awesome_flutter → https://goo.gle/3zvsPJq Looking for new icons that Material doesn't offer?

RefreshIndicator (Flutter Widget of the Week)
Learn more about RefreshIndicator → https://goo.gle/RefreshIndicator Wouldn't it be great if you could show your users that a list ...

Updating theming on an old app (The Boring Flutter Development Show, Ep. 51)
Fitz is joined by a new (and familiar) face on The Boring Show, Craig! They open back up the old Hacker News App to fix some ...

package:html (Flutter Package of the Week)
Learn more about package:html → https://pub.dev/packages/html Nostalgic for HTML? Package html is an HTML5 parser that ...

Yellow underline text | Decoding Flutter
What does it mean when you're building an app with Flutter and some text shows up in red with a yellow double underline?

HeroMode (Flutter Widget of the Week)
Learn more about HeroMode → https://goo.gle/HeroMode Have a Hero transition but unsure how to stop the animation from ...

Collection (Flutter Package of the Week)
Learn more about Collection→ https://goo.gle/pub-dev-collection Tired of doing all the work on your own and just want some help ...

Finding the importance of proper null safety migration (The Boring Flutter Development Show, Ep. 50)
Filip and Fitz attempt to fully upgrade the Hacker News app, and address the runtime bug they saw at the end of the previous episode. This adventure takes them ...

Packages versus Plugins? | Decoding Flutter
What is the difference between a package and a plugin? Learn how these bundles of code contribute to your app's functionality ...

sensors_plus (Flutter Package of the Week)
Learn more about → https://goo.gle/pub-dev-sensors_plus package:sensors_plus allows you to access a phone's sensors so you ...

MouseRegion (Flutter Widget of the Week)
Learn more about MouseRegion → https://goo.gle/MouseRegion Have you ever wondered how to detect if a mouse is over a ...

Unbounded height / width | Decoding Flutter
You put a ListView in a column and you get the error “Viewport was given unbounded height”. What do you do now? Learn why ...

Migrating an old app to Flutter 2 (The Boring Flutter Development Show, Ep. 49)
Filip and Fitz revisit the ancient Hacker News app which was started in the very first episodes of the Boring Show. They update ...

animated_text_kit (Flutter Package of the Week)
Learn more about animated_text_kit → http://goo.gle/pub-dev-animated_text_kit Make your app text pop, rotate, scale, and more ...

Async vs Isolates | Decoding Flutter
How come a function janks the UI thread even though it's async? What are the differences between async and isolates?

BuildContext?! | Decoding Flutter
What is “BuildContext” and how is it used? In this video, we discuss what BuildContext is, and why it shows up in so many widgets ...

FlutterLogo (100th Widget of the Week!)
Happy 100th episode of Widget of the Week! Even with over 100 episodes, we've only just scratched the surface of the widgets ...

Automatically adapt to API changes with Flutter Fix | Demo
As SDKs mature, occasional API changes are unavoidable, but Flutter SDK includes a tool called Flutter Fix that can automatically update your code in response ...

Debug and profile your app with Flutter DevTools | Demo
Did you know that a suite of debugging and profiling tools is included with every copy of the Flutter SDK? Take a quick tour of ...

Adaptive Design | Demo
Flutter is a multiplatform SDK that paints beautiful UI wherever you need pixels. In this demo, you'll learn three important types of ...

How to manage application states using inherited widgets | Workshop
Learn how to use inherited widgets to implement your own state management solutions. With a sample flutter application, we go through the steps needed to ...

Dart null safety in Action | Workshop
Learn Dart's new null safety syntax. With simple examples that explain what 'null safety' means and how it can help write faster, ...

Flutter in production: Stadia and Google Pay | Q&A
Learn how Dart and Flutter can work in production in this Ask Me Anything (AMA) Session with two engineers of Flutter's biggest apps. Speakers: Andrew ...

Building scrolling experiences in Flutter | Workshop
Learn how to build rich scrolling experiences in Flutter. We explore slivers and how they're different from other widgets in the ...

Cloud, Dart, and full-stack Flutter | Q&A
Experience this Ask Me Anything (AMA) Session for a roundtable discussion and Q&A on the best ways to put Dart, Google Cloud, ...

Building your first Flutter app | Workshop
Learn the basics of Flutter app development. This lab requires a working installation of the Flutter SDK: ...

STAIR (Flutter Developer Stories)
STAIR is an app from the US Department of Veterans Affairs that helps people manage emotions and relationships. See how ...

Introducing FlutterFlow
Introducing FlutterFlow a low-code tool for building Flutter apps easier and more quickly. FlutterFlow integrates smoothly with ...

Top 7 Flutter things to know from Google I/O 2021
Want the highlights of the Flutter announcements from Google I/O 2021? We've got you covered! This recap covers what's ...

Building platform adaptive apps | Session
Flutter now supports six platforms across mobile, desktop, and the web. Learn best practices for making your application feel at ...

C interoperability with Dart FFI | Session
Learn the basics of Dart FFI, including what it is, what you can use it for, and how it works. Experience a demonstration of ...

Building a desktop design language with Flutter | Session
Learn how to build a custom widget set for desktop now that Flutter supports desktop applications. We walk you through the ...

Lazy Flutter performance | Session
Learn the limits of performance with lazy-loaded content, and understand how Flutter can help build a smooth experience out of ...

Power-up your Flutter app with Google APIs | Session
Google offers dozens of APIs to power your applications with user data and cloud services. Learn how to use these APIs from your ...

Why null safety? | Session
Hear from one of Null Safety's creators about how this fundamental new language feature impacts the experience of writing Dart code, prevents errors, and ...

What's new in Flutter | Keynote
Learn what's new in Flutter since the 2.0 release, including updates to Dart, Flutter, tooling, and our ecosystem. Resources: ...

Navigating the Flutter source code (The Boring Flutter Development Show, Ep. 48)
Fitz continues Filip's deep dive into Flutter's source code and looks at native calls to see what they are doing and how they are doing it. From event scheduling to ...

Thank you for helping us reach 300K subscribers!
What the Flutter? There are over 300K members of the Flutter YouTube community! Thank you to each and everyone of you for subscribing to the channel and ...

Connectivity (Flutter Package of the Week)
Learn more about connectivity → http://goo.gle/pub-dev-connectivity The connectivity package at its core tells developers if ...

Life of a Widget?! | Decoding Flutter
Do widgets have lifecycles? What is a widget, exactly? Learn all this and more as we explore what widgets are and how they fit ...

Scrollbar (Flutter Widget of the Week)
Learn more about scrollbar → https://goo.gle/scrollbar By default, scrollable widgets in Flutter don't show a scrollbar. However ...

What is State?
Why is the checkbox not doing anything when I check it? A widget doesn't change, but the user interface should when it's ...

ExpansionPanel (Flutter Widget of the Week)
Learn more about ExpansionPanel → http://goo.gle/expansionpanel Want to create a list of items that expand to show more ...

Hot reload?! | Decoding Flutter
We all know and love Flutter's Hot Reload, but why does it sometimes seem like hot reload isn't working? Learn how hot reload ...

Beike helps users solve housing problems with Flutter (with English captions)
Beike Zhaofang [NYSE: BEKE] is a leading tech driven housing service platform, and is helping 300 million families have a better experience when searching for ...

A guided tour of the Flutter SDK (The Boring Flutter Development Show, Ep. 47)
Today, instead of building something, Filip gives a guided tour of the Flutter SDK. From widget down to Skia, learn more about the ...

RotatedBox (Flutter Widget of the Week)
Learn more about RotatedBox → http://goo.gle/rotatedbox Want to add an element to your design that is rotated by increments of ...

How do I make my first Flutter app
You've got a great idea for an app, but now you're not really sure where to start. In this series for beginners we'll show you how to ...

Introducing Decoding Flutter
Welcome to Decoding Flutter, where we'll answer your tough questions like: Why doesn't hot reload work? Or what's going on with ...

Push (Flutter Developer Story)
Push is an advanced strength training wearable that helps elite athletes optimize athletic training and improve performance.

flutter_slidable (Flutter Package of the Week)
Flutter_slideable is a package that provides a slidable widget that lets your users swipe to reveal actions without a lot of hassle.

#MyFlutterStory - Stories From Developers in Africa Using Flutter
Hear from and meet Flutter Developers from the community in Africa. How did they discover Flutter? Where do they get inspiration ...

gSkinner Flutter Folio Multiplatform demo
Grant Skinner demos the new Flutter Folio Multiplatform app demo that ships to 6 target platforms from a single source code base: ...

#AskFlutter leadership roundtable
Andrew Brogdon, Eric Seidel (Flutter's Director of Engineering ), Ian Hickson (Flutter's Tech Lead), Mariam Hasnany (Flutter Product Manager), and Frank Van ...

Wallace & Gromit: The Big Fix Up - A Flutter AR Experience
Combining the latest in augmented and mixed reality, Wallace & Gromit: The Big Fix Up, is an all new epic adventure built in ...

Flutter Engage Mashup - What will you make next?
We are inspired and amazed by the breadth and diversity of Flutter apps out there -- from the largest brand names to cool artistic designs from all over the world, ...

Top 10 things you need to know about Flutter Engage
Looking for the TL;DR of Flutter Engage? Never fear, we've got you covered with the top 10 things you need to know from the ...

Flutter Engage
Welcome to Flutter Engage! Stay tuned for our opening keynote covering exciting news, demos and features coming to Flutter.

Keynote (Flutter Engage)
In our opening Keynote, the Flutter team shares exciting news, demos and features coming to Flutter. Learn more about Flutter 2 ...

The little things: Becoming the mythical designer-developer
Flutter is an expressive tool that supports immediate iteration (through hot reload). This makes it a good fit for the elusive ...

Monetizing apps with Flutter
The only thing better than building apps is making a living by building apps. In this talk, Zoey and Andrew from the Flutter team talk ...

From mobile app to web app
Join Mariam Hasnany and John Ryan as they upgrade their mobile app into a web app. Learn how to adapt your app for desktop ...

Let's migrate this app to null safety
Migrating a Flutter app to null safety can be surprisingly painless. Leaf Petersen demonstrates how to use pub to find out if you're ...

Adaptive Layouts part 2 (The Boring Flutter Development Show, Ep. 46)
Filip and Fitz jump back into the app they started working on in part 1 with adaptive layout. They switch to an expandable desktop ...

#AskFlutter at Flutter Engage
At Flutter Engage on March 3rd, Flutter and Firebase leadership will be sitting down for an hour of #AskFlutter Q&A. Submit your questions about engineering ...

Animations (Flutter Package of the Week)
Flutter lets you customize animations down to the frame, but sometimes what you really want is great default animations to ...

Adaptive Layouts (The Boring Flutter Development Show, Ep. 45)
Filip and Fitz discuss adaptive design and walk through the process of creating an adaptive app for various browsers and devices.

PhysicalModel (Flutter Widget of the Week)
PhysicalModel allows you to add custom shadow effects to your app and customize its color and shape. Learn how to set up the ...

ImageFiltered (Flutter Widget of the Week)
ImageFiltered is a small but powerful widget that lets you blur or pixel-transform anything in your app. It's often a simpler ...

Device_info (Flutter Package of the Week)
Need to know more about the device that your app is running on like the operating system or model? Device_info is the package ...

Location (Flutter Package of the Week)
Sometimes to provide the best possible user experience, you need to know the GPS location of their device. The Location ...

Keeping it local: Managing a Flutter app's data
Data locality can make or break your app's performance. Sometimes storing data in the cloud isn't feasible. Or sometimes data ...

SwitchListTile (Flutter Widget of the Week)
Have you ever wished you could create toggle switches within your app? With SwitchListTile you can create a toggle that is ...

GridView (Flutter Widget of the Week)
Need to put items in a grid without having to use complex Row and Column combinations? GridView let's you do just that!

Null safety in Dart - Introduction
Dart is becoming null safe. In this video, we're going to introduce the concept and why it's valuable. You'll learn about the basics, ...

InteractiveViewer (Flutter Widget of the Week)
Is your widget just too big to be viewed on a tiny phone screen? We've got a widget for that! Wrap your humongous widget with ...

SliverAppBar (Flutter Widget of the Week)
SliverAppBar may sound like a familiar widget, but in this episode we show you how to use the new FlexibleSpaceBar's ...

sqflite (Flutter Package of the Week)
Sometimes, your app needs to save important data on the device. If it's _structured_ data, chances are you want to use a SQL ...

Finishing Favorites (The Boring Flutter Development Show, Ep. 43)
Fitz is back again, continuing looking at the Favorites list from the Hacker News app from the last episode. In this episode, clean ...

url_launcher (Package of the Week)
Does your app need a way to send users to external URLs - either to a webpage, or to send an email, or even sometimes to a phone number? The url_launcher ...

Using StreamBuilder to render a favorites list (The Boring Flutter Development Show, Ep. 42)
In this episode, Fitz shares a couple of UI tweaks, general updates, and rendering the favorite articles page in our long-running ...

#AskFlutter at Flutter Day: Session 3
Join Andrew Fitz Gibbon with John Ryan and Michael Thomsen for our third and final session of #AskFlutter at Flutter Day 2020.

Layout Explorer
The Layout Explorer visualizes how Flex widgets and their children are laid out. Albertus Angga, Flutter Software Engineering ...

#AskFlutter at Flutter Day: Session 1
Join Andrew Fitz Gibbon and John Ryan for our first session of #AskFlutter at Flutter Day 2020. Resources: Flutter Day codelabs → https://goo.gle/2DvjhY6 ...

Debugging (The Boring Flutter Development Show, Ep. 41)
In this episode, Filip and Fitz are back again, this time looking at debugging. Learn some helpful ways to tackle bugs and some ...

Welcome to Flutter
Flutter is a portable UI toolkit built by Google and the open source community and we've got tons of great videos showing you how ...

Null safety in Dart
Hear from Bob and Kevin on the upcoming null-safety feature in Dart. Resources: More information on null safety in Dart → https://goo.gle/2O9Ib0X Bob on ...

Dart DevTools
Filip's Flutter app is slow—can Kenzie, an engineer on the tooling team, use DevTools to make the app better and faster?

Package:async (Package of the Week)
If you're coding with Dart, you've probably used the SDK's built in async support for things like Streams. Did you know there's also ...

Building beautiful UIs with Flutter and CodePen
Join Zoey, Alex and Mariano to discover how you can create beautiful UIs on CodePen's new Flutter editor. Resources: CodePen ...

Flutter performance tips - Flutter in Focus
In this episode of Flutter in Focus, Filip Hracek introduces some basic concepts in Flutter performance. Stay tuned to learn more ...

Typography (The Boring Flutter Development Show, Ep. 40)
In this episode, Filip and Fitz walk through typography and why it is important to your app. Learn about Google Fonts and how it ...

AboutDialog (Flutter Widget of the Week)
Sometimes, an app needs a place to put the legalese, the version number, the licenses, and all the other small print. In fact, some ...

Logging (The Boring Flutter Development Show, Ep. 39)
In this solo episode, Filip walks through some ways of logging things in Flutter apps and plugins. He also talks about ...

CheckboxListTile (Flutter Widget of the Week)
Whenever you accomplish something, it's rewarding to be able to check it off your list. There's never just one thing to do, though, ...

Padding (Flutter Widget of the Week)
In an app with lots of widgets, things often get crowded. By using the Padding widget, you can add some space on any or all sides ...

DashCast part 4 (The Boring Flutter Development Show, Ep. 38)
Fitz and Emily look to troubleshoot the playback button and remove a download button that stays behind after a download is complete. While there, why not do ...

AnimatedWidget (Flutter Widget of the Week)
There are many different options for animations. In many cases, an AnimatedWidget is all you need to make a widget animated.

Custom page transitions (The Boring Flutter Development Show, Ep. 37)
In this episode, Fitz makes his Boring Show debut with Filip. Continuing with the Hacker News App, they add custom page ...

ClipOval (Flutter Widget of the Week)
Sometimes, a picture or some other part of your screen can look too box-ish. The ClipOval widget can clip its children to round ...

Nubank (Flutter Developer Stories)
Nubank is the largest digital bank outside Asia with over 20 million customers. After conducting a detailed investigation and ...

CupertinoActivityIndicator (Flutter Widget of the Week)
If you are using Cupertino widgets for your UI and your app needs a loading indicator, then CupertinoActivityIndicator is the widget ...

IgnorePointer (Flutter Widget of the Week)
It can be useful to prevent the user from interacting with parts of your app. When the UI changes under users' fingers, that's ...

Flutter Europe: Optimizing your Flutter App
Flutter is fast by default, but that doesn't mean you as a developer are off the hook. In this Flutter Europe talk, Filip walks the ...

Divider (Flutter Widget of the Week)
When two widgets need some space from each other it can be helpful to draw a line between them. The Divider widget is useful ...

Flutter Europe: Animations in Flutter done right
In this talk, Emily Fortuna and Andrew Fitz Gibbon discuss how to make animations in Flutter the correct way. If you have a vision ...

How to choose which Flutter Animation Widget is right for you? - Flutter in Focus
In previous episodes of Flutter in Focus, we learned how to implement animations using Implicit widgets, Explicit widgets, and ...

CircularProgressIndicator and LinearProgressIndicator (Flutter Widget of the Week)
Do you want to show that your Material app is making progress or working on something? We've got widgets for that!

ClipPath (Flutter Widget of the Week)
Do you want your widget to have a unique shape? ClipPath allows you to define your own widget shapes! Given a ...

Builder (Flutter Widget of the Week)
Most of the time, widgets in Flutter build without looking up any extra information about their parents. Sometimes, you might write ...

NotificationListener (Flutter Widget of the Week)
Did you know that widgets can dispatch notifications? For instance, Scrollable widgets like ListView dispatch scroll notifications.

Adding a custom navigation bar to DashCast (The Boring Flutter Development Show, Ep. 35)
In this episode of the Boring Show, Matt and Craig add a nav-bar to the DashCast app. Watch more episodes of the Boring Show here ...

ShaderMask (Flutter Widget of the Week)
ShaderMasks are one of Flutter's hidden gems! ShaderMasks let you apply a shader to one or more widgets in the tree. There's ...

Flutter Clock Highlight Reel
We challenged you to build a beautiful clock face UI for the Lenovo Smart Clock using Flutter. See what amazing creations you ...

ListWheelScrollView (Flutter Widget of the Week)
ListViews let the user see or choose from a number of items that wouldn't normally fit on the screen, but sometimes, an ordinary ...

SnackBar (Flutter Widget of the Week)
Ever wanted to show a quick message in your app? Then SnackBar is for you! SnackBar lets you pop up a message for a few ...

Dart-side and Dark-side (The Boring Flutter Development Show, Ep. 34)
In this episode of the Boring Show, Emily and Katerina work on The Hacker News app. Follow along as they clean up the code base and implement Dark Mode!

Drawer (Flutter Widget of the Week)
Need to provide navigation to other pages? Try using a Drawer! Learn more about Drawer → https://goo.gle/2MhwExx Learn ...

#AskFlutter: Multi-platform UI, native styling, and games (Flutter Interact '19)
Join us for #AskFlutter Q&A from Flutter Interact. Andrew Brogdon, John Ryan and Kate Lovett answer your questions on topics ...

DefaultTabController & TabBar (Flutter Widget of the Week)
Do you need to organize your widgets into tabs? The DefaultTabController, TabBar, and TabBarView widgets are for you.

Text in Flutter: Building a fancy chat bubble at GDD China
At Google Developer Days China 2019, Software Engineers Gary Qian and Chris Yang, discuss how Flutter is beautiful, ...

Image (Flutter Widget of the Week)
Need your app to display images? Flutter has you covered! Use the Image widget to render an image to the screen, wherever it ...

TweenAnimationBuilder (Flutter Widget of the Week)
Do you want a simple animation, but none of the built-in implicit animation widgets do the trick? TweenAnimationBuilder is here ...

Happy Holidays - The Flutter team
The Flutter team wishes everyone a happy Holiday! This is a time full of family, friends, and fun. Thank you for being part of our ...

Dart extension methods
Dart is adding a new feature called Extension Methods. It's one of the features that you can live without, but it does make some ...

Flutter Interact 2019 Highlights Reel
Flutter Interact brought designers and developers from around the world together for a day full of talks and demos by the Flutter ...

CupertinoActionSheet (Flutter Widget of the Week)
Are you building an iOS-style app that needs to present the user with a list of options for what to do next? CupertinoActionSheet is ...

Flutter Interact Keynote Recap
Did you miss Flutter Interact? Check out this Keynote recap to catch up on updates and announcements. Some topics of interest ...

Patch Me App (Flutter Developer Story)
When Aamani was born, it was both the happiest and scariest day for her parents. She was born with several medical conditions. Gaurav decided to learn Flutter ...

Developers using Flutter around the world
Flutter helps large and small companies build apps around the world! Hear from Flutter developers on how they're using Flutter to build apps that solve their ...

Robert Felker Flutter Artist: Generative Art
Robert Felker is pushing the limits of creativity with Flutter. He is a developer who uses Flutter to create uniquely designed ...

Use Rive and Flutter for dynamic, interactive, & animated experiences (Flutter Interact '19)
Learn how design and engineering work together to bring something as basic as a login form to life. We'll walk you through how to ...

Design and Build Clock Displays with Flutter (Flutter Interact '19)
Flutter's not only great for building apps, it's perfect for creating UIs for any kind of form factor or surface. Kim and Jack show us ...

Building in Accessibility with Flutter (Flutter Interact '19)
Ensuring your app can be used by everyone means building accessibility into it from the start. For some apps, that's easier said ...

Designing for the Web with Flutter (Flutter Interact '19)
The web is the largest application-delivery platform in existence. How does Flutter work on the web? Are Flutter web apps accessible and performant?

Material Theming with Flutter (Flutter Interact '19)
Discover how Google made Material Design more expressive and how teams can customize Material's style to better reflect their ...

Welcome to the Sparkle Party (Flutter Interact '19)
There's the work you do to make an app function. And then, there's the work you do to make that app beautiful; The added ...

Flutter Interact 2019 Livestream
On December 11, interact, innovate and collaborate with the global Flutter community. Streaming live around the globe. Schedule ...

Animation deep dive - Flutter in Focus
In past four episodes of this series, we talked about all of the practical ways to build animations in Flutter. In this episode of Flutter ...

Creating custom explicit animations with AnimatedBuilder & AnimatedWidget - Flutter in Focus
In this episode of Flutter in Focus, Emily Fortuna introduces why you might want to use AnimatedBuilder or AnimatedWidget ...

ToggleButtons (Flutter Widget of the Week)
Do you want to let your users select from a number of related options? Adding ToggleButtons to your app can help! Learn more ...

ColorFiltered (Flutter Widget of the Week)
It's easy to play around with color in Flutter widgets, and not just by modifying a color parameter. Check out the ColorFiltered ...

Making Your First Directional Animations with Built-in Explicit Animations
In this episode of Flutter in Focus, Andrew Fitz Gibbon introduces explicit animations in Flutter. We'll take one example and learn ...

DraggableScrollableSheet (Flutter Widget of the Week)
Are you looking to drag a widget onto the screen? Does that widget have scrollable content? DraggableScrollableSheet has you ...

How Flutter renders Widgets
At Google Developer Days China 2019, Andrew Fitz Gibbon and Matt Sullivan discuss how Flutter works under the hood, and dig ...

Creating your own Custom Implicit Animations with TweenAnimationBuilder
In this episode of Flutter in Focus, Emily Fortuna shows how to use TweenAnimationBuilder in Flutter to build a basic animation for ...

AnimatedCrossFade (Flutter Widget of the Week)
Cross fade is a cinematic term in which one thing gradually fades into another. Wouldn't it be useful to have something similar, but ...

Why Flutter uses Dart
Watch this video to learn how Flutter uses Dart to enable you to develop an app quickly and deploy it to multiple platforms!

Animation Basics with Implicit Animations
Welcome to our series on animation building blocks in Flutter with Martin Aguinis. We're going to introduce you to animations in ...

AlertDialog (Flutter Widget of the Week)
Do you want to alert someone about something or maybe get their input? Does your app have a critical junction where users need ...

Slider, RangeSlider, and CupertinoSlider(Flutter Widget of the Week)
Need a quick way to select from a range of values? The Slider widget selects a single value from a range. Learn more about ...

Best practice guidance for live streaming programming
Have you ever wanted to share your programming knowledge with others in real-time? Join Yan Chen, a UX research intern on ...

Flutter TV Announcement: Thank you for helping us reach 100k Subscribers!
In celebration of passing the 100000 subscriber mark, please enjoy Flutter TV, with your favorite host, Dash, and two of our new ...

DataTable (Flutter Widget of the Week)
Do you have some important data to show to the user in a table? Define your columns, rows, and automatically size cells with ...

DashCast is back! (The Boring Flutter Development Show, Ep. 32)
In this episode of the Boring Show, Emily and Matt work on DashCast, the ultimate in podcasting apps. Learn how to parse rss ...

SelectableText (Flutter Widget of the Week)
Have you ever wanted to make some display text in your app selectable? SelectableText is the widget for you! Learn more about ...

Isolates and multithreading in Flutter Part 2 (The Boring Flutter Development Show, Ep. 31)
In the last episode, we dove into isolates and multithreading in Dart. In this episode of the Boring Show, Filip and Andrew finish ...

Container (Flutter Widget of the Week)
Do you have a widget that needs some styling like background color, shape, or some size constraints? Try wrapping it in a ...

ListTile (Flutter Widget of the Week)
Why spend hours working out the perfect item layout with rows, columns, containers, and various amounts of spacing and styling ...

Flutter Onsite at Google Developer Days China 2019
At Google Developer Days China 2019, we announced Flutter 1.9 and that web support has been merged into the main flutter ...

Isolates and multithreading in Flutter (The Boring Flutter Development Show, Ep. 30)
In this episode of the Boring Show, Filip is joined by Andrew. Follow along as they dive into isolates and multithreading in Dart.

ListView (Flutter Widget of the Week)
Want a set of items to be viewable in a scrollable list? ListView is as simple as supplying a list of items and can be easily ...

FractionallySizedBox (Flutter Widget of the Week)
Sometimes your design calls for dimensions that are relative. FractionallySizedBox allows you to size the child to a fraction of the ...

Flutter Meets the Physical World at OSCON
Join Google Developer Advocates, Emily Fortuna and Matt Sullivan, for their OSCON talk as they live code Flutter mobile and web app with slick animations, and ...

Tencent Apps: Flutter Developer Story
There are numerous product teams at Tencent who share one common vision: to create a beautiful, smooth, connected ...

Custom Navigator (The Boring Flutter Development Show, Ep. 29)
In this episode of the Boring Show, Filip is joined by guest John, from the Dart team, and they implement a custom Navigator ...

AnimatedOpacity (Flutter Widget of the Week)
Want to change how visible a widget is with a nice animation? AnimatedOpacity can help by fading a widget into view or by ...

What's New in Flutter 1.9
Flutter 1.9 is here and ready for all your widget needs with some cool new features! In this release we have more built-in widgets, ...

Stack (Flutter Widget of the Week)
If you've ever wanted overlapping elements, then Stack is the widget for you! Stack allows you to overlay multiple widgets on top ...

Use CustomPaint to create a Drawing App (The Boring Flutter Development Show, Ep. 28)
In this episode of the Boring Show, Mary is joined by guest Tasha to build a drawing app that uses CustomPaint, to be used in ...

ConstrainedBox (Flutter Widget of the Week)
Flutter's ConstrainedBox widget is great to add requirements for a widget's sizing behavior. Wrapping widgets in a ...

Semantics (Flutter Widget of the Week)
Flutter's Semantics widget can annotate an app's UI with information about the meaning of other widgets. It has almost fifty ...

IndexedStack (Flutter Widget of the Week)
Want your users to easily switch between widgets in your app? IndexedStack has you covered! Swap between widgets, without ...

AnimatedPadding (Flutter Widget of the Week)
AnimatedPadding is a great way to provide smooth buffers and spaces between widgets and screen borders. Use this to ...

Create A Glitter Animation in Flutter (The Boring Flutter Development Show, Ep. 26)
In this episode of the Boring Show, Andrew is joined by guest Mary to explore her idea of creating sparkly glitter animations in ...

AnimatedPositioned (Flutter Widget of the Week)
AnimatedPositioned automatically transitions the child's position over a given duration whenever the given position changes.

AnimatedSwitcher (Flutter Widget of the Week)
The AnimatedSwitcher widget allows you to switch between two or more widgets with an animation as you transition. By default, a ...

Generator Functions - Flutter in Focus
This is the fifth video in the Flutter in Focus series on asynchronous coding in Dart. In this episode, learn about generator functions ...

ReorderableListView (Flutter Widget of the Week)
The ReorderableListView widget presents a list of items that users can reorder just by dragging things where they want them to go ...

A Database For The HN App (The Boring Flutter Development Show, Ep. 25)
The first multiplexed episode of the Boring Show! This episode features an engineer in Seattle (Emily) and another in Mountain View (Andrew) working together ...

Async/Await - Flutter in Focus
This is the fourth video in the Flutter in Focus series on asynchronous coding in Dart. In this episode, learn how to use the async ...

Flutter- Google’s latest innovation for mobile, web, and desktop apps
A Keynote talk by Martin Aguinis and Matt Sullivan at the WeAreDevelopers conference in Berlin discussing how Flutter is ...

RichText (Flutter Widget of the Week)
Do you want to show a line or paragraph that combines multiple styles? The RichText widget allows you to style your text. Whether ...

Flutter Presentación en Español
Martin Aguinis presenta sobre Flutter en Español durante México Partner Day. Flutter es el kit UI portátil de Google para crear ...

Pragmatic State Management Using Provider (The Boring Flutter Development Show, Ep. 24)
In this episode, Filip and Matt go over the Provider package, a straightforward way to manage state in a Flutter app. Watch the pair ...

Placeholder (Flutter Widget of the Week)
Need something to stand in for a widget you're not finished composing? Placeholder is here to help. It's a simple widget that ...

Dart Streams - Flutter in Focus
This is the third video in the Flutter in Focus series on asynchronous coding in Dart. In this episode, learn about the fundamentals ...

LimitedBox (Flutter Widget of the Week)
Ever had a widget that misbehaved when given unlimited size to grow? The LimitedBox widget provides size constraints to ...

Dart Futures - Flutter in Focus
This is the second video in the Flutter in Focus series on asynchronous coding in Dart. In this episode, learn everything about ...

AspectRatio (Flutter Widget of the Week)
The AspectRatio widget can be used to adjust the aspect ratio of widgets in your app. Use it to keep the ratio of your widget's width ...

AnimatedIcon (Flutter Widget of the Week)
Use the AnimatedIcon widget to drop an animated icon straight into your app. Flutter also has a great set of inanimate icons to ...

Isolates and Event Loops - Flutter in Focus
This is the first video in the Flutter in Focus series on asynchronous coding in Dart. In this episode, you can learn about how Dart's ...

InheritedWidget (Flutter Widget of the Week)
The InheritedWidget allows your child widgets to access data from the parent widget. Use it to save yourself the trouble of having ...

Reflectly App (Flutter Developer Story)
Reflectly's mission was to create a beautifully designed app to counter the stress of social media and technology. The team turned ...

Mudeo App Overview (The Boring Flutter Development Show, Ep. 23)
In this episode of the Boring Show, Andrew hosts Hillel, who discusses the overview of Mudeo App built with Flutter and Danielle ...

Spacer (Flutter Widget of the Week)
The Spacer widget can help you control how much space appears between widgets in a Row or Column. Just add it between two ...

MediaQuery (Flutter Widget of the Week)
Use MediaQuery to adjust your app's UI layout based on different screen sizes. You can also use it to make UI adjustments based ...

Source Generation and Writing Your Own Package (The Boring Flutter Development Show, Ep. 22)
In this episode of the Boring Show, Filip is joined by two guests: Swav and Diego. With Swav, they show how to use source ...

Flexible (Flutter Widget of the Week)
Use Flexible for resizing your widgets in rows and columns. You can use it to adjust how much space different child widgets take ...

Flutter Onsite at I/O 2019
What are the newest announcements that developers enjoy from Flutter this year and what are people most excited about?

AnimatedList (Flutter Widget of the Week)
Use AnimatedList to make your lists more dynamic. You can use it to animate your lists when inserting or removing items.

Pragmatic State Management in Flutter (Google I/O'19)
Declarative UI frameworks eliminate whole classes of bugs. But they can also be a puzzle until you figure out how to structure your ...

Dart: Productive, Fast, Multi-Platform - Pick 3 (Google I/O'19)
Dart is Flutter's secret sauce – enabling amazing application experiences without compromises. Learn how a carefully ...

Beyond Mobile: Building Flutter Apps for iOS, Android, Chrome OS, and Web (Google I/O'19)
Flutter is a great way to build mobile apps for iOS and Android from a single codebase. But did you know that Flutter is expanding ...

Building for iOS with Flutter (Google I/O'19)
In this talk, you'll learn how to put Flutter's Cupertino package to work building interfaces that iOS users will enjoy, plus some ...

Beyond Mobile: Material Design, Adaptable UIs, and Flutter (Google I/O'19)
The Material Components library has grown since Flutter's launch. Learn what's new, how to use it with our iOS Design Language library Cupertino, and how to ...

Flutter Create Highlight Reel
Flutter Create is a contest that challenges you to build something interesting, inspiring, and beautiful with Flutter using 5KB or less of Dart code. Read about the ...

Testing Flutter Apps - Making Sure Your Code Works (The Boring Flutter Development Show, Ep. 21)
In this episode of the Boring Show, Filip and guest Anthony go over how to test your Flutter apps before publishing it and the ...

Draggable (Flutter Widget of the Week)
Use Draggable to move and drag your widgets around. You can use it to build UIs for swapping around email addresses in an ...

ValueListenableBuilder (Flutter Widget of the Week)
Use ValueListenableBuilder to update your UI whenever the data changes. You can also use it to animate widgets! Learn more ...

Shrine with Square - Adding In App Payments (The Boring Flutter Development Show, Ep. 20)
In this episode of the Boring Show, Emily and guest, Shannon Skipper from Square, add in-app payments to a demo shopping ...

SizedBox (Flutter Widget of the Week)
Set the exact size of anything with the SizedBox widget. You can provide both dimensions, or just provide one and let the Flutter layout rules fill in the other.

Building DashCast, a podcast app in Flutter (The Boring Flutter Development Show, Ep. 19)
In this special April 1st edition of the Boring Show, Matt and guest star Dash get started on 'DashCast' a new podcast playing app.

Custom painting in Flutter - Flutter In Focus
Are you looking to create an advanced UI using Flutter's CustomPaint and CustomPainter widgets? Well, you're in luck! In this ...

Using WebViews in Flutter - Flutter In Focus
WebView is a component to render and display a webpage in your app without opening a browser. Emily Fortuna shows you how ...

Dismissible (Flutter Widget of the Week)
The Dismissible widget can be used to clear list items by swiping left or right. It supports two backgrounds for multi-direction ...

Computer Vision with ML Kit - Flutter In Focus
Are you looking to experiment with face detection, text recognition, image labeling, and more in your Flutter app? This is now ...

Flutter for Design (Mobile World Congress ‘19)
The Designer + Developer relationship is constantly evolving and critical for app experience success. Watch this session to learn ...

Flutter for Developers (Mobile World Congress ‘19)
Flutter is redefining how developers make apps for iOS and Android. This session focuses on the developer experience of Flutter, ...

Flutter for Business (Mobile World Congress ‘19)
Flutter, Google's toolkit for building beautiful native apps on iOS and Android from a single codebase, is used by companies ...

Refactoring! Also, advanced Dart language features (The Boring Flutter Development Show, Ep. 17)
In this episode of The Boring Flutter Development Show, Filip and Emily focus on advanced Dart language features. Together they ...

Highlights from Flutter at Mobile World Congress 2019
The Flutter team headed to Barcelona for Mobile World Congress 2019. At MWC, we released Flutter 1.2 and Dart 2.2. In this ...

Shared Preferences, Switch Class & Modal Bottom Sheets (The Boring Flutter Development Show, Ep. 16)
In this episode of The Boring Flutter Development Show, Andrew and Matt use the shared preferences package for Flutter to add a configuration option to the ...

Flutter’s Cupertino Package for iOS devs - Flutter In Focus
In this video, Andrew dives into the Flutter Cupertino widget package. The Cupertino package is built and maintained by the ...

AnimatedBuilder (Flutter Widget of the Week)
Flutter has great animation support - use the AnimatedBuilder widget to create animations. You can also manage the ...

Dream11 Fantasy Sports App (Flutter Developer Story)
Dream11 is India's largest sports gaming platform with 50 million registered users. With few devs on their team, and many new ...

Introducing Flutter in Focus!
Let's learn Flutter features in 10 minutes or less with our new series, Flutter in Focus! We'll not only show you the right code for a ...

The Flutter YouTube channel is here!
Welcome to the Flutter YouTube channel! We have a full lineup of shows that cover the ins and outs of building apps with Flutter.