2020-05-15 12:19:39
Federated plugins
Federated plugins
插件 2.0 还提出了 federated plugins 的概念。
官网的大致意思是:
在这之前,一个插件中包含了 Dart 代码,Android 平台代码 和 iOS 平台代码,他们都在一个包中。
federated plugins 的目的是把他们分离成独立的包。
需要3种类型的包:
- platform interface package
各平台需要提供的功能,都以接口的形式声明在了这个包中。 - platform package(s)
特定平台实现接口的包。可以有多个,比如一个用于 Web ,一个用于 Mac OS 。 - app-facing package
是给使用插件的人用的。插件为 app 提供的各种功能在这个包中,插件使用者调用这个包中的方法。
接口为这个包提供一个平台的实现,这个包调用实现中的方法。
使用一个插件,直接用到的就是 app-facing package 。
官网给出了一个 Medium 上的文章 How To Write a Flutter Web Plug