Flutter开发之——添加Flutter到已经存在的App中

一 概述

  • 原生应用具有跨平台框架不具备的优势
  • Flutter优秀的路由,动画,ui设计可以快速完成项目开发
  • 在已有的原生项目的基础上,导入Flutter,进行混合开发更具优势

二 原生+Flutter混合开发限制

  • 每个应用一次只能集成一个Flutter实例到应用程序中,不支持多个Flutter库打包
  • Android上添加应用程序的插件基于FlutterPlugin,不支持FlutterPlugin的插件,可能会发生意想不到的结果
  • 从v1.17开始,Flutter模块仅支持Android上的AndroidX应用程序

三 原生添加Flutter支持

3.1 Android

过程

特点

  • 原生项目通过Gradle脚本完成Flutter SDK添加,自动构建和Flutter模块导入
  • FlutterEngine是可以在Android应用程序中运行Dart代码的容器,也是单个Flutter执行环境
  • 原生项目使用Java和kotlin开发语言,Flutter使用Dart开发语言
  • Flutter模块可以使用Flutter插件与平台交互
  • 支持Flutter Debug调试时热加载

3.2 IOS

过程

特点

  • 通过Xcode开发工具和CocoaPods管理工具,完成Flutter SDK添加,自动构建和Flutter模块导入
  • 将Flutter模块添加到iOS框架中,就可以使用Flutter进行开发工作
  • FlutterEngine通过FlutterViewController完成Flutter的启动和管理
  • 原生系统使用Object-C和Swift开发语言,Flutter模块使用Dart开发语言
  • Flutter模块可以使用Flutter插件与平台交互
  • 支持Flutter Debug调试时热加载