前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flutter中的插件开发(Package&Plugin)

Flutter中的插件开发(Package&Plugin)

作者头像
拉维
发布2022-03-28 09:12:27
9870
发布2022-03-28 09:12:27
举报
文章被收录于专栏:iOS小生活

一、导言

我们在创建一个Flutter项目的时候,有如下几种选择:

  1. Application就是新建一个标准的Flutter工程;
  2. Module用于在原生工程中去包含Flutter模块,我在《Flutter与原生工程的混合开发》中有过详细介绍;
  3. Package用于纯Dart的组件开发,可以将其理解成是一个Widget,我在《发布package到pub.dev》中做了详细介绍;
  4. Plugin用于与原生交互的插件开发,里面既包含安卓代码,也包含iOS代码。

二、plugin开发流程的简单介绍

实际上,Plugin就是一个特殊的Package。Package是一个纯Dart包,它里面封装了一个纯Dart的功能组件,可以将其理解成是一个Widget;而Plugin是提供的对Android或者iOS功能的封装,它是在Flutter层面提供前述组件功能,使Flutter可以较为方便地调取Native的相关功能模块

在Plugin中,Flutter代码和Native代码之间的通讯是通过Channel来进行的。

上面说了,Plugin是一种特殊的package,所以Plugin的创建和发布的流程大致跟Package的创建和发布的流程是一样的。其中有一个不太一样的地方,我会在下面单独拎出来讲。

1,创建Plugin工程

创建一个Plugin项目的终端目录如下:

代码语言:javascript
复制
flutter create  --template=plugin --platforms android,ios lavie_test_plugin
  • --org com.funshare,用于指定你的组织,并使用反向域名表示法表示。一般用来设置iOS工程的bundleID,以及Android工程的包名
  • --platforms android,ios,配置插件的使用平台
  • -i swift -a kotlin ,由于Plugin包含iOS和Android代码,而他们分别都支持两种语言,iOS支持Object-C(默认)和Swift,Android支持Java(默认)和Kotlin,所以我们可以使用-i 或 -a 为iOS或Android指定语言

2,Plugin项目的结构

创建好Plugin项目之后,使用AndroidStudio打开,可以看到项目的组织结构如下:

  • android和ios这两个文件夹是我们写原生功能组件代码的地方;
  • lib层用于编写Flutter与原生的映射代码,因为Flutter与原生是不能直接通信的,必须要通过MethodChannel来间接调用;
  • example文件夹是示例工程,我们编写的插件可以直接在示例工程中进行验证。

以上。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iOS小生活 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档