Flutter 如何创建并发布 Plugin (VS Code + GitHub 发布)

栏目: IOS · Android · 发布时间: 5年前

内容简介:相信采用 Android Studio 的直接创建 Flutter Plugin 都是由 IDE 直接辅助创建好全部的流程,连 Example 的 run 动作都已经帮助配置好了。但本文是采用 VS Code 进行项目配置并运行,整个流程先从命令行开始创建,一步步的进行。用过 VS Code 的同学发现她的界面非常简洁,代码函数提示、搜索功能、调试运行快速直接。因我是老 iOS 开发从业8年有余,使用 xcode 的人都会对在 Android Studio 编辑器中那大量无用的按钮而望而生畏,其 Andro

VS Code IDE 编辑器相对小众?

相信采用 Android Studio 的直接创建 Flutter Plugin 都是由 IDE 直接辅助创建好全部的流程,连 Example 的 run 动作都已经帮助配置好了。但本文是采用 VS Code 进行项目配置并运行,整个流程先从命令行开始创建,一步步的进行。

用过 VS Code 的同学发现她的界面非常简洁,代码函数提示、搜索功能、调试运行快速直接。因我是老 iOS 开发从业8年有余,使用 xcode 的人都会对在 Android Studio 编辑器中那大量无用的按钮而望而生畏,其 Android Studio 的资源浪费、卡顿性让我无法接受。反观 VSCode,其虽不是 google 的亲儿子,有些“拐棍”还是需要用一用的。所以才有了这篇发布 Plugin 的分享。

选择 Flutter 的原因

我在开发 《九排》 的演艺界专业产品,作为一个全新起步的手机客户端产品,需要从一个能够看得足够长远的开发套件环境对其进行支持,从2018年看到 Flutter 的正式版发布,到2019年对整套 Widget 体系和 Dart 语言环境的深入了解和反复的开发测试、性能测试,我认为 Flutter 对公司产品的将来有着良性推动和发展潜力。

本文的以创建《九排》App 脚手架开发 工具 包 为范例讲解,脚手架开发工具包在下方:

github.com/maxcong/jpk…

一切的开始

Dart语言下包含有两种Package形态:

第一种是 Dart Package,她是一种没有 Android \ iOS 运行环境的纯 Dart 语言包

第二种是 Flutter Plugin,她则是可以运行在 Android \ iOS 的 example 测试项目下插件工程

第一步:创建 Plugin 项目文件

命令行创建 Flutter Plugin 需要打开控制台,进入到具体希望创建包的目录输入以下命令:

flutter create --org com.example --template=plugin plugin_name复制代码

其中 --org 指定的是你需要运行 example 的包标识符,此主要运行在 Andoird 和 iOS 中,而 iOS 中代表 bundle id 所指向的证书域。

后面的 --template=plugin 则是指定创建一个 Flutter plugin

创建好后,可以用 VS Code 打开 Plugin 目录,此时你会发现没有 Android Studio 的辅助,我们很难去运行 Plugin 文件。这种情况下,就要对整个项目工程目录有一个直观的理解:

  • lib/plugin_name.dart
    • 插件主入口
  • android/
    • 用于在 Android 中实现的插件包API
  • ios/
    • 用于在 iOS 中实现的插件包API
  • example/
    • 一个依赖改插件的 Flutter 可运行程序,主要是调试开发时使用,我们主要用它

第二步:VS Code中如何运行调试

首先用 VS Code 打开 Plugin 项目工程目录后,IDE 会自动的在根目录创建一个隐藏目录:.vscode/ ,这个目录下隐藏着一个 launch.json 文件,我们主要来修改它。

打开 launch.json 文件可以看到自动创建的运行脚本:

{
      "version": "0.2.0",
      "configurations": [
            {
                  "name": "Flutter"
                  "request": "launch",
                  "type": "dart"
            }
      ]
}复制代码

显然这套运行脚本不足以运行工程文件,我们需要配置一下,而配置的主要目标是要运行 example/lib/main.dart 入口文件。

修改 launch.json 进行配置:

{
      "version": "0.2.0",
      "configurations": [
            {
                  "name": "Run Plugin",
                  "program": "example/lib/main.dart", // 修改此处
                  "request": "launch",
                  "type": "dart"
            }
      ]
}复制代码

这样配置完毕,就可以让 VS Code 具备运行能力,我们可以对插件进行开发了。

正常的开发模式和普通的App的开发是完全一样的,下一步就轮到发布 Plugin 了。这里由于 Plugin 的测试时间不希望发布到 pub 平台。那我们有的可选分支 发布到 GitHub 上来调试。然后才是发布到 pub 平台。

第三步:验证已经开发 Plugin 的错误

通过执行以下命令,可以在命令行中对此包进行正确性验证:

flutter packages pub publish --dry-run复制代码

发布分支1:发布到 GitHub 上如何使用

我们可以正常的上传自己开发 Plugin 到自己的 GitHub 项目里,并在本地 Push 最新的代码。但如果想要引用,需要在自己的 App 开发项目中修改 pubspec.yaml 文件,以让 packages 管理知道如何安装。修改如下:

dependencies:
    jpkit:
        git: 
            url: https://github.com/maxcong/jpkit.git复制代码

packages 管理对 pubspec.yaml 文件的缩进有严格要求。上面的代码配置告诉让 packages 管理指导 jpkit: 是从 git: 中获取,指向了 url:

注意:此处有如果频繁更新 GitHub 提交时,可能有更新不下来的缓存问题,我是通过等待一小会再次执行 flutter package get 得到最新结果。

发布分支2:发布到 pub 平台

如果你认为自己开发的 Plugin 的版本处于可发布阶段,那么可以发布她到pub.dartlang.org/ 平台

flutter packages pub publish复制代码

OK,至此已经将 Plugin 发布到外网了,剩下的就是不停完善这个组件,以更好的融入到自己的产品工程文件当中,祝你好运。

本文的 Plugin 《九排》App 脚手架开发工具包

github.com/maxcong/jpk…


以上所述就是小编给大家介绍的《Flutter 如何创建并发布 Plugin (VS Code + GitHub 发布)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

A Byte of Python

A Byte of Python

Swaroop C H / Lulu Marketplace / 2008-10-1 / USD 27.98

'A Byte of Python' is a book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save t......一起来看看 《A Byte of Python》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具