mirror of https://github.com/flutter/samples.git
600 lines
18 KiB
600 lines
18 KiB
samples:
|
|
- name: Material 3
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/material_3_components.png
|
|
alt: Components tab of the Material 3 demo
|
|
- url: images/material_3_color.png
|
|
alt: Colors tab of the Material 3 demo
|
|
- url: images/material_3_typography.png
|
|
alt: Typography tab of the Material 3 demo
|
|
- url: images/material_3_elevation.png
|
|
alt: Elevation tab of the Material 3 demo
|
|
- url: images/material_3_green.png
|
|
alt: Elevation tab of the Material 3 demo with seed color of green
|
|
source: https://github.com/flutter/samples/tree/main/material_3_demo
|
|
description: >
|
|
Showcases Material 3 features in the Flutter Material library.
|
|
These features include updated components, typography, color system and elevation support.
|
|
difficulty: beginner
|
|
widgets:
|
|
- Theme
|
|
- TextButton
|
|
- ElevatedButton
|
|
- OutlinedButton
|
|
- Text
|
|
- Card
|
|
- AppBar
|
|
packages: [ ]
|
|
tags: [ "material", "design", "gallery" ]
|
|
platforms: [ "ios", "android", "web", "windows", "macos", "linux" ]
|
|
type: demo
|
|
web: web/material_3_demo
|
|
|
|
- name: Rich Text Editor
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/simple_editor_active.png
|
|
alt: Advanced text editing with activity
|
|
- url: images/simple_editor_initial.png
|
|
alt: Advanced text editing in initial state
|
|
source: https://github.com/flutter/samples/tree/main/simplistic_editor
|
|
description: >
|
|
This is a fancy text editor sample which shows how to consume fine-grain
|
|
text editing and selection details from the framework's TextEditingDeltas
|
|
APIs.
|
|
difficulty: advanced
|
|
widgets:
|
|
- TextInput
|
|
packages: []
|
|
tags: ["demo", "text"]
|
|
platforms: ["ios", "android", "web", "windows", "macos", "linux"]
|
|
type: demo
|
|
web: web/simplistic_editor
|
|
|
|
- name: Gallery
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/gallery1.png
|
|
alt: Gallery app screenshot
|
|
- url: images/gallery2.png
|
|
alt: Rally app screenshot
|
|
- url: images/gallery3.png
|
|
alt: Fortnightly app screenshot
|
|
- url: images/gallery4.png
|
|
alt: Crane app screenshot
|
|
- url: images/gallery5.png
|
|
alt: Shrine app screenshot
|
|
source: https://github.com/flutter/gallery
|
|
web: https://flutter-gallery-archive.web.app
|
|
description: >
|
|
A collection of Material Design & Cupertino widgets, behaviors,
|
|
and vignettes implemented with Flutter.
|
|
difficulty: intermediate
|
|
widgets:
|
|
- AlertDialog
|
|
- AppBar
|
|
- BottomAppBar
|
|
- BottomNavigationBar
|
|
- BottomSheet
|
|
- Card
|
|
- Checkbox
|
|
- ChoiceChip
|
|
- CircularProgressIndicator
|
|
- Container
|
|
- CupertinoActivityIndicator
|
|
- CupertinoAlertDialog
|
|
- CupertinoButton
|
|
- CupertinoButton
|
|
- CupertinoDatePicker
|
|
- CupertinoDialogAction
|
|
- CupertinoNavigationBar
|
|
- CupertinoPageScaffold
|
|
- CupertinoSegmentedControl
|
|
- CupertinoSlider
|
|
- CupertinoSlidingSegmentedControl
|
|
- CupertinoSliverRefreshControl
|
|
- CupertinoSwitch
|
|
- CupertinoTabView
|
|
- CupertinoTextField
|
|
- CupertinoTheme
|
|
- DayPicker
|
|
- FilterChip
|
|
- FlatButton
|
|
- FloatingActionButton
|
|
- GridTile
|
|
- GridView
|
|
- Icon
|
|
- InputChip
|
|
- LayoutBuilder
|
|
- LinearProgressIndicator
|
|
- ListTile
|
|
- ListView
|
|
- MaterialBanner
|
|
- MonthPicker
|
|
- PaginatedDataTable
|
|
- PopupMenuButton
|
|
- PopupMenuItem
|
|
- Radio
|
|
- RaisedButton
|
|
- RangeSlider
|
|
- Scaffold
|
|
- SimpleDialog
|
|
- Slider
|
|
- SnackBar
|
|
- Switch
|
|
- TabBar
|
|
- TabBarView
|
|
- TextField
|
|
- TextFormField
|
|
- Tooltip
|
|
- YearPicker
|
|
packages:
|
|
- flutter/material
|
|
- flutter/cupertino
|
|
- google_fonts
|
|
- scoped_model
|
|
tags: ['intermediate', 'sample', 'gallery', 'material', 'design', 'vignettes']
|
|
platforms: ['web', 'ios', 'android']
|
|
type: demo
|
|
|
|
- name: Web Embedding
|
|
author: Flutter and Angular
|
|
screenshots:
|
|
- url: images/web_embedding1.png
|
|
alt: A Flutter app embedded in an Angular app
|
|
- url: images/web_embedding2.png
|
|
alt: A Flutter app embedded in an Angular app
|
|
source: https://github.com/flutter/samples/tree/main/web_embedding
|
|
description: >
|
|
An example app showing how to embed Flutter in a web application using Angular
|
|
difficulty: advanced
|
|
widgets: []
|
|
packages: []
|
|
platforms: ['web']
|
|
tags: ['demo', 'web', 'add-to-app', 'embedding']
|
|
web: https://flutter-angular.web.app/
|
|
type: demo
|
|
|
|
- name: Add to App
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/add_to_app1.png
|
|
alt: Add_to_app screenshot
|
|
- url: images/add_to_app2.png
|
|
alt: Add_to_app screenshot
|
|
source: https://github.com/flutter/samples/tree/main/add_to_app
|
|
description: >
|
|
Android and iOS projects that each import a standalone Flutter module.
|
|
difficulty: advanced
|
|
widgets:
|
|
- WidgetsFlutterBinding
|
|
- MethodChannel
|
|
packages:
|
|
- flutter/material
|
|
- flutter/services
|
|
- provider
|
|
tags: ['advanced', 'sample', 'add-to-app', 'android', 'ios', 'native', 'embedding']
|
|
platforms: ['ios', 'android']
|
|
type: sample
|
|
|
|
- name: Code Sharing
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/code_sharing.jpg
|
|
alt: Counter app communicating with server
|
|
source: https://github.com/flutter/samples/tree/main/code_sharing
|
|
description: >
|
|
Demonstrates simple way to share business logic between a Flutter app and
|
|
a server running Dart.
|
|
difficulty: intermediate
|
|
packages:
|
|
- freezed
|
|
- shelf
|
|
tags: ['intermediate', 'sample', 'code-sharing', 'dart', 'server']
|
|
platforms: ['android', 'ios', 'linux', 'macos', 'web', 'windows']
|
|
type: sample
|
|
|
|
- name: Animations
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/animations1.png
|
|
alt: Animations sample screenshot
|
|
- url: images/animations2.png
|
|
alt: Animations sample screenshot
|
|
- url: images/animations3.png
|
|
alt: Animations sample screenshot
|
|
source: https://github.com/flutter/samples/tree/main/animations
|
|
description: >
|
|
Sample apps that showcasing Flutter's animation features.
|
|
difficulty: advanced
|
|
widgets:
|
|
- AnimatedContainer
|
|
- PageRouteBuilder
|
|
- AnimationController
|
|
- SingleTickerProviderStateMixin
|
|
- Tween
|
|
- AnimatedBuilder
|
|
- TweenSequence
|
|
- TweenSequenceItem
|
|
packages:
|
|
- flutter/material
|
|
tags: ['intermediate', 'sample', 'animation']
|
|
platforms: ['ios', 'android', 'web']
|
|
type: sample
|
|
web: web/animations
|
|
|
|
- name: Flutter Maps Firestore
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/flutter_maps_firestore1.png
|
|
alt: Flutter maps firestore screenshot
|
|
- url: images/flutter_maps_firestore2.png
|
|
alt: Flutter maps firestore screenshot
|
|
source: https://github.com/flutter/samples/tree/main/flutter_maps_firestore
|
|
description: >
|
|
A Flutter sample app that shows the end product of the Cloud Next '19 talk
|
|
Build Mobile Apps With Flutter and Google Maps.
|
|
difficulty: advanced
|
|
widgets:
|
|
- GoogleMap
|
|
packages:
|
|
- flutter/material
|
|
- cloud_firestore
|
|
- google_maps_flutter
|
|
- google_maps_webservice
|
|
tags: ['intermediate', 'sample', 'firebase', 'maps']
|
|
platforms: ['ios', 'android']
|
|
type: sample
|
|
|
|
- name: Isolate Example
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/isolate1.png
|
|
alt: Isolate example screenshot
|
|
- url: images/isolate2.png
|
|
alt: Isolate example screenshot
|
|
- url: images/isolate3.png
|
|
alt: Isolate example screenshot
|
|
source: https://github.com/flutter/samples/tree/main/isolate_example
|
|
description: >
|
|
A sample application that demonstrate best practices when using
|
|
isolates.
|
|
difficulty: intermediate
|
|
widgets:
|
|
- FutureBuilder
|
|
- AnimationController
|
|
packages:
|
|
- dart:isolate
|
|
- dart:math
|
|
tags: ['intermediate', 'sample', 'isolates', 'concurrency']
|
|
platforms: ['ios', 'android']
|
|
type: sample
|
|
|
|
- name: Place Tracker
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/place_tracker1.png
|
|
alt: Place Tracker screenshot
|
|
- url: images/place_tracker2.png
|
|
alt: Place Tracker screenshot
|
|
- url: images/place_tracker3.png
|
|
alt: Place Tracker screenshot
|
|
- url: images/place_tracker4.png
|
|
alt: Place Tracker screenshot
|
|
source: https://github.com/flutter/samples/tree/main/place_tracker
|
|
description: >
|
|
A sample place tracking app that uses the google_maps_flutter plugin. Keep
|
|
track of your favorite places, places you've visited, and places you want
|
|
to go. View details about these places, show them on a map, and get
|
|
directions to them.
|
|
difficulty: intermediate
|
|
widgets:
|
|
- GoogleMap
|
|
packages:
|
|
- google_maps_flutter
|
|
tags: ['intermediate', 'sample', 'json', 'serialization']
|
|
platforms: ['android']
|
|
type: sample
|
|
|
|
- name: Platform Design
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/platform_design1.png
|
|
alt: Platform Design screenshot
|
|
- url: images/platform_design2.png
|
|
alt: Platform Design screenshot
|
|
- url: images/platform_design3.png
|
|
alt: Platform Design screenshot
|
|
- url: images/platform_design4.png
|
|
alt: Platform Design screenshot
|
|
- url: images/platform_design5.png
|
|
alt: Platform Design screenshot
|
|
- url: images/platform_design6.png
|
|
alt: Platform Design screenshot
|
|
- url: images/platform_design7.png
|
|
alt: Platform Design screenshot
|
|
source: https://github.com/flutter/samples/tree/main/platform_design
|
|
description: >
|
|
A Flutter app that maximizes application code reuse while adhering to
|
|
different design patterns on Android and iOS
|
|
difficulty: advanced
|
|
widgets:
|
|
- TargetPlatform
|
|
packages:
|
|
- flutter/material
|
|
- flutter/cupertino
|
|
tags: ['advanced', 'sample', 'ios']
|
|
platforms: ['ios', 'android']
|
|
type: sample
|
|
|
|
- name: Platform View Swift
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/platform_view_swift1.png
|
|
alt: Platform View Swift screenshot
|
|
- url: images/platform_view_swift2.png
|
|
alt: Platform View Swift screenshot
|
|
source: https://github.com/flutter/samples/tree/main/platform_view_swift
|
|
description: >
|
|
A Flutter sample app that combines a native iOS UIViewController with a
|
|
full-screen Flutter view.
|
|
difficulty: intermediate
|
|
widgets:
|
|
- MethodChannel
|
|
packages:
|
|
- flutter/material
|
|
- flutter/services
|
|
tags: ['advanced', 'sample', 'ios']
|
|
platforms: ['ios']
|
|
type: sample
|
|
|
|
- name: Infinite List
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/infinite_list.png
|
|
alt: Infinite List screenshot
|
|
source: https://github.com/flutter/samples/tree/main/infinite_list
|
|
description: >
|
|
A Flutter sample app that shows an implementation of the "infinite list" UX pattern.
|
|
That is, a list is shown to the user as if it was continuous although it is internally
|
|
paginated. This is a common feature of mobile apps, from shopping catalogs
|
|
through search engines to social media clients.
|
|
difficulty: intermediate
|
|
widgets:
|
|
- Selector
|
|
- AppBar
|
|
- ListTile
|
|
- ListView
|
|
packages:
|
|
- provider
|
|
- meta
|
|
tags: ['sample', 'material', 'design', 'android', 'ios']
|
|
platforms: ['ios', 'android']
|
|
type: sample
|
|
|
|
- name: IOS App Clip
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/ios_app_clip.png
|
|
alt: IOS App Clip screenshot
|
|
source: https://github.com/flutter/samples/tree/main/ios_app_clip
|
|
description: >
|
|
A Flutter sample app that shows the demonstrating integration with iOS 14's App Clip,
|
|
the App Clip target is rendered by Flutter and uses a plugin.
|
|
difficulty: intermediate
|
|
widgets:
|
|
- CupertinoApp
|
|
- AppBar
|
|
- FlutterLogo
|
|
packages:
|
|
- device_info
|
|
tags: ['sample', 'Device Info', 'ios']
|
|
platforms: ['ios']
|
|
type: sample
|
|
|
|
- name: Testing App
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/testing_app1.png
|
|
alt: Testing App screenshot
|
|
- url: images/testing_app2.png
|
|
alt: Testing App screenshot
|
|
source: https://github.com/flutter/samples/tree/main/testing_app
|
|
description: >
|
|
A Flutter sample app that shows different types of testing in Flutter.
|
|
difficulty: intermediate
|
|
widgets:
|
|
- AppBar
|
|
- ListTile
|
|
- ListView
|
|
- Snackbar
|
|
packages:
|
|
- provider
|
|
tags: ['sample', 'material', 'android', 'ios']
|
|
platforms: ['ios', 'android']
|
|
type: sample
|
|
|
|
- name: Provider Shopper
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/provider_shopper1.png
|
|
alt: Provider Shopper screenshot
|
|
- url: images/provider_shopper2.png
|
|
alt: Provider Shopper screenshot
|
|
- url: images/provider_shopper3.png
|
|
alt: Provider Shopper screenshot
|
|
source: https://github.com/flutter/samples/tree/main/provider_shopper
|
|
description: >
|
|
A Flutter sample app that shows a state management approach using the Provider package.
|
|
difficulty: intermediate
|
|
widgets:
|
|
- Provider
|
|
- MultiProvider
|
|
- ChangeNotifier
|
|
packages:
|
|
- provider
|
|
tags: ['intermediate', 'sample', 'provider']
|
|
platforms: ['ios', 'android', 'web']
|
|
type: sample
|
|
web: web/provider_shopper
|
|
|
|
- name: Web Dashboard
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/web_dashboard1.png
|
|
alt: Web Dashboard screenshot
|
|
- url: images/web_dashboard2.png
|
|
alt: Web Dashboard screenshot
|
|
- url: images/web_dashboard3.png
|
|
alt: Web Dashboard screenshot
|
|
source: https://github.com/flutter/samples/tree/main/experimental/web_dashboard
|
|
description: >
|
|
A dashboard app that displays daily entries. Demonstrates AdaptiveScaffold and NavigationRail. Showcases how to
|
|
use Firebase, but uses a mock backend by default.
|
|
difficulty: advanced
|
|
widgets:
|
|
- AdaptiveScaffold
|
|
- NavigationRail
|
|
- FutureBuilder
|
|
- StreamBuilder
|
|
packages:
|
|
- firebase
|
|
tags: ['intermediate', 'sample', 'firebase']
|
|
platforms: ['ios', 'android', 'web']
|
|
type: sample
|
|
web: web/web_dashboard
|
|
|
|
- name: Form App
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/form_app1.png
|
|
alt: Form App screenshot
|
|
- url: images/form_app2.png
|
|
alt: Form App screenshot
|
|
- url: images/form_app3.png
|
|
alt: Form App screenshot
|
|
source: https://github.com/flutter/samples/tree/main/form_app
|
|
description: >
|
|
A Flutter sample app that shows how to use Forms.
|
|
difficulty: intermediate
|
|
widgets:
|
|
- Form
|
|
packages: []
|
|
tags: ['intermediate', 'sample', 'forms']
|
|
platforms: ['ios', 'android', 'web']
|
|
type: sample
|
|
web: web/form_app
|
|
|
|
- name: Navigation and Routing
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/navigation_and_routing1.png
|
|
alt: Navigation and Routing screenshot
|
|
- url: images/navigation_and_routing2.png
|
|
alt: Navigation and Routing screenshot
|
|
- url: images/navigation_and_routing3.png
|
|
alt: Navigation and Routing screenshot
|
|
- url: images/navigation_and_routing4.png
|
|
alt: Navigation and Routing screenshot
|
|
source: https://github.com/flutter/samples/tree/main/navigation_and_routing
|
|
description: >
|
|
A Flutter sample app that shows how to use how to use the Router API to
|
|
handle common navigation scenarios.
|
|
difficulty: advanced
|
|
widgets:
|
|
- Router
|
|
packages: []
|
|
tags: ['advanced', 'sample', 'navigation', 'router']
|
|
platforms: ['ios', 'android', 'web']
|
|
type: sample
|
|
web: web/navigation_and_routing
|
|
|
|
- name: Photo Search app
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/desktop_photo_search-fluent_ui.png
|
|
alt: Desktop Photo Search with FluentUI widgets
|
|
- url: images/desktop_photo_search-material.png
|
|
alt: Desktop Photo Search with Material widgets
|
|
source: https://github.com/flutter/samples/tree/main/desktop_photo_search
|
|
description: >
|
|
This is the Photo Search app, built out with two different widget sets,
|
|
`material` shows the Photo Search app built with Material widgets, and
|
|
`fluent_ui` shows the Photo Search app built with Fluent UI widgets.
|
|
difficulty: medium
|
|
widgets: []
|
|
packages:
|
|
- built_collection
|
|
- built_value
|
|
- file_selector
|
|
- fluent_ui
|
|
- flutter/material
|
|
- provider
|
|
- url_launcher
|
|
tags: ['desktop', 'rest-api']
|
|
platforms: ['windows', 'macos', 'linux']
|
|
type: sample
|
|
|
|
- name: Slide Puzzle
|
|
author: Very Good Ventures
|
|
screenshots:
|
|
- url: images/slide_puzzle1.png
|
|
alt: Slide Puzzle screenshot
|
|
source: https://github.com/VGVentures/slide_puzzle
|
|
description: >
|
|
A slide puzzle built for Flutter Challenge.
|
|
difficulty: advanced
|
|
widgets: []
|
|
packages: []
|
|
platforms: ['web']
|
|
tags: ['demo', 'game']
|
|
type: demo
|
|
|
|
- name: Game Template
|
|
author: Flutter
|
|
screenshots:
|
|
- url: images/loading_screen.png
|
|
alt: Loading screen
|
|
- url: images/level_selector.png
|
|
alt: Level selection screen
|
|
source: https://github.com/flutter/samples/tree/main/game_template
|
|
description: >
|
|
This is a game template that shows how to build much of the dressing
|
|
around an actual game. The game itself is very simple - the value in this
|
|
sample is everything around the game.
|
|
difficulty: beginner
|
|
widgets:
|
|
- GoRouter
|
|
- AppLifecycleObserver
|
|
packages:
|
|
- audioplayers
|
|
- firebase_crashlytics
|
|
- games_services
|
|
- go_router
|
|
- google_mobile_ads
|
|
- in_app_purchase
|
|
- logging
|
|
- provider
|
|
- shared_preferences
|
|
tags: ["games", "firebase", "ads", "crashlytics", "routing"]
|
|
platforms: ["ios", "android", "web", "windows", "macos", "linux"]
|
|
type: demo
|
|
web: web/game_template
|
|
|
|
- name: Dice
|
|
author: Jaime Blasco
|
|
screenshots:
|
|
- url: images/dice.png
|
|
alt: Dice screenshot
|
|
source: https://github.com/jamesblasco/zflutter/blob/master/zflutter/example/lib/examples/dice/dice.dart
|
|
description: >
|
|
A demo of 3d animation using dice
|
|
difficulty: advanced
|
|
widgets: []
|
|
packages: []
|
|
platforms: ['web']
|
|
tags: ['demo', 'animation']
|
|
web: https://z.flutter.gallery/#/dice
|
|
type: demo
|