2021 年,Flutter 正式进入 2.x 系列的正式版发布,年初的 Flutter 2 的发布 打开了一个新的“格局”,为 Flutter 的加入了第五大特色——「可移植性」,让 Flutter 从一个移动框架正式“升级”为一个「可移植框架」,目标是让 Flutter 应用基本可以不加变动地在多种平台上运行。通过 Flutter,开发者们可以为任何平台创建美观、快速且可移植的应用。3 月份,除了 Web 平台发布稳定版 之外,Flutter 也开始向桌面、可折叠和嵌入式设备上进行扩展。随之发布的 Dart 2.12 正式版 提供了健全的空安全和 FFI 的生产环境级支持。Dart 是一个站在 Flutter 背后的“秘密武器”,我们提到的很多 Flutter 的“闪光点”,实际很大程度要归功于 Dart: 包括我们熟知的有状态的热重载 (Stateful Hot-Reload),以及 Dart FFI 的成熟支撑了 Flutter 2 提到的「可移植性」,以及最新 Flutter 2.8 稳定版中关于性能的提升的部分,都离不开 Dart。

21 年 5 月下旬的 I/O 大会仍是在线上举办,Flutter 2.2Dart 2.13 稳定版正式发布。除了不断进化的 Web 支持,Flutter 也在移动平台有了很多关于性能方面的改进,也着手从基础侧为 Flutter 增强扩展到其他平台进行改进。Flutter 2.2 着重改进开发体验,新项目会默认自动启用健全的空安全,Flutter 的开发者工具 (DevTools) 并和 IDE 插件都得以改进和更新,DartPad 也为教学者增加了引导式代码体验。Dart 2.13 对空安全加入了更多更新,并推出了开发者们非常期待的「类型别名」的新特性。

Flutter 生态里有一个非常重要的角色,就是围绕着 Flutter 发布的一些 Dart Package,这些 package 极大程度上帮助了开发者更好的构建 Flutter 应用。FlutterFire 是官方维护的方便 Flutter 应用集成 Firebase 服务的一系列插件合集,官方也将一批自己维护的插件移交给社区进行维护,这标志着 Flutter 已经远不是只有 Google 工程团队在“单打独斗”,整个社区都在为 Flutter 进行持续贡献。除了广大的开发者社区成员们的贡献之外,丰田、Canonical、三星、索尼、微软也都在持续为 Flutter 做出贡献。Flutter 不只是适用于开发者,也同样适用于设计师们,Adobe XD 是一款 UI/UX 设计和协作工具,你可以使用 xd-to-flutter 插件轻松的将设计稿转换为支持空安全的 Flutter 代码。I/O 期间,Flutter 团队还联合 VGV 团队发布并开源了一个 使用 Flutter 和 Firebase 构建的 Web 应用 ——「Flutter 照相亭」,作为一个样例应用,开发者们可以学习应用是如何构建良好的拍照体验、优化 Web 的应用体验以及使用 Firebase 完成业务逻辑等。

21 年 9 月,Flutter 更新到了 2.5 正式版,Dart 也发布了 2.14 正式版,这个版本仍延续了过去的一些工作,继续进行一些重要的性能和工具改进,也同时加入了对 Material You 的支持等。从这个版本开始,Dart 对 Apple 芯片的支持正式在稳定版渠道推出,同时增加了很多共享的代码 lint 工具,pub.dev 上的评分引擎也开始使用其中的部分 lint 规则,package 发布工具也支持了识别和使用 .gitignore 来声明哪些需要忽略的内容,避免上传无用的代码片段等。随着 Dart 空安全特性的推出,有很多应用开发者和 package 开发者们已经开始跟进并应用了健全的空安全特性。除了稳步更新 Flutter 移动端的性能和开发体验,Flutter Web 也发布了产品路线图,力求让 Flutter 应用在 Web 平台的体验更自然。Flutter 团队几乎完全依靠 GitHub 等开源开放平台协作,所有的流程和代码改进都是向社区公开透明的,因此我们也在非常努力的推动国内的开发者参与全球社区贡献,并 在每次的开发者调查中发声,很多新特性和改进都会在 GitHub Issue 上发布并公开征集反馈,开发者们的反馈和交互越多,Flutter 团队就越重视,越会投入资源去解决。

