[Flutter新闻]公布: Flutter社区Plus系列插件📣

655 阅读5分钟

Plus Plugins是一套开源的Flutter插件,它将现有的一些最常见的软件包提升到了一个新的水平。

原文地址:medium.com/flutter-com…

原文作者:medium.com/@mhadaily

发布时间:2020年10月13日 - 5分钟阅读

我们很高兴地介绍我们最初发布的Plus插件,广泛支持大多数平台。这建立在Flutter团队的插件所设定的基础上,使Flutter开发人员能够在开箱即用的情况下为不同平台构建他们的应用程序。

Plus插件网站

我们已经创建了一个网站来展示我们在支持不同平台上的进展。你可以查看这个网站plus.fluttercommunity.dev,看看我们在做什么。

plus插件列表

通过开发这些插件,我们有三个主要目标。

1- 支持联盟插件

联合插件是一种将对不同平台的支持分割成独立包的方式。因此,一个联合插件可以为iOS使用一个包,为Android使用另一个包,为web使用另一个包,为汽车使用另一个包(以物联网设备为例)。在其他好处中,这种方法允许领域专家扩展现有的插件,使其能够为他们最熟悉的平台工作。

一个联合插件需要以下包。

面向应用的包:插件用户使用插件所依赖的包。这个包指定了Flutter应用使用的API。

平台包(们):一个或多个包含特定平台实现代码的包。面向应用的包调用到这些包中--它们不包含在应用中,除非它们包含终端用户可访问的平台特定功能。

平台接口包:将面向应用的包装粘在平台包上。这个包声明了一个接口,任何平台包都必须实现这个接口来支持面向应用的包。有一个包来定义这个接口,可以确保所有平台包统一实现相同的功能。

2- 支持和维护所有平台

我们希望尽快支持Flutter支持的任何平台。所以,我们努力让我们的加插件与Flutter发布的所有不同阶段保持同步,比如'master'、'dev'。我们希望从Flutter插件库中扩展我们的文档、示例和修复问题。我们正在与Flutter团队合作,以确保我们可以快速发现问题并在我们的加包中解决它。拥有高质量的插件是我们的最终目标。

3-以最小的努力更新到加插件

我们已经做出了相当大的努力,以保持向后的兼容性,所以新的插件包是一个简单的drop-in替换当前的那些。因此,几乎不费吹灰之力,你就可以获得与当前插件相同的功能。话虽如此,我们将在未来更新软件包并增加新功能。

更新步骤

我们创建这些包的方式是为了用当前的包进行更新,这将是最省力的。你需要做的只是将这些包添加到你的pubspec.yaml文件中,然后用一个新的包替换旧的导入。一个例子是device_info_plus

您可能已经安装了当前的插件

你需要删除这个包并安装device_info_plus。

那么你应该用plus插件来代替

import ‘package:device_info/device_info.dart’;

import ‘package:device_info_plus/device_info_plus.dart’;

就是这样. 你不需要其他东西。然而,你可能会从这些包中获得更多的功能,你可能需要参考文档或README文件。

Plus插件解剖学

我们是用一个monorepo来维护所有的plus插件,每个插件都包含平台接口、应用面包和平台包。以device_info_plusplugin为例。

我们先来了解一下platform_interface包。

这使我们能够声明一个可以用来创建所有其他平台的接口。

现在,让我们深入了解一下linux软件包

其结构相当相似;然而,特定平台的实现也可能包含本地代码。

这只是一个开始

我们已经开始使用上述插件,但这不是全部。我们已经有很多其他的插件和计划,我们希望能提供给您。

您的贡献

翩翩社区加分团队希望您,我们了不起的翩翩开发者,以及厉害的追随者,可以给我们的加分包试一试,并通过打开一个问题帮助我们发现潜在的bug,或者通过发送您的顶级PR来修复或改进这些插件。毕竟,我们是为大家开发这些插件的。让我们一起把它们做得更好。

路线图

有几个缺失的平台实现仍在进行中。我们正在尽力提供一个稳定的版本,所有加插件支持所有的p

有几个缺失的平台实现仍在进行中。我们正在尽力在2020年11月中旬结束前提供支持Flutter支持的所有平台的所有加插件的稳定版本。同时,从现在开始,你可能会看到几个版本。

下一步是创建一个好看的网站,并添加适当的文档,希望在11月添加更多的例子和示例代码。 最后但并非最不重要的是,我们从发布到pub.dev生成API文档和部署的过程自动化正在开发中,我们的目标是在我们发布每个插件的稳定版本之前完成它。要阅读更多内容,请关注plus_plugins仓库的这个问题


总结

我们看到Flutter团队为了尽快解决这些插件的问题和增加更多的平台支持,速度很慢,或者说他们的优先级不同,所以我们决定开发这些插件,希望能够帮助Flutter团队,为Flutter社区做出广泛的贡献。

plus插件初始版本可能会有一些问题,但目前有很多好的东西在,我上面也提到了。我们希望这个版本能帮助你几乎不费吹灰之力就能替换掉你当前的精彩插件! 所以,你可以回来给我们提供你宝贵的反馈。谢谢您的支持--我们为您打造所有这些插件。

最后,特别感谢我们了不起的贡献者,没有他们就不可能发布这些包。


通过www.DeepL.com/Translator (免费版)翻译