OLD | NEW |
(Empty) | |
| 1 # plugin |
| 2 |
| 3 Support for building plugins in Dart. |
| 4 |
| 5 This project defines a simple framework for defining plugins. A _plugin_ is the |
| 6 unit of extensibility for a host application. |
| 7 |
| 8 An _extension point_ represents one way of extending the host application. For |
| 9 example, a file viewer application might define an extension point to allow |
| 10 viewers for new file types to be added to the application. |
| 11 |
| 12 The host application must provide at least one extension point that plugins can |
| 13 extend. Every extension point must have a unique name associated with it, and |
| 14 should specify the type of the objects that will be accepted as extensions. In |
| 15 the example above, the extension point might require that all extensions |
| 16 implement the interface FileViewer. |
| 17 |
| 18 Any plugin can define extension points that other plugins can extend. The host |
| 19 application contributes its own extension point(s) by defining a plugin. |
| 20 |
| 21 An _extension_ is an object that a plugin associates with a particular extension |
| 22 point. To continue the example, a plugin that supports the viewing of .gif files |
| 23 would create an instance of GifFileViewer, a class that implements FileViewer. |
| 24 |
| 25 The framework in this package then connects the defined extensions with the |
| 26 defined extension points so that the separately contributed plugins can |
| 27 coordinate to accomplish the larger goal. |
| 28 |
| 29 ## Features and bugs |
| 30 |
| 31 Please file feature requests and bugs at the [issue tracker][tracker]. |
| 32 |
| 33 [tracker]: https://github.com/dart-lang/plugin/issues |
OLD | NEW |