老孟导读:这是官方公布的2021年路线图,向我们展示了2021年 Flutter 的主要工作及计划。

原文地址:https://github.com/flutter/flutter/wiki/Roadmap

Null safety

Flutter 将支持 Dart 的 sound null safety(空安全),并将插件和软件包生态系统的迁移扩展到支持空安全,包括Flutter团队直接维护的软件包和插件。

在此过程中,Flutter 团队计划提供迁移工具,示例和文档,以帮助迁移现有代码。

Null safety 已经发布了 beta 版本,2021年将会迁移到稳定版本,此特性有效的避免了空指针异常,kotlin 和 swift 中都包含此特性,如果以前接触过,基本没有学习成本。

Android and iOS

支持从商店增量下载资源和代码(受每个平台的限制),从而允许应用程序的初始下载比完整下载小得多,并可以按需获取数据。

努力提高将Flutter嵌入Android和iOS上现有应用程序的性能和人体工程学,并减少其开销。

此外,与往常一样,我们计划增加对iOS和Android操作系统新功能的支持。

当看到支持增量下载资源和代码,我第一想法就是Flutter支持热更新了?然后我又仔仔细细的读了很多遍,发现并不是热更新,原文中有一个限定条件从商店(from the stores),版本的更新依然依赖应用商店,大概率前期只有 google 的应用商店支持此功能。

后面两点就是比较常规的性能优化和系统新版本功能的支持。

支持Web and Desktop

我们2021年的目标是,除了iOS和Android外,还为Web,macOS,Windows和Linux提供生产质量的支持,使开发人员可以使用同一SDK在六个不同的平台上创建应用程序。

特别是对于Web,随着我们不断证明Flutter可以在Web上提供高质量的体验,我们的重点将放在保真度和性能上,而不是新功能上。

对于台式机,除了确保高质量的体验外,我们还将在可访问性层上完成工作,并增加对显示多个独立窗口的支持。

这个绝对是最重磅的更新了,今年 Flutter 发布Web、macOS、Windows、Linux正式稳定版本(据小道消息 Flutter 将在今年3月3日,Flutter活动中正式发布 Web 版本),此时 Flutter 将完成史无前例的大一统,个人估计,后半年Flutter将会迎来爆炸式增长。

改善开发人员体验

我们将继续致力于优化开发体验。

  • 减少实现Flutter所需的样板代码。
  • 研发 Null safety 的迁移工具。
  • 研究创建能够使重大更改更易于开发人员管理的工具,这将使我们能够对我们拥有的API进行一些长期期望的改进。

生态系统

在2021年,我们将继续与社区合作开发Flutter-team支持的插件。

目标是使预发行插件达到生产质量。

我们还专门计划对WebView插件进行重大改进。

质量

我们将基于Flutter的实际应用程序的经验,努力改善Flutter的内存使用率,应用程序下载大小的开销,运行时性能,电池使用率和耗电量。 这些可能采取引擎或框架修复的形式,以及描述最佳实践的文档或视频的形式。 我们还打算改进工具,以帮助调试有关内存使用情况的问题。

此外,我们将继续处理Bug。 2020年,我们全年解决了17,000多个问题,我们的目标是至少在2021年达到这一水平。

新功能

在2020年,我们主要专注于修复错误,而在2021年,我们计划还添加重要的新功能。 上面列出了一些。 我们还打算对表格(Table) 进行改进,并引入一些树(Tree)组件,以支持大量的列,行和/或树级别,以及跨列或跨行的单元格。

发布渠道和节奏

Flutter将继续提供四个“渠道”,分别是:master, dev, beta and stable。

我们计划每月(通常在本月初)发布一个beta版本,并在全年中发布大约四个稳定版本。 我们建议您对发布给最终用户的应用程序使用稳定的渠道。 有关发布过程的更多详细信息,请参见Flutter构建发布渠道Wiki页面

交流

老孟Flutter博客(330个控件用法+实战入门系列文章):http://laomengit.com

欢迎加入Flutter交流群(微信:laomengit)、关注公众号【老孟Flutter】:

【老孟Flutter】2021 年 Flutter 官方路线图的更多相关文章

  1. 【老孟Flutter】2020年总结

    2020年是我经历的最不平凡的一年,这一年有遗憾.有收获,有感概,也有庆幸,庆幸自己还活着. 用一句话总结自己的2020,忙并收获着,累并快乐着. <Flutter 实战入门> <F ...

  2. 【老孟Flutter】源码分析系列之InheritedWidget

    老孟导读:这是2021年源码系列的第一篇文章,其实源码系列的文章不是特别受欢迎,一个原因是原理性的知识非常枯燥,我自己看源码的时候特别有感触,二是想把源码分析讲的通俗易懂非常困难,自己明白 和 让别人 ...

  3. 【老孟Flutter】Flutter 2.0 重磅更新

    老孟导读:昨天期待已久的 Flutter 2.0 终于发布了,Web 端终于提正了,春季期间我发布的一篇文章,其中的一个预测就是 Web 正式发布,已经实现了,还有一个预测是:2021年将是 Flut ...

  4. 【老孟Flutter】6种极大提升Flutter开发效率的工具包

    老孟导读:本文介绍6种极大提升Flutter开发效率的工具包. [1] 强大的日志软件包 在开发 Flutter 的过程中打印日志是常用的调试方式之一,但 Flutter 内置的日志打印非常简单,下面 ...

  5. 【老孟Flutter】自定义文本步进组件

    交流 老孟Flutter博客(330个控件用法+实战入门系列文章):http://laomengit.com 欢迎加入Flutter交流群(微信:laomengit).关注公众号[老孟Flutter] ...

  6. 【老孟Flutter】41个酷炫的 Loading 组件库

    老孟导读:目前 loading 库中包含41个动画组件,还会继续添加,同时也欢迎大家提交自己的 loading 动画组件或者直接微信发给我也可以. Github 地址:https://github.c ...

  7. 【老孟Flutter】Stateful 组件的生命周期​

    老孟导读:关于生命周期的文章共有2篇,第一篇是介绍 Flutter 中Stateful 组件的生命周期. 博客地址:http://laomengit.com/blog/20201227/Statefu ...

  8. 【老孟Flutter】Flutter 中与平台相关的生命周期

    老孟导读:关于生命周期的文章共有2篇,一篇(此篇)是介绍 Flutter 中Stateful 组件的生命周期. 第二篇是 Flutter 中与平台相关的生命周期, 博客地址:http://laomen ...

  9. 【老孟Flutter】为什么 build 方法放在 State 中而不是在 StatefulWidget 中

    老孟导读:此篇文章是生命周期相关文章的番外篇,在查看源码的过程中发现了这一有趣的问题,欢迎大家一起探讨. Flutter 中Stateful 组件的生命周期:http://laomengit.com/ ...

随机推荐

  1. P4317 花神的数论题,关于luogu题解粉兔做法的理解

    link 题意 设 \(\text{sum}(i)\) 表示 \(i\) 的二进制表示中 \(1\) 的个数.给出一个正整数 \(N\) ,求 \(\prod_{i=1}^{N}\text{sum}( ...

  2. AcWing 400. 太鼓达人

    大型补档计划 题目链接 神仙题.考虑转为图论模型. 若以 \(2 ^ k\) 个点,相互转化,很容易看出要求一个哈密尔顿环,显然对于 \(1000\) 规模的数据求不出来. 对于图论中环的算法,并且能 ...

  3. git clone GitLab 工程报错Repository not found

    有时使用git拉取gitlab上的项目时会出现如下的错误信息:Repository not found remote: Repository not found.fatal: repository ' ...

  4. C++ 虚函数表与多态 —— 继承的虚函数表 & 内存布局

    1. 使用继承的虚函数表: 如果不涉及多重继承,每个类只有1个虚函数表,当子类继承父类后,子类可以自己改写和新增虚函数,如下图所示: 子类重写 func_1 后,子函数的 func_1 将会有新的逻辑 ...

  5. 二叉排序树(BST)

    二叉排序树(BST) 二叉排序树,又称二叉查找树(BST) 左子树结点值<根节点值<右子树结点值 如果用中序遍历来遍历一棵二叉排序树的话,可以得到一个递增的有序数列 左根右 二叉排序树的查 ...

  6. 加快Linux上yum下载安装包的速度(以CentOS 7,安装gcc为例)

    今天在学习Linux的过程中,学到了关于包的安装问题:rpm包管理和yum在线管理两种方式:这里因为我在实验yum安装gcc出现了网速超级慢的问题,于是搜索解决方案,重新配置repo得以解决,记录整个 ...

  7. Kubernetes【K8S】(三):资源清单

    K8S中的资源 K8S中所有的内容都抽象为资源,资源实例化之后叫做对象.一般使用yaml格式的文件来创建符合我们预期的pod,这样的yaml文件我们一般成为资源清单. 名称空间级资源 工作负载型资源( ...

  8. 一个java文件被执行的历程

    学习java以来,都是以语法,类库入手,最基本的也是最基础的java编译过程往往被我遗忘,先解释一下学习java第一课时,都听到过的一句话,"java是半解释语言".什么是半解释语 ...

  9. 实验4 汇编应用编程和c语言程序反汇编分析

    1. 实验任务1 教材「实验9 根据材料编程」(P187-189)编程:在屏幕中间分别显示绿色.绿底红色.白底蓝色的字符串'welcome to masm!'. 解题思路:根据学习的知识,我知道该页在 ...

  10. DRF类视图让你的代码DRY起来

    刚开始写views.py模块的代码,一般都是用def定义的函数视图,不过DRF更推荐使用class定义的类视图,这能让我们的代码更符合DRY(Don't Repeat Yourself)设计原则: 使 ...