FlutterFlutter学习Android代码封装

Flutter四种工程类型

2019-08-15  本文已影响3人  三也视界

Flutter App/Module/Plugin/Package

Flutter Application: 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

工程目录:

标准的Flutter App工程目录

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

官方的混编方案-Add Flutter to existing apps

flutter create -t module xxapp_module

工程目录:

Flutter Module工程目录

3. Flutter Plugin

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

flutter create --template=plugin xxapp_plugin

工程目录:

Flutter 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 Package工程目录
上一篇下一篇

猜你喜欢

热点阅读