从 Play 商店的应用数量看,Flutter 应用数量从 21 年第一季度的 15 万+ 上升到第二季度的 20 万+,同时,21 年 4 月到 5 月,Play 商店中有超过八分之一的新应用是采用 Flutter 构建,21 年年末 Play 商店的 Flutter 应用数量对比第二季度几乎翻番,达到了 37.5 万+ 款应用。这些数字证明着 Flutter 的流行,以及受到越来越多开发者们的采纳和喜爱。开发者们对 Flutter 的采纳和喜爱也同时体现在很多开发者报告里,分析公司 SlashData 的报告里显示:Flutter 是如今最流行的跨平台开发框架,有 45% 的受访开发者选用;RedMonk 排名中提到“Dart 有显著上升”;StackOverflow 的开发者调查体现出开发者喜爱的编程语言里,Dart 排名第七、喜爱的框架里,Flutter 排名第二;JetBrains 2021 开发者生态系统现状报告中显示,在跨平台移动框架选择上,Flutter 的受欢迎程度持续增长,已经超越 React Native 成为最流行的跨平台移动框架。使用 Flutter 的头部公司和应用也包含了 BMW、ByteDance、滴滴、eBay、Grab、Greggs、贝壳、Norton、Philips Hue、PUBG、SHEIN、trip.com、WeChat 等 (*排名不分先后),截止 21 年末,全球的 Flutter 开发者数量已达 300 万以上,Flutter 也从最初的「便携式 UI 工具包」进化成「一个为环境计算打造的 UI 平台」。

2021 年的最后一次稳定版更新发布的是 Flutter 2.8Dart 2.15,这个版本着重关注的是移动端平台的性能,由于重新设计和实现了 Dart 编程语言中 isolate 的工作方式,使得 isolate 所消耗的内存最高减少了 100 倍,体现在 Flutter 应用里就是启动性能和内存占用等性能都有非常大的提升,同时为了方便开发者们调试应用性能,新版的开发者工具 (DevTools) 加入了一个 Enhace Tracing (增强跟踪) 的功能,用于诊断消耗较大的、引起 UI 卡顿的 Widget 构建、布局和绘制操作。在 Web 的平台视图 (PlatformView) 方面,2.8 版本会复用平台视图之前创建的 canvas,提升性能减少滚动卡顿。围绕 package 生态,这次更新了一系列 Firebase 相关的插件,以及 Google 移动端广告 SDK 的插件,与此同时,你也可以通过 DartPad 工具直接使用部分 Firebase 插件和其他 package 了。2.8 还将桌面端的支持往前迈出了一大步,官方也在近期向全球开发者征集 Flutter 桌面端的应用,以扩大测试覆盖率,为 Flutter 桌面端的稳定支持提供更多保障。

回望 2021,Flutter 的发展势头正旺、潜力无限,展望 2022,更是信心满满。尤其是桌面端的版本推进,马上就会进行一个新的 Flutter 产品更新发布,这次发布是针对 Windows 桌面应用程序开发者的,中国时间 2 月 4 号 (正月初四) 发布,届时我们也会关注并推送最新的信息。

农历新年将至,向各位 Flutter 开发者们拜年了,祝大家虎年大吉、虎虎生威!愿所有不好的事情都烟消云散,愿这个世界的秩序可以尽快恢复,我们能自由的去见想见的人并和他们相互拥抱。衷心祝愿各位读者和家人朋友们身体健康、幸福美满!

我们今年为大家准备了两款 Flutter 红包封面,分别是 Dash 虎头帽和 Dash 迎新春 (迎新春款可通过领红包页面领取),去年的三只小秃头也限时返场,祝愿各位开发者们虎年红红火火,再创佳绩!

回顾 Flutter 2021 重要时刻,奉上虎年红包封面喜迎新年!的更多相关文章

  1. 隐马尔可夫模型的前向算法(java实现),今天奉上

    隐马尔可夫模型的前向算法(手动实现),今天奉上,由于研究生期间,实现的时候没有多加注释,这里为了让更好的人进入自然语言处理领域,特此,将前向算法奉上,具体公式可参考52nlp的HMN系列博客. 参考了 ...

  2. 千金良方说:"我现在奉上179341字的MySQL资料包,还来得及吗?有"代码段、附录、和高清图!!"

    上一篇"上发布过"一不小心,我就上传了 279674 字的 MySQL 学习资料到 github 上了",我在更早之前,在微信公众号"老叶茶馆"上发布 ...

  3. 【wp】HWS计划2021硬件安全冬令营线上选拔赛

    逆向手在夹缝中艰难求生系列. 这篇真的存粹是做题笔记了,对内核驱动啥的不太懂,pwn也不会,能做出来的题都是硬逆出来的( childre最后死活没整出来,后来看大佬的wp才知道对子进程有修改(.)呜呜 ...

  4. Mac Mini2018 开箱(视频)全球首映!Kindle 开箱一并奉上(文字)

    2018.12.9更新 为了方便大家收看我的这个开箱视频,我把视频放在知乎上了,可以参考如下连接即可观看啦: https://zhuanlan.zhihu.com/p/51677467 ------- ...

  5. 《明解c语言》已看完,练习代码此奉上

    2016年9月20日至2016年11月12日,从学校图书馆借来的<明解c语言>看完了. 大三第一个学期,前8周,有c语言程序设计的课.课本是学校里的老师编写出版的,为了压缩空间,减少页面, ...

  6. ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码

    实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回false 验证手机号是否正确 13,15,18 验证邮箱 验证网址 MD5加密,返 ...

  7. 浅谈抓取网页数据(奉上Demo)

    Demo源码 背景 曾经在公司做过一个比价系统,就是抓取其它网站上商品的价格并和自己公司的商品进行对应,然后展示出来,给pm提供一个定价的参考.后来,有同事的朋友在找工作的时候,猎头让其做一个抓取去哪 ...

  8. windows phone 2048 源代码奉上

    小梦今天把2048的游戏源代码给大家分享一下,其实感觉这个重在算法,UI很简单,而且几乎没有用到什么windows phone的API.小梦遇到最主要的问题就是对触摸事件的处理,我刚开始想到的就是 M ...

  9. 15 张 Vim 速查表奉上,帮你提高N倍效率!

    阅读本文大概需要 2.8 分钟. 去年上半年开始全面使用linux进行开发和娱乐了,现在已经回不去windows了. 话归正传,在linux上一直使用vim,慢慢熟悉了它的命令,才终于领悟了什么是编辑 ...

随机推荐

  1. 【LeetCode】368. Largest Divisible Subset 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/largest-d ...

  2. 1164 - Horrible Queries

    1164 - Horrible Queries    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 64 M ...

  3. MacOS使用Docker创建MySQL主从数据库

    一.拉取MySQL镜像 通过终端获取最新的MySQL镜像 docker pull mysql/mysql-server 二.创建MySQL数据库容器配置文件对应目录 我们在当前用户下创建一组目录,用来 ...

  4. 精通 MySQL 索引

    索引概念: 概念:索引是提高mysql查询效率的数据结构.总的一句话概括就是索引是一种提高查询效率的数据结构. 数据库查询是数据库的最主要功能之一.设计者们都希望查询数据的速度能尽可能的快,因此数据库 ...

  5. McGan: Mean and Covariance Feature Matching GAN

    目录 概 主要内容 Mean Matching IPM prime dual Covariance Feature Matching IPM prime dual 算法 代码 Mroueh Y, Se ...

  6. X86系统或intel RK主板上EDP转LVDS屏转接板|CS5211DP转LVDS设计

    众所周知LVDS接口是美国NS美国国家半导体公司为克服以TTL电平方式传输宽带高码率数据时功耗大,电磁干扰大等缺点而研制的一种数字视频信号传输方式.由于其采用低压和低电流驱动方式,实现了低噪声和低功耗 ...

  7. Spring企业级程序设计 • 【第7章 Spring框架整合】

    全部章节   >>>> 本章目录 7.1 模型数据解析及控制器返回值 7.1.1 SSM框架环境搭建 7.1.1 ModelAndView多种用法 7.1.2 整合MyBati ...

  8. 【】Kerberos原理--经典对话

    这是MIT(Massachusetts Institute of Technology)为了帮助人们理解Kerberos的原理而写的一篇对话集.里面有两个虚构的人物:Athena和Euripides, ...

  9. SpringBoot 之 扩展 SpringMVC

    增加自定义视图解析器: # src/main/java/com/wu/config/MyMvcConfig.java @Configuration // 标注这个类是一个配置类 public clas ...

  10. 关于MySQL导入数据到elasticsearch的小工具logstash

    logstash核心配置文件pipelines.yml #注:此处的 - 必须顶格写必须!!! - pipeline.id: invitation #下面路径配置的是你同步数据是的字段映射关系 pat ...