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
Pour les screenshots des magasins d'Apps:
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
- https://github.com/flutter/packages/ A collection of useful packages maintained by the Flutter team
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
- Screens on an app's first launch
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.
Preferences
shared_preferences
shared_preferences Wraps platform-specific persistent storage for simple data (NSUserDefaults on iOS and macOS, SharedPreferences on Android, etc.).
Packages pour afficher/modifier les préférences:
Dev/debug side
- shared_preferences_explorer on-screen viewing of shared_preferences
Settings page UI (côté utilisateur):
-
- dépendances: path_provider, provider, shared_preferences
-
- dépendances: image_picker, shared_preferences
- manque de finitions.
flutter_settings_screens
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.
