A central place for all community made Flutter packages.
The Flutter Community is a GitHub organisation used to manage community made Flutter packages.
Our goal is to ensure packages made by the Flutter community are kept alive and maintained in one place.
To go along with the packages, we have started a Medium publication as a central location for community content to be published - especially if it relates to the packages here.
These are the packages featured on the Flutter Community.
|sealed_unions||Sealed Unions for Dart||Android Alliance|
|firestore_helpers||Firestore helper function to create dynamic and location based queries||Thomas Burkhart|
|draggable_scrollbar||A scrollbar that can be dragged for quickly navigation through a vertical list. Additional option is showing label next to scrollthumb with information about current item.||Marina Kuznetsova|
|after_layout||Execute code after the first layout of your widget has been performed, i.e. after the first frame has been displayed.||Simon Lightfoot|
|contacts_service||A Flutter plugin to retrieve and manage contacts on Android and iOS devices.||Lukas Dickie|
|flutter_downloader||A plugin for creating and managing download tasks. Supports iOS and Android.||Hung Duy Ha|
|infinite_listview||ListView with items that can be scrolled infinitely in both directions.||Simon Lightfoot|
|flutter_launcher_icons||A package which simplifies the task of updating your Flutter app's launcher icon. Fully flexible, allowing you to choose what platform you wish to update the launcher icon for and if you want, the option to keep your old launcher icon in case you want to revert back sometime in the future.||Mark O'Sullivan|
|sticky_headers||Flutter Sticky Headers - Lets you place headers on scrollable content that will stick to the top of the container whilst the content is scrolled.||Simon Lightfoot|
|flutter_webview_plugin||Plugin that allow Flutter to communicate with a native Webview.||Simon Lightfoot|
|get_it||Simple direct Service Locator that allows to decouple the interface from a concrete implementation and to access the concrete implementation from everywhere in your App"||Thomas Burkhart|
|rx_command||Reactive event handler wrapper class inspired by ReactiveUI.||Thomas Burkhart|
Submitting your packages
If you want your packages to be included in the Flutter Community organization, make sure you have read and completed the following steps.
In order for the Flutter Community organization to keep track of all the submitted packages and their maintainer, all repositories are required to contain a
pubspec.yaml file in the root of the repository. This file contains information about the package, pub page and maintainer.
Note, without this file your package will not be listed in the packages table.
How to setup your pubspec file.
Please make sure your project's
pubspec.yaml file contains a field named
maintainer that contains the maintainer's name and GitHub username (usually your name and username) in the following pattern:
... maintainer: YOUR-NAME (@YOURGITHUBUSERNAME) ...
pubspec.yaml file should look something like this (example taken from after_layout):
name: after_layout description: Execute code after the first layout of your widget has been performed, i.e. after the first frame has been displayed. version: 1.0.7 authors: - Flutter Community <firstname.lastname@example.org> - Simon Lightfoot <email@example.com> homepage: https://github.com/fluttercommunity/flutter_after_layout maintainer: Simon Lightfoot (@slightfoot)
Getting in contact
If you've prepared your packages, you can either:
- RECOMMENDED: Open an issue in the
- Contact us in the Study Group.
Note to packages owners
Flutter Community aims to bring the best community-made packages forward. Because of this, not all proposed packages will be accepted.
Do you have a package you want submitted that delivers the same or similar functionality as an existing package? Please contact us or contact the maintainer of the package on Flutter Community.