Пакет (package) — это набор готового кода Dart, который можно переиспользовать в своих проектах Flutter. Он может содержать виджеты, утилиты, алгоритмы и другие наработки на Dart.
Плагин (plugin) — это особый тип пакета, который добавляет функциональность нативной платформы (Android, iOS, Web, Desktop) в приложение Flutter. Он включает в себя код Dart для взаимодействия с платформой и нативный код (Kotlin/Java для Android, Swift/Objective-C для iOS и т.д.) для реализации самой функциональности.
| Характеристика | Пакет | Плагин |
|---|---|---|
| Содержит | Только Dart-код | Dart-код + нативный код |
| Доступ к платформе | Нет прямого доступа | Есть доступ к нативным API |
| Применение | Переиспользование Dart-кода | Использование возможностей платформы (камера, геолокация, Bluetooth и т.д.) |
Пример использования плагина для доступа к камере:
dart