Hello Flutter/Dart Devs,我正在开发一个Flutter包。将近80%的功能可以在dart中实现,所以我用dart编写了这些功能。现在,对于特定的身份验证相关功能,我需要为android和android使用特定于平台的代码。iOS,因为该功能的SDK仅适用于android和iOS。因此,这导致我混淆选择是否我必须创建一个Flutter包模板/Flutter插件模板。
大多数Flutter插件代码都包含一个只包含方法通道调用的dart接口,并且每个实现都是特定于平台的。我觉得,我的包有30%的代码变成了插件。所以最后,我应该创建一个Flutter插件模板,并把所有的飞镖代码和平台特定的代码或什么是更好的方式?
插件可以在多个平台上有多个实现(例如Android, iOS),它们包含特定于平平台的代码。包只包含一个适用于所有平台的实现,用纯Dart编写。插件的API也是用Dart编写的,这是基于Dart语言的平台特定实现(Android使用Kotlin或一些较老的项目使用Java, iOS使用Swift或Objective-C, Windows使用c++,等等)。所以,如果你打算创建一个"包"对于特定于平台的代码,我会使用Flutter插件模板。但是,如果您只需要在所有平台上使用相同的代码,则使用包。
以下是一些链接:
- 如何创建插件:https://docs.flutter.dev/packages-and-plugins/developing-packages#plugin
- 插件与包:https://www.youtube.com/watch?v=Y9WifT8aN6o
我希望我能帮到你!