Flutter的六种工程类型

工程类型 简介 特点 (都可以依赖其他的Package/Plugin) 应用场景
Flutter Application Flutter App应用 默认的Flutter App工程 Flutter开发作为主项目
Flutter Module Flutter模块 可作为独立模块混编到已有的Android/iOS工程中 1. 原生与Flutter混合开发2. 以module方式集成到Flutter App项目中,实现模块分层
Flutter Plugin Flutter插件 可以发布到pub.dev Flutter平台插件工程,包含Dart层与Native平台层的实现
Flutter Package 纯Dart/Flutter组件包 可以发布到pub.dev 纯Dart/Flutter插件工程,仅包含Dart/Flutter层的实现,往往定义一些公共工具类或Widget
Flutter Skeleton Flutter App模版应用 提供一种较好的Flutter App项目模板 Flutter开发作为主项目
Flutter FFI Plugin Flutter外部函数接口插件 与C/C++直接交互 1. Flutter项目使用原生C/C++库
2.性能优化,将较长的调用链Flutter->Platform-> Native变成Dart直接调用C/C++

项目结构特点

Flutter Application

image.png

Flutter Module

[flutter_module.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a21d7acdb3ff44dca1ca55f824657d18~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)

Flutter Plugin

[flutter_plugin.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/aaf207e9e3124c77ae3cad88dd2b2ac8~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)

Flutter Package

[image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/70911500dcda4e56965e202c0d317379~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)

Flutter Skeleton