Day02 Package的 类别

Package

通过使用packages 的模式,可以创建易於共享的模组化程序码

一个最基本的package 由以下内容构成:

pubspec.yaml
用於定义package 名称、版本号、作者等其他讯息的元数据文件

lib目录
包含共享程序码的lib目录,其中至少包含一个<package-name>.dart文件

编写插件的注意事项列表,请参考 Writing a good plugin

Package 类别

Package 可分为以下两种类别:

  • Dart packages

    一般用 Dart 编写的package,比如 path package,其中可能包含Flutter 的特定功能,因此依赖於Flutter 框架,其使用范围仅限於Flutter,比如 fluro

  • Plugin packages

    一个能实现原生平台功能的 Dart package,其中包含一个用 Dart 代码编写的 API 以及一个或多个特定於平台的实作。

    Plugin packages 可以为 Android(使用 Kotlin 或 Java)、iOS(使用 Swift 或 Objective-C)、Web、macOS、Windows 或 Linux 或其任意组合的平台。
    如果想要开发一个调用特定平台API 的package,你需要开发一个原生插件package。原生插件packgae 是Dart package 的特别版本,除了在Dart package 要实现内容,还需要按需使用Java 或Kotlin、ObjC 或Swift 分别在Android 和/或iOS 平台实作,通过使用 platform channel 中的API 来实现特定平台的调用


<<:  Day 3 ARM的多样性与开发环境

>>:  Day02 UIKit 01 - 新建专案

[Day30]颁发和注销访问token

安装passport套件 安装套件cmd执行以下 composer require laravel/...

[经典回顾]硬碟装满资料会变重吗?

资料来源: 硬碟装满资料会变重吗?答案:传统硬碟不会,但固态硬碟会喔 趣味科普:硬碟装满档案後,重...

分类模型哪个好?confusion matrix/sensitivity/ specificity

今天来整理一下以前的笔记,聊聊比较分类模型的评判依据:confusion matrix. 下图是常见...

Day 13:摆放控制项(二)

上一篇的未完成品: 先前按钮的宽度为固定值,所以不会依据视窗的宽度排排站好。修改如下: 按钮的间距保...

Python & Celery 学习笔记_删除任务

这篇文章主要是在记录,celery 的任务状态以及该如何删除在任务伫列中的任务 有问题欢迎留言讨论喔...