iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
Mobile Development

Flutter - 從 Packages & Plugins 掌握原生系列 第 2

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 來實現特定平台的調用


上一篇
Day01 什麼是Packages & Plugins ?
下一篇
Day03 Federated plugins (聯合插件)
系列文
Flutter - 從 Packages & Plugins 掌握原生30

尚未有邦友留言

立即登入留言