Flutter四種工程類型: App/Module/Plugin/Package

  • Flutter Application: Flutter應用
  • Flutter Module :Flutter與原生混合開發
  • Flutter Plugin:Flutter插件
  • Flutter Package:純Dart組件

1. Flutter Application (全新的APP)

標準的Flutter App工程,包含標準的Dart層與Native平臺層
創建命令:

flutter create xxapp
//默認Android使用Java,iOS使用Objective-C。
//如果要指定語言,比如安卓使用Kotlin,iOS使用Swift
flutter create -i swift -a kotlin xxapp

工程目錄:

 

2. Flutter Module (混編到已有的安卓/iOS工程內)

官方的混編方案-Add Flutter to existing apps   也可以參考我往期的《Flutter嵌入swift混合開發》系列文章

flutter create -t module xxapp_module

工程目錄:

 

3. Flutter Plugin

Flutter平臺插件工程,包含Dart層與Native平臺層的實現

flutter create --template=plugin xxapp_plugin

工程目錄:

Plugin其實就是一個特殊的Package。Flutter Plugin提供Android或者iOS的底層封裝,在Flutter層提供組件功能,使Flutter可以較方便的調取Native的模塊。很多平臺相關性或者對於Flutter實現起來比較複雜的部分,都可以封裝成Plugin。其原理如下

原理

消息在client和host之間通過平臺通道(platform channels)來進行的,之間的通訊都是異步的。

直接在Android Studio中新建一個Flutter Plugin的工程,當然也可以使用命令行來進行,例如創建一個flutter_text_plugin。

flutter create --org com.example --plugin xxapp_plugin

如果想支持swift或者kotlin,可以用如下命令進行創建:

flutter create --org com.example --plugin -i swift -a kotlin xxapp_plugin

4. Flutter Package

Flutter純Dart插件工程,僅包含Dart層的實現,往往定義一些公共Widget

flutter create --template=package xxapp_package

工程目錄:

 

 

文章摘自  三也世界的《Flutter四種工程類型》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章