|
2 | 2 | title: Codelabs
|
3 | 3 | description: >-
|
4 | 4 | Codelabs to help you quickly get started programming Flutter.
|
| 5 | +sitemap: false |
| 6 | +# This is a placeholder page (Firebase redirects this page's URL to another); |
| 7 | +# it is necessary to allow breadcrumbs to work. |
5 | 8 | ---
|
6 | 9 |
|
7 |
| -The Flutter codelabs provide a guided, |
8 |
| -hands-on coding experience. Some codelabs |
9 |
| -run in DartPad—no downloads required! |
10 |
| - |
11 |
| -## Good for beginners |
12 |
| - |
13 |
| -If you're new to Flutter, we recommend starting with |
14 |
| -one of the following codelabs: |
15 |
| - |
16 |
| -* [Building your first Flutter app][] (workshop)<br> |
17 |
| - An instructor-led version of our very popular |
18 |
| - "Write your first Flutter app" codelab |
19 |
| - (listed below). |
20 |
| - |
21 |
| -* [Your first Flutter app][]<br> |
22 |
| - Create a simple app that automatically generates cool-sounding names, |
23 |
| - such as "newstay", "lightstream", "mainbrake", or "graypine". |
24 |
| - This app is responsive and runs on mobile, desktop, and web. |
25 |
| - |
26 |
| -[Building your first Flutter app]: {{site.yt.watch}}?v=8sAyPDLorek |
27 |
| -[Your first Flutter app]: {{site.codelabs}}/codelabs/flutter-codelab-first |
28 |
| - |
29 |
| -## Next steps |
30 |
| - |
31 |
| -* [Records and Patterns in Dart 3][]<br> |
32 |
| - Discover Dart 3's new records and patterns features. |
33 |
| - Learn how you can use them in a Flutter app to help you |
34 |
| - write more readable and maintainable Dart code. |
35 |
| - |
36 |
| -* [Building scrolling experiences in Flutter][] (workshop)<br> |
37 |
| - Start with an app that performs simple, straightforward scrolling |
38 |
| - and enhance it to create fancy and custom scrolling effects |
39 |
| - by using slivers. |
40 |
| - |
41 |
| -* [Dart null safety in Action][] (workshop)<br> |
42 |
| - An instructor-led workshop introducing the features |
43 |
| - that enable Dart's null-safe type system. |
44 |
| - |
45 |
| -* [How to manage application states using inherited widgets][inherited-widget-ws] (workshop)<br> |
46 |
| - Learn how to manage the state of your app's data by |
47 |
| - using the `InheritedWidget` class, one of the |
48 |
| - [low-level state management][] classes provided |
49 |
| - by Flutter. |
50 |
| - |
51 |
| -[Records and Patterns in Dart 3]: {{site.codelabs}}/codelabs/dart-patterns-records |
52 |
| -[Dart null safety in Action]: {{site.yt.watch}}?v=HdKwuHQvArY |
53 |
| -[inherited-widget-ws]: {{site.yt.watch}}?v=LFcGPS6cGrY |
54 |
| -[low-level state management]: /data-and-backend/state-mgmt/options#inheritedwidget-inheritedmodel |
55 |
| - |
56 |
| -## Designing a Flutter UI |
57 |
| - |
58 |
| -Learn about Material Design and basic Flutter concepts, |
59 |
| -like layout and animations: |
60 |
| - |
61 |
| -* [How to debug layout issues with the Flutter Inspector][]<br> |
62 |
| - Not an official codelab, but step-by-step instructions on |
63 |
| - how to debug common layout problems using the Flutter |
64 |
| - Inspector and Layout Explorer. |
65 |
| - |
66 |
| -* [Animations in Flutter][]<br> |
67 |
| - Learn everything you need to know to build animated effects |
68 |
| - using Flutter. This codelab covers implicitly animated widgets, |
69 |
| - explicitly animated widgets, animation controllers, |
70 |
| - how to use components from the Material [animations][] package, |
71 |
| - and how to set up [Predictive Back][] on Android. |
72 |
| - |
73 |
| -* [Implicit animations][]<br> |
74 |
| - Use DartPad (no downloads required!) to learn how to use |
75 |
| - implicit animations to add motion and create |
76 |
| - visual effects for the widgets in your UI. |
77 |
| - |
78 |
| -* [Building Beautiful Transitions with Material Motion for Flutter][]<br> |
79 |
| - Learn how to use the Material [animations][] package to |
80 |
| - add pre-built transitions to a Material app called Reply. |
81 |
| - |
82 |
| -* [Take your Flutter app from boring to beautiful][]<br> |
83 |
| - Learn how to use some of the features in Material 3 |
84 |
| - to make your app more beautiful _and_ more responsive. |
85 |
| - |
86 |
| -* [MDC-101 Flutter: Material Components (MDC) Basics][]<br> |
87 |
| - Learn the basics of using Material Components by building |
88 |
| - a simple app with core components. The four MDC codelabs |
89 |
| - guide you through building an e-commerce app called Shrine. |
90 |
| - You'll start by building a login page using several of MDC |
91 |
| - Flutter's components. |
92 |
| - |
93 |
| -* [MDC-102 Flutter: Material Structure and Layout][]<br> |
94 |
| - Learn how to use Material for structure and layout in Flutter. |
95 |
| - Continue building the e-commerce app, introduced in MDC-101, |
96 |
| - by adding navigation, structure, and data. |
97 |
| - |
98 |
| -* [MDC-103 Flutter: Material Theming with Color, Shape, Elevation, and Type][]<br> |
99 |
| - Discover how Material Components for Flutter make it |
100 |
| - easy to differentiate your product, and express your |
101 |
| - brand through design. Continue building your e-commerce |
102 |
| - app by adding a home screen that displays products. |
103 |
| - |
104 |
| -* [MDC-104 Flutter: Material Advanced Components][]<br> |
105 |
| - Improve your design and learn to use our advanced |
106 |
| - component backdrop menu. Finish your e-commerce app |
107 |
| - by adding a backdrop with a menu that filters |
108 |
| - products by the selected category. |
109 |
| - |
110 |
| -* [Adaptive Apps in Flutter][]<br> |
111 |
| - Learn how to build a Flutter app that adapts to the |
112 |
| - platform that it's running on, be that Android, iOS, |
113 |
| - the web, Windows, macOS, or Linux. |
114 |
| - |
115 |
| -* [Building next generation UIs in Flutter][]<br> |
116 |
| - Learn how to build a Flutter app that uses the power of `flutter_animate`, |
117 |
| - fragment shaders, and particle fields. You will craft a user interface that |
118 |
| - evokes those science fiction movies and TV shows we all love |
119 |
| - watching when we aren't coding. |
120 |
| - |
121 |
| -[Building next generation UIs in Flutter]: {{site.codelabs}}/codelabs/flutter-next-gen-uis |
122 |
| -[Adaptive Apps in Flutter]: {{site.codelabs}}/codelabs/flutter-adaptive-app |
123 |
| -[animations]: {{site.pub}}/packages/animations |
124 |
| -[Building Beautiful Transitions with Material Motion for Flutter]: {{site.codelabs}}/codelabs/material-motion-flutter |
125 |
| -[Building scrolling experiences in Flutter]: {{site.yt.watch}}?v=YY-_yrZdjGc |
126 |
| -[How to debug layout issues with the Flutter Inspector]: {{site.flutter-medium}}/how-to-debug-layout-issues-with-the-flutter-inspector-87460a7b9db |
127 |
| -[Animations in Flutter]: {{site.codelabs}}/advanced-flutter-animations |
128 |
| -[Predictive Back]: {{site.docs}}/release/breaking-changes/android-predictive-back |
129 |
| -[Implicit animations]: /codelabs/implicit-animations |
130 |
| -[MDC-101 Flutter: Material Components (MDC) Basics]: {{site.codelabs}}/codelabs/mdc-101-flutter |
131 |
| -[MDC-102 Flutter: Material Structure and Layout]: {{site.codelabs}}/codelabs/mdc-102-flutter |
132 |
| -[MDC-103 Flutter: Material Theming with Color, Shape, Elevation, and Type]: {{site.codelabs}}/codelabs/mdc-103-flutter |
133 |
| -[MDC-104 Flutter: Material Advanced Components]: {{site.codelabs}}/codelabs/mdc-104-flutter |
134 |
| -[Take your Flutter app from boring to beautiful]: {{site.codelabs}}/codelabs/flutter-boring-to-beautiful |
135 |
| - |
136 |
| -## Using Flutter with ... |
137 |
| - |
138 |
| -Learn how to use Flutter with other technologies. |
139 |
| - |
140 |
| -{% comment %} |
141 |
| - Once we get at least 3 codelabs on a specific topic, |
142 |
| - add a subheader for that topic. |
143 |
| -{% endcomment %} |
144 |
| - |
145 |
| -### Monetizing Flutter |
146 |
| - |
147 |
| -* [Adding AdMob Ads to a Flutter app][]<br> |
148 |
| - Learn how to add an AdMob banner, an interstitial ad, |
149 |
| - and a rewarded ad to an app called Awesome Drawing Quiz, |
150 |
| - a game that lets players guess the name of the drawing. |
151 |
| - |
152 |
| -* [Adding an AdMob banner and native inline ads to a Flutter app][]<br> |
153 |
| - Learn how to implement inline banner and native ads |
154 |
| - to a travel booking app that lists possible |
155 |
| - flight destinations. |
156 |
| - |
157 |
| -* [Adding in-app purchases to your Flutter app][]<br> |
158 |
| - Extend a simple gaming app that uses the Dash mascot as |
159 |
| - currency to offer three types of in-app purchases: |
160 |
| - consumable, non-consumable, and subscription. |
161 |
| - |
162 |
| -[Adding AdMob Ads to a Flutter app]: {{site.codelabs}}/codelabs/admob-ads-in-flutter |
163 |
| -[Adding an AdMob banner and native inline ads to a Flutter app]: {{site.codelabs}}/codelabs/admob-inline-ads-in-flutter |
164 |
| -[Adding in-app purchases to your Flutter app]: {{site.codelabs}}/codelabs/flutter-in-app-purchases |
165 |
| - |
166 |
| -### Flutter and Firebase |
167 |
| - |
168 |
| -* [Build a Gemini powered Flutter app][]—**NEW**<br> |
169 |
| - In this codelab, you’ll learn how to integrate Gemini into your Flutter |
170 |
| - app using Vertex AI in Firebase. |
171 |
| - |
172 |
| -* [Add a user authentication flow to a Flutter app using FirebaseUI][]<br> |
173 |
| - Learn how to add Firebase authentication to a Flutter app |
174 |
| - with only a few lines of code. |
175 |
| - |
176 |
| -* [Get to know Firebase for Flutter][firebase-ws] (workshop)<br> |
177 |
| - An instructor-led version of our popular |
178 |
| - "Get to know Firebase for Flutter" codelab |
179 |
| - (listed below). |
180 |
| - |
181 |
| -* [Get to know Firebase for Flutter][]<br> |
182 |
| - Build an event RSVP and guestbook chat app on both Android |
183 |
| - and iOS using Flutter, authenticating users with Firebase |
184 |
| - Authentication, and sync data using Cloud Firestore. |
185 |
| - |
186 |
| -* [Local development for your Flutter apps using the Firebase Emulator Suite][]<br> |
187 |
| - Learn how to use the Firebase Emulator Suite when |
188 |
| - developing with Flutter. You will also learn to use |
189 |
| - the Auth and Firestore emulators. |
190 |
| - |
191 |
| -* [Send and receive notifications for a Flutter app using Firebase Cloud Messaging][]<br> |
192 |
| - Learn how to develop a multi-platform app with Flutter |
193 |
| - and Firebase Cloud Messaging, integrating FCM to send and |
194 |
| - receive messages on Android, iOS, and web. |
195 |
| - |
196 |
| -[Build a Gemini powered Flutter app]: {{site.codelabs}}/codelabs/flutter-gemini-colorist |
197 |
| -[Add a user authentication flow to a Flutter app using FirebaseUI]: {{site.firebase}}/codelabs/firebase-auth-in-flutter-apps |
198 |
| -[firebase-ws]: {{site.yt.watch}}?v=wUSkeTaBonA |
199 |
| -[Get to know Firebase for Flutter]: {{site.firebase}}/codelabs/firebase-get-to-know-flutter |
200 |
| -[Local development for your Flutter apps using the Firebase Emulator Suite]: {{site.firebase}}/codelabs/get-started-firebase-emulators-and-flutter |
201 |
| -[Send and receive notifications for a Flutter app using Firebase Cloud Messaging]: {{site.firebase}}/codelabs/firebase-fcm-flutter |
202 |
| - |
203 |
| -### Build games with Flutter |
204 |
| - |
205 |
| -* [Add sound and music to your Flutter game with SoLoud][]—**NEW**<br> |
206 |
| - The [SoLoud][] package, a free and portable engine, |
207 |
| - delivers the low-latency and high-performance sound that's |
208 |
| - essential for many games. |
209 |
| - In this codelab, learn how to add SoLoud to your game. |
210 |
| - |
211 |
| -* [Build a 2D physics game with Flutter and Flame][]—**NEW**<br> |
212 |
| - This codelab guides you through crafting game mechanics in a |
213 |
| - Flutter and Flame game using a 2D physics simulation along |
214 |
| - the lines of Box2D, called [Forge2D][]. |
215 |
| - |
216 |
| -* [Build a word puzzle with Flutter][]—**NEW**<br> |
217 |
| - This codelab focuses on building word puzzle games, |
218 |
| - and dives into using Flutter's background processing |
219 |
| - to generate expansive crossword-style grids of interlocking words. |
220 |
| - |
221 |
| -* [Introduction to Flame with Flutter][]<br> |
222 |
| - Build a Breakout clone using the Flame 2D game engine and |
223 |
| - embed it in a Flutter wrapper. You will use Flame's Effects |
224 |
| - to animate and remove components, along with the `google_fonts` and |
225 |
| - `flutter_animate` packages, to make the whole game look well designed. |
226 |
| - |
227 |
| -[Add sound and music to your Flutter game with SoLoud]: {{site.codelabs}}/codelabs/flutter-codelab-soloud |
228 |
| -[Build a 2D physics game with Flutter and Flame]: {{site.codelabs}}/codelabs/flutter-flame-forge2d |
229 |
| -[Build a word puzzle with Flutter]: {{site.codelabs}}/codelabs/flutter-word-puzzle |
230 |
| -[Forge2D]: {{site.pub-pkg}}/forge2d |
231 |
| -[Introduction to Flame with Flutter]: {{site.codelabs}}/codelabs/flutter-flame-brick-breaker |
232 |
| -[SoLoud]: {{site.pub-pkg}}/flutter_soloud |
233 |
| - |
234 |
| -### Flutter and TensorFlow |
235 |
| - |
236 |
| -* [Create a custom text-classification model with TensorFlow Lite Model Maker][]<br> |
237 |
| - |
238 |
| -* [Create a Flutter app to classify texts with TensorFlow][]<br> |
239 |
| - Learn how to run a text-classification inference from a Flutter |
240 |
| - app with TensorFlow Serving through REST and gRPC. |
241 |
| - |
242 |
| -* [Train a comment-spam detection model with TensorFlow Lite Model Maker][]<br> |
243 |
| - Learn how to install the TensorFlow Lite Model Maker with Colab, |
244 |
| - how to use a data loader, and how to build a model. |
245 |
| - |
246 |
| -[Create a custom text-classification model with TensorFlow Lite Model Maker]: {{site.developers}}/codelabs/classify-text-update-tensorflow-serving |
247 |
| -[Create a Flutter app to classify texts with TensorFlow]: {{site.developers}}/codelabs/classify-texts-flutter-tensorflow-serving |
248 |
| -[Train a comment-spam detection model with TensorFlow Lite Model Maker]: {{site.developers}}/codelabs/classify-text-tensorflow-serving |
249 |
| - |
250 |
| -### Flutter and other technologies |
251 |
| - |
252 |
| -* [Adding Google Maps to a Flutter app][]<br> |
253 |
| - Display a Google map in an app, retrieve data from a |
254 |
| - web service, and display the data as markers on the map. |
255 |
| - |
256 |
| -* [Adding WebView to your Flutter app][]<br> |
257 |
| - With the WebView Flutter plugin you can add a WebView |
258 |
| - widget to your Android or iOS Flutter app. |
259 |
| - |
260 |
| -* [Build voice bots for mobile with Dialogflow and Flutter][] (workshop)<br> |
261 |
| - An instructor-led version of the Dialogflow |
262 |
| - and Flutter codelab (listed below). |
263 |
| - |
264 |
| -* [Build voice bots for Android with Dialogflow and Flutter][]<br> |
265 |
| - Learn how to build a mobile FAQ bot that can answer most |
266 |
| - common questions about the tool Dialogflow. End users |
267 |
| - can interact with the text interface or stream a voice |
268 |
| - interaction via the built-in microphone of a mobile device. |
269 |
| - |
270 |
| -* [Using FFI in a Flutter plugin][]<br> |
271 |
| - Learn how to use Dart's FFI (foreign function interface) |
272 |
| - library, ffigen, allowing you to leverage |
273 |
| - existing native libraries that provide a |
274 |
| - C interface. |
275 |
| - |
276 |
| -* [Create haikus about Google products with the PaLM API and Flutter][]<br> |
277 |
| - Learn how to build an app that uses the PaLM API to |
278 |
| - generate haikus based on Google product names. The |
279 |
| - PaLM API gives you access to Google's |
280 |
| - state-of-the-art large language models. |
281 |
| - |
282 |
| -[Adding Google Maps to a Flutter app]: {{site.codelabs}}/codelabs/google-maps-in-flutter |
283 |
| -[Adding WebView to your Flutter app]: {{site.codelabs}}/codelabs/flutter-webview |
284 |
| -[Build voice bots for Android with Dialogflow and Flutter]: {{site.codelabs}}/codelabs/dialogflow-flutter |
285 |
| -[Build voice bots for mobile with Dialogflow and Flutter]: {{site.yt.watch}}?v=O7JfSF3CJ84 |
286 |
| -[Create haikus about Google products with the PaLM API and Flutter]: {{site.codelabs}}/haiku-generator |
287 |
| -[Using FFI in a Flutter plugin]: {{site.codelabs}}/codelabs/flutter-ffigen |
288 |
| - |
289 |
| -## Testing |
290 |
| - |
291 |
| -Learn how to test your Flutter application. |
292 |
| - |
293 |
| -* [How to test a Flutter app][]<br> |
294 |
| - Start with a simple app that manages state with the Provider package. |
295 |
| - Unit test the provider package. Write widget tests for two of the |
296 |
| - widgets. Use Flutter Driver to create an integration test. |
297 |
| - |
298 |
| -[How to test a Flutter app]: {{site.codelabs}}/codelabs/flutter-app-testing/ |
299 |
| - |
300 |
| -## Writing platform-specific code |
301 |
| - |
302 |
| -Learn how to write code that's targeted for specific platforms, |
303 |
| -like iOS, Android, desktop, or the web. |
304 |
| - |
305 |
| -* [Write a Flutter desktop application][]<br> |
306 |
| - Build a Flutter desktop app (Windows, Linux, or macOS) |
307 |
| - that accesses GitHub APIs to retrieve your repositories, |
308 |
| - assigned issues, and pull requests. As part of this task, |
309 |
| - create and use plugins to interact with native APIs and desktop applications, |
310 |
| - and use code generation to build type-safe client libraries for GitHub's APIs. |
311 |
| - |
312 |
| -* [Adding a Home Screen widget to your Flutter app][home-screen]<br> |
313 |
| - Learn how to add a Home Screen widget to your Flutter app |
314 |
| - on iOS. This applies to your home screen, lock screen, or the |
315 |
| - today view. |
316 |
| - |
317 |
| -[home-screen]: {{site.codelabs}}/flutter-home-screen-widgets |
318 |
| -[provider]: {{site.pub-pkg}}/provider |
319 |
| -[Write a Flutter desktop application]: {{site.codelabs}}/codelabs/flutter-github-client |
| 10 | +The Flutter codelabs provide a guided, hands-on coding experience with Flutter! |
0 commit comments