Support for building plugins in Dart.
This project defines a simple framework for defining plugins. A plugin is the unit of extensibility for a host application.
An extension point represents one way of extending the host application. For example, a file viewer application might define an extension point to allow viewers for new file types to be added to the application.
The host application must provide at least one extension point that plugins can extend. Every extension point must have a unique name associated with it, and should specify the type of the objects that will be accepted as extensions. In the example above, the extension point might require that all extensions implement the interface FileViewer.
Any plugin can define extension points that other plugins can extend. The host application contributes its own extension point(s) by defining a plugin.
An extension is an object that a plugin associates with a particular extension point. To continue the example, a plugin that supports the viewing of .gif files would create an instance of GifFileViewer, a class that implements FileViewer.
The framework in this package then connects the defined extensions with the defined extension points so that the separately contributed plugins can coordinate to accomplish the larger goal.
Please file feature requests and bugs at the issue tracker.
Add this to your package's pubspec.yaml file:
dependencies: plugin: ^0.2.0+3
You can install packages from the command line:
$ pub get
$ flutter packages get
Alternatively, your editor might support
pub get or
flutter packages get.
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
|0.2.0+3||Jul 17, 2018|
|0.2.0+2||Sep 29, 2017|
|0.2.0+1||Jul 20, 2017|
|0.2.0||May 10, 2016|
|0.1.0||Apr 6, 2015|
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
We analyzed this package on Aug 10, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
Detected platforms: Flutter, web, other
No platform restriction found in primary library
The description is too short.
Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.
Package is pre-v1 release.
While there is nothing inherently wrong with versions of
0.*.*, it usually means that the author is still experimenting with the general direction of the API.
Maintain an example.
Create a short demo in the
example/ directory to show how to use this package. Common file name patterns include:
example.dart or you could also use
|Dart SDK||>=1.0.0 <3.0.0|