Ceci est une ancienne révision du document !
Table des matières
Flutter
Le langage dart
Quelques notes sur le debuggage.
Et des Tips/Tutos/Examples.
Ma 1ère appli : CroustiWiki
Flutter documentation
- Flutter Cookbook contains recipes that demonstrate how to solve common problems
-
- Cupertino widgets for iOS style and behavior
-
- Examples
-
- theme: material_3_demo
-
- The Compass sample application is an app that helps users build and book itineraries for trips. It’s a robust sample application with many features, routes, and screens. The app communicates with an HTTP server, has development and production environments, brand-specific styling, and high test coverage. In these ways and more, it simulates a real-world, feature rich Flutter application. It use package:provider which is recommend by teams at Google
- Release & Publish to app stores
- android
- iOS/macOS
Online pad
Command line
flutter create my_app cd my_app flutter analyze flutter test flutter run lib/main.dart
flutter pub get flutter pub outdated flutter pub upgrade
Penser à nettoyer les dossiers des projets inutilisés pour réduire le volume utilisé avec flutter clean : 779Mo → 2,6Mo
$ du -hs ./ 779M poc_flutter_tts/ $ flutter clean $ du -hs ./ 2.6M
Pour compiler la version debug
$ flutter build apk --debug
Flutter Alternatives
Kotlin Multiplatform Development
https://www.jetbrains.com/kotlin-multiplatform/
- Open-source technology by JetBrains for flexible multiplatform development. Reuse Kotlin code across Android, iOS, web, desktop, and server-side while keeping native code if needed.
Ionic Framework
The mobile SDK for the Web. An open source mobile UI toolkit for building modern, high quality cross-platform mobile apps from a single code base.
Ionic runs inside a native container using Cordova or, more recently, Capacitor.
Visual designer
As a service
Free
Free mais pas encore actifs:
- Flutterviz.com
Theme builder
-
- A material theme editor and generator for Flutter to configure and preview the overall visual theme of your material app.
- configuration visuelle d'un thème pour Flutter
- utilise le package https://pub.dev/packages/json_theme
- AGPL-3.0 license https://github.com/zeshuaro/appainter
Icons
Application & components templates
- De superbes effets gskinner vignettes par www.gskinner.com
https://github.com/X-Wei/flutter_catalog
Applications faites avec Flutter
Packages / Libraries
Widgets
- Flutter core
- AppBar
-
- Entre autres:
- Flutter WebView Plugin
- Android & iOS
- Battery, Device, network…
- HTML
-
- A Flutter widget for rendering HTML and CSS as Flutter widgets.
-
- Flutter package to render html as widgets that supports hyperlink, image, audio, video, iframe and 70+ other tags.
-
- Swiper
- Rating
InApp WebView
- original:
-
- fork new maintainer
Web Share API n'est pas fonctionnelle avec inappwebview pourtant elle fonctionne avec pwabuilder …
Application state management
The Flutter Architecture Samples project demonstrates some strategies.
Bloc
Redux
- le pattern Redux avec flutter_redux
Signals.dart
Getx
Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.
https://pub.dev/packages/get/, https://github.com/jonataslaw/getx
Documentation:
More:
- other GetX packages https://pub.dev/publishers/getx.site/packages
- Using GetX (Get) for State Management in Flutter by A. Goodman 2022-10
- How to Fetch Api with GetX? to fill a list (2023) code
- Flutter fast navigation with Get by Rod Brown
- Flutter-Getx-Projects (2021)
- flutter-getx-app-tutorial (2021)
- Using GetX (Get) for State Management in Flutter app that displays a list of given products (2022)
Provider
Riverpod
https://pub.dev/packages/riverpod
(anagram of Provider)
Storage
get_storage
A fast, extra light and synchronous key-value storage written entirely in Dart
il fonctionne très bien avec Workmanager (isolate context), le partage de données avec l'UI fonctionne 💐
Hive
Fast, Enjoyable & Secure NoSQL Database. Hive is a lightweight and buzzing-fast key-value database made for Flutter and Dart.
Drift
Drift is a reactive persistence library for Flutter and Dart, built on top of SQLite.
allowing you to run database code across isolates.
path_provider
A Flutter plugin for finding commonly used locations on the filesystem. Supports Android, iOS, Linux, macOS and Windows. Not all methods are supported on all platforms.
Home Widget
Local Notification
Flutter local notifications
Articles:
Background task
Deep links
Theme
Other
- Permission
- permission_handler provides a cross-platform (iOS, Android) API to request permissions and check their status.
- HTTP
- dio a HTTP client for Dart and Flutter, which supports global settings, Interceptors, FormData, aborting and canceling a request, files uploading and downloading, requests timeout, custom adapters, etc.
- Location
- Clipboard
rich_clipboarddiscontinued
-
- A Flutter plugin that enables flutter apps to receive sharing photos, videos, text, urls or any other file types from another app.
