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平台层
创建命令:

 

 

1

2

3

4

flutter create xxapp

//默认Android使用Java,iOS使用Objective-C。

//如果要指定语言,比如安卓使用Kotlin,iOS使用Swift

flutter create -i swift -a kotlin xxapp

 

//如果要指定语言,比如安卓使用Java,iOS使用swift

flutter create -i swift -a java xxapp

 

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

官方的混编方案-Add Flutter to existing apps   也可以参考我往期的《Flutter嵌入swift混合开发》系列文章

 

 

1

flutter create -t module xxapp_module

 

3. Flutter Plugin

官方解释和使用: https://flutter.dev/docs/development/packages-and-plugins/developing-packages#plugin-platforms

Flutter平台插件工程,包含Dart层与Native平台层的实现

 

 

1

$ flutter create --org com.example --template=plugin --platforms=android,ios -a kotlin hello

 

 

1

$ flutter create --org com.example --template=plugin --platforms=android,ios -a java hello

 

 

1

$ flutter create --org com.example --template=plugin --platforms=android,ios -i objc hello

 

 

1

$ flutter create --org com.example --template=plugin --platforms=android,ios -i swift hello

 

Plugin其实就是一个特殊的Package。Flutter Plugin提供Android或者iOS的底层封装,在Flutter层提供组件功能,使Flutter可以较方便的调取Native的模块。很多平台相关性或者对于Flutter实现起来比较复杂的部分,都可以封装成Plugin。其原理如下

原理

消息在client和host之间通过平台通道(platform channels)来进行的,之间的通讯都是异步的。

直接在Android Studio中新建一个Flutter Plugin的工程,当然也可以使用命令行来进行,例如创建一个flutter_text_plugin。

 

 

1

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

 

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

 

 

1

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

 

4. Flutter Package

Flutter纯Dart插件工程,仅包含Dart层的实现,往往定义一些公共Widget

 

 

1

flutter create --template=package xxapp_package

 

参考链接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值