Flutter组件化

2024-05-16  本文已影响0人  WQDev

一、Flutter四种工程类型
Flutter工程中,通常有以下几种工程类型,下面分别简单概述下:

  1. Flutter Application
    标准的Flutter App工程,包含标准的Dart层与Native平台层
  2. Flutter Module
    Flutter组件工程,仅包含Dart层实现,Native平台层子工程为通过Flutter自动生成的隐藏工程
  3. Flutter Plugin
    Flutter平台插件工程,包含Dart层与Native平台层的实现
  4. Flutter Package
    Flutter纯Dart插件工程,仅包含Dart层的实现,往往定义一些公共Widget

二、Flutter 组件化实施细节
1、了解一下 Plugin 原理
Flutter Plugin 提供Android或者iOS的底层封装,在Flutter层提供组件功能,使Flutter可以较方便的调取Native的模块。
很多平台相关性或者对于Flutter实现起来比较复杂的部分,都可以封装成Plugin。其原理如下:
iOS: AppDelegate -> FlutterViewController -> iOS Platform API(及第三方依赖)
Android: Activity -> FlutterView -> Android Platform API(及第三方依赖)

Plugin 中,Flutter 和 原生的交互也是通过 Platform Method Channel 来实现的,但是这部分内容在最终使用这个Plugin的时候,是隐藏在了Plugin内部的,使用方不可见。
使用Plugin时,如果需要获取一些原生APP关于业务上需要传递的信息,比如 Token 之类的,需要通过接口传入。

二、创建新的 Plugin

name: flutter_remac_gateway_fourth
description: A new Flutter plugin project.
version: 0.0.1
homepage:

environment:
  sdk: '>=2.19.2 <3.0.0'
  flutter: ">=2.5.0"

dependencies:
  flutter:
    sdk: flutter
  plugin_platform_interface: ^2.0.2

  flutter_picker: ^2.1.0
  flutter_remac_foundation:
    path: ../flutter_remac_foundation/

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^2.0.0

三、Flutter中间件引入子组件
在yaml文件中添加依赖:
flutter_remac_gateway_fourth:
path: ../flutter_plugins/flutter_remac_gateway_fourth/

上一篇 下一篇

猜你喜欢

热点阅读