写点什么

Flutter 2020 春季更新

  • 2020-04-27
  • 本文字数:2375 字

    阅读完需:约 8 分钟

Flutter 2020春季更新

本文最初发布于 Medium 博客,经原作者授权由 InfoQ 中文站编译并分享。


谷歌 Flutter 项目的工程师、产品经理、UX 研究人员、技术撰稿人和开发关系工程师在过去几个月为这个项目付出了大量汗水和努力。他们在各种限制条件的制约下,使用各种公开可用的工具继续开发 2020 年的 Flutter 春季更新。如今,这一季度的更新已经准备就绪了。


Flutter 的现状和数据

Flutter 的使用率仍在快速增长当中。自它初次发布以来已经过了 16 个月时间,有超过 200 万开发人员用过了 Flutter。虽然行业在 2020 年遇到了前所未有的局面,但在 3 月份 Flutter 依旧获得了 10% 的环比增长,并且每月活跃的开发人员数量有将近 50 万。


其他一些有趣的统计数据:


  • 60%的 Flutter 开发人员使用 Windows 开发,27%的开发人员使用 macOS,13%的人员使用 Linux。

  • 有 35%的开发人员为初创公司工作,26%的开发者为企业开发人员,19%则是个体经营者,还有 7%的用户为设计机构工作。

  • 78%的 Flutter 开发人员使用稳定版渠道,11%的用户使用 Beta 版,11%的用户使用 dev 或 master 版。

  • Flutter 使用量排名前五的地区分别是印度、中国、美国、欧盟和巴西。

  • 谷歌 Play 商店中大约发布了 50,000 个 Flutter 应用,仅在上个月就上传了 10,000 个。

  • Flutter 应用中最流行的框架包有 http、shared_preferences、intl、meta、path_provider 和 pedantic。

  • Flutter 应用中最受欢迎的第三方包有 provider、rxdart、cached_network_image、sqflite、font_awesome_flutter 和 flutter_launcher_icons。

Flutter 在企业中的表现

Flutter 在企业客户中的增长尤其迅速。许多大型公司之所以会选择 Flutter 的关键原因,是因为它能够提供多平台支持,同时提供高水准的产品体验。最近的一个例子是 Nubank,它是亚洲以外最大的数字银行,拥有超过 2000 万客户。Nubank 在对他们的应用程序开发选项进行了详细的调查和分析之后,最终选择了 Flutter;之后他们的前端开发团队就统一在了一个框架上,也因此能够在 iOS 和 Android 平台上同时发布新的软件功能。


这段视频介绍了他们的开发故事,其中说明了他们在 Flutter 上看到的一些好处。


企业的一项常见需求是专业组件。谷歌与 SyncFusion 展开了合作,后者的 Essential Studio 产品现在包含了一系列高质量的 Flutter 组件,包括图表、PDF 操作和条形码生成等。在他们的 2020.1 版本中,所有组件均直接支持 Android、iOS 和 Web 平台,并且具有基于 Web 的控件预览。

更新版本发布流程

在谷歌开发新的 Flutter 稳定版本时,他们对原有的发布模型做出了一些更改,以进一步提高发布的稳定性和可预测性。


谷歌原来的发布流程的设计目标是简洁和低维护成本。但随着开发团队的规模不断增大,谷歌遇到了一些会影响到 Flutter 贡献者和开发人员的问题,具体包括:


  • 不清楚何时发布什么版本,以及其中包含什么样的代码;

  • 缺乏对分支的测试,结果要重复发布修复程序。


从 4 月的 Flutter 版本开始,谷歌将转向一个 beta 和稳定版本固定间隔发布的分支模型。现在谷歌将在每月初发布 beta 版,然后精选(cherrypick)出重要的补丁来稳定该版本。大约每季度一次,当前的 beta 分支将升级到稳定版本。如有必要,谷歌将继续修复此版本。现在谷歌的基础架构支持针对分支的测试,这样就能验证那些精选补丁,并根据严重性的水平接受某些请求。


谷歌还借此机会调整了 Flutter 和 Dart 的发行流程和渠道。Dart 添加了一个 beta 通道,并且之后它们发布的版本将被同步(例如,Flutter beta 版本将包含一个 Dart beta 版本)。


如果用户已经在基于稳定通道发布 Flutter 应用,谷歌建议用户在 beta 候选版本中测试应用,并报告所遇到的任何问题,帮助提升稳定版本的质量。你还可以根据 Flutter Wiki 上新的 Flutter 精选流程的指引,在稳定通道上升级回归或阻止 bug。


这一新流程将为 Flutter 的发行版带来更高的质量和更好的可预测性,并为将稳定补丁发布到稳定的通道提供更简便的方法。


版本控制更改作为这一分支模型的一部分,谷歌还对版本的控制方式做了一些小的更改。


完整的技术细节在 Flutter 构建发布通道 Wiki 页面上可见。


简单总结如下:


非稳定发行版将在版本字符串中以.pre 注释,以表示其预发布状态。给定一个 x.y.z-n.m.pre 的版本字符串,每当从 master 生成一个新构建时,dev 通道构建将增加 n。


  • 1.18.0–1.0.pre:master 版本移至 1.18 之后的第一个 dev 构建

  • 1.18.0–2.0.pre:从 master 的最新发布点出发的下一个 dev 构建


如上所述,谷歌将从 dev 版本发布点构建 beta 版本。在某个发行版上精选补丁时,m 版本号将会增加。例如,master 的第 15 个 dev 构建作为 beta 的 1.18 版本,则版本控制如下所示:


  • 1.18.0–15.0.pre:初始 beta 候选版(与 dev 发行版相同)

  • 1.18.0–15.1.pre:在(现在的)beta 分支上的后续构建,带有一些精选补丁

  • 1.18.0–15.2.pre:第二个后续构建


稳定版的版本号将为 x.y.0。如果有必要,后续的修补程序版本将增加补丁号:x.y.1,x.y.2,以此类推。


  • 1.18.0–15.4.pre:分支上的最新 beta 构建

  • 1.18.0:稳定版本,与 1.18.0–15.4-pre 相同

  • 1.18.1:潜在的 1.18.0 修补程序

下一步进展计划

谷歌使用这个全新的版本控制模型发布的第一个版本,将是 Flutter 的下一个稳定版本,计划在本周发布。所有新功能的完整摘要将在不久后给出具体介绍。


还可以查看谷歌在过去几周内发布的其他一些公告。上上周,谷歌宣布了 CodePen 对 Flutter 的支持。


过去几天里许多创作者制作了各种笔刷。以下是一些示例:




如果你正在寻找 Flutter 的学习资源,谷歌还在线免费提供了 Flutter 的入门培训课程


Angela Yu 教授的这套十小时的课程提供了相关的教程和实验,可以帮助新手开始 Flutter 的旅程。

英文原文

Flutter Spring 2020 Update


2020-04-27 15:407693
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 395.1 次阅读, 收获喜欢 1983 次。

关注

评论

发布
暂无评论
发现更多内容

MobTech MobPush|智能标签推送

MobTech袤博科技

马鞍山等级测评机构有哪些?有几家?在哪里?

行云管家

等保测评 等级测评 马鞍山

LED透明屏私人定制势不可挡

Dylan

电子 LED显示屏 屏幕

GitHub上架即下架!《分布式系统人人都是架构师》全彩笔记开源

做梦都在改BUG

Java 分布式 系统架构 架构师

低代码平台搭建CRM 加速重构业务模式

力软低代码开发平台

2023字节、腾讯、阿里等6家大厂Java开发面试真题+高频面试题总结

小小怪下士

Java java程序员 java面试 Java面试题

微服务架构下你不得不知的3种部署策略

做梦都在改BUG

Java 架构 微服务

百度大健康行业如何打造医美IP爆点?这波“悦己”营销有颜又有料!

极客天地

最佳实践 | 用腾讯云智能语音打造智能对话机器人

牵着蜗牛去散步

腾讯云 腾讯 语音识别 语音合成 智能对话机器人

Bytebase vs Flyway

Bytebase

数据库 版本控制 变更

置顶两个月!《程序员如何向架构师转型》神作在Github持续霸榜

做梦都在改BUG

Java 程序员 系统设计 架构师

运动健康路线导入,助力用户轻松导航

HarmonyOS SDK

HMS Core

手慢无!阿里云神作《Spring Boot进阶原理实战》真的太全了!

做梦都在改BUG

Java 微服务 Spring Boot 框架

用注解的方式优雅实现Ression分布式锁

做梦都在改BUG

Java 分布式锁 Ression

厉害了!阿里内部都用的Spring+MyBatis源码手册,实战理论两不误

Java你猿哥

spring 面试 Spring Boot mybatis 面经

数据出境是什么意思?我国数据出境合规要求是什么?

行云管家

数据 数据安全 堡垒机 数据出境

阿里巴巴为什么不建议直接使用@Async注解?

Java你猿哥

Java ssm java8 Async Java工程师

小程序营销模版——企业和开发者的应用形态

没有用户名丶

小程序容器

一文详解扩散模型:DDPM

京东科技开发者

人工智能 AIGC 企业号 3 月 PK 榜 DDPM

什么是“语法糖”?Java中有哪些常见糖?

Java你猿哥

Java ssm Java工程师 语法糖

从 1000+ 参赛项目突围,涛思数据荣获 ITEC 2022 全球创业赛成长组二等奖

TDengine

tdengine 物联网 时序数据库 数字经济 大数据 开源

AI + Kubernetes 赋能DevSecOps 的思考

HummerCloud

人工智能 Kubernetes DevOps

WorkPlus IM即时通讯平台,管理者不会拒绝的高效通讯办公工具

BeeWorks

不懂就问:MySQL delete 表数据,磁盘空间为什么没有被释放?

Java你猿哥

Java MySQL 数据库 innodb Java工程师

凭借左程云(左神)的这份 “程序员代码面试指南”我入职了字节

Java你猿哥

Java 算法 数组 二叉树 面经

接通率维持66%以上,为什么火山引擎VeDI能让企业智能外呼不再难?

字节跳动数据平台

营销 用户增长 业务增长 客户数据 企业号 3 月 PK 榜

机器学习算法(九): 基于线性判别模型的LDA手写数字分类识别

汀丶人工智能

人工智能 数据挖掘 机器学习 LDA算法

KubeVela 1.7 版本解读:接管你的已有工作负载

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

太厉害了!腾讯T4大牛把《数据结构与算法》讲透了,带源码笔记

Java你猿哥

Java 数据结构 算法 数据结构算法 左程云

Flutter 2020春季更新_大前端_Tim Sneath_InfoQ精选文章