老孟导读:这是官方公布的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. c++笔试题3

    一.[阿里C++面试题]1.如何初始化一个指针数组.答案: 错题解析:首先明确一个概念,就是指向数组的指针,和存放指针的数组. 指向数组的指针:char (*array)[5];含义是一个指向存放5个 ...

  2. 某宝的微信小程序源码合集

    这是我在某宝买的小程序源码合集.能用的我用不到.. 我用的到的有的有没后端.仅供个人参考,严禁侵权或商业用途! 下载地址:https://pan.baidu.com/s/1cQEQ17LdN-7hxD ...

  3. ambari 修改kafka日志目录后,写入数据无法消费

    ## 起因:ambari 修改kafka日志目录后,写入数据无法消费 - 使用下面的客户端消费命令可以消费到数据 ./kafka-console-consumer.sh --zookeeper 192 ...

  4. 【英雄帖】FreeRedis 邀请您一起优化项目。

    嘿!各位!自 FreeRedis 开库以来,相继出现了很多贡献者,我们正在对 FreeRedis 的各功能模块做优化,这并不意味着现版的 FreeRedis 有问题,我们只是希望在某些方面做得更好.如 ...

  5. iframe高度自动随着子页面的高度变化而变化(不止要在iframe标签里加上this.height=this.contentWindow.document.body.scrollHeight)

    最近使用iframe整合页面遇到一些难题,走了很多弯路才解决,借此记录一下: 1 <!-- 页面主体内容 --> 2 <div class="iframe-wrapper& ...

  6. 用Python批量裁取图,来获取文件夹中所有图片名

    批量截图(截取正方形图,哪个边短就用哪个边作为标准来截取) 功能是裁取图片中红色框的部分. 代码为: import sys from tkinter.tix import Tk from PIL im ...

  7. NET 5 Session、Cookie和Cache的使用

    1.Cookie public IConfiguration Configuration { get; } // This method gets called by the runtime. Use ...

  8. Jquery Javascript 跳转页面传递参数以及获取url的参数

    传递参数: window.location='editCourse.html?dataId='+dataId+''; 获取url中的参数(封装的方法):    function getUrlParam ...

  9. 如何做好Code Review

    Code Review(代码审查)很多团队都会做,效果如何不好说.如果你能轻易地从一堆出自正经团队之手的代码里找出几个低级错误,往往意味着团队管理者长期忽视了Code Review的重要性. 根据经验 ...

  10. Excel-RANK函数排名与拓展

    问题场景 需求不同根据总分出排名(从大到小100分.100分.99分.98分.97分),排名需求: 第一种排名:第1名,第2名,第3名,第4名,第5名: 第二种排名:第1名,第1名,第3名,第4名,第 ...