Desktop support allows you to compile Flutter source code to a native Windows, macOS, or Linux desktop app.
Windows
Universal Windows Programs (UWP) are apps that can run on all Microsoft devices from the Windows laptop to the Xbox and even the Hololens.
UWP allows you to take your Flutter apps to devices where standard Windows apps don’t run.
In September 2020, Google announced support for classic Win32 APIs along with an experimental project for a UWP-based version of the Flutter shell.
Flutter UI toolkit is out in a v2.2 update that furthers support for creating Universal Windows Platform (UWP) desktop applications.
macOS
The new and improved Flutter 2.0 release now brings stable support for all major desktop platforms – macOS too.
Linux
Canonical Ltd., which heads up development of the popular Linux-based operating system Ubuntu, has made Flutter the default framework for all of its future desktop and mobile apps and today showed off its new installer app, built from the ground up using Flutter.
Available packages
Firebase
Windows and Linux are not yet supported by Firebase plugins.
These products are supported in macOS desktop apps:
– firebase_auth
– cloud_firestore
– cloud_functions
– firebase_messaging
– firebase_storage
– firebase_core
– firebase_database
– firebase_remote_config
The FlutterFire page has a table that shows what Firebase products work in which environment: https://github.com/FirebaseExtended/flutterfire.
This page show which packages are available on linux, macOS and windows: https://pub.dev/flutter/packages?q=&platform=linux+macos+windows.
database plugins
- shared_preferences
- sqflite (only macOS)
- localstorage
state management
- provider
- flutter_bloc
- get
http client
- http
- dio
social login
Social login such as google_sign_in, flutter_facebook_login are not supported.
notifications
Notifications plugins do not support Linux and Windows. Only macOS has support.
- firebase_messaging
- flutter_local_notifications
map
- location (available only on macOS)
- flutter_google_places
- google_maps_flutter not available
internationalization
- intl