What is a plugin?
Many programming frameworks and software tools have the concept of plugins. They may go by another name, such as third-party libraries, extensions, or add-ons, but they are effectively the same thing – a self-contained, modular code deliverable that can be “plugged in” to your existing app code to bring extra functionality.
Within this chapter, you will see references to the term packages, which consist of a set of Dart files and optionally some assets, such as images or fonts. A plugin is a special type of package that makes functionality available to your app in a standardized way – this is what we’ll be looking at in this chapter. More specifically, a plugin is used to bridge Flutter with platform-specific native code, allowing access to native functionality, while a package is a collection of Dart and Flutter code that provides reusable functionality within a Flutter project, without any platform-specific dependencies.
...