在Flutter中,如果我们需要打印日志,如果不进行自定义,我们只能使用自带的print()或者debugPrint()方法进行打印,
但是这两种打印,日志都是默认Info层级的日志,很不友好,所以如果需要日志打印层级分明,我们就需要自定义一个
日志打印组件,但是我希望这个打日志的组件也可以以后在其他项目里直接拿来使用.这就需要我们来开发一个日志的插件了,
再比如我们想在Flutter里面获取Android设备的信息,或者就是想用Native实现一个功能,然后能在Flutter里面使用. 等等…
在flutter中,一个插件叫做一个package,使用packages的目的就是为了达到模块化,可以创建出可被复用和共享的代码,
这和大多数编程语言中的模块、包的概念相同。创建出来的package可以在pubspec.yaml中直接依赖。
一个最小化的package包含了两部分:
-
一个pubspec.yaml文件:一个元数据文件,声明了声明了package的名称、版本、作者等信息。
-
一个lib文件夹:包含里package的公开代码,文件夹至少需要存在.dart这个文件。
注意:.dart这个文件必须存在,因为这是方便使用的人快速import这个package来使用它,可以把它理解成一种必须要遵守的规则。
package的种类
package可以分为两种:纯dart代码的package和带有特定平台代码的package。
-
Dart packages:这是一个只有dart代码的package,里面包含了flutter的特定功能,所以它依赖于flutter的framework,也决定了它只能用在flutter上。
-
plugin packages:这是一个既包含了dart代码编写的api,又包含了平台(Android/IOS)特定实现的package,可以被Android和ios调用。
上面应该很好理解,可以理解成java jar包和Android sdk的区别。而要开发的日志插件就是第二种。