(图片来自谷歌官方)

整理:郑丽媛

今日,谷歌重磅发布了下一代 Flutter —— 专为 Web、移动和桌面而构建的 Flutter 2!

作为谷歌免费开源的 UI 工具包,Flutter 帮助许多开发者构建了多平台应用,支持移动、Web、桌面和嵌入式平台,仅在 Google Play Store 平台上就有已超过 15 万个基于 Flutter 开发的应用,国内我们熟知的闲鱼 App、以及“国民应用”微信,均使用了 Flutter 进行开发。

Flutter 的重大升级版本 Flutter 2 为了从根本上改变开发者对构建应用的看法,将 Flutter 从移动开发框架扩展成可移植框架,因而开发者无需重写代码即可将应用扩展至桌面或网页。此外,利用 Flutter 2 还能实现许多功能:

  • 开发者可使用相同的代码库,将本地应用发布到五个操作系统上:iOS、Android、Windows、macOS 和 Linux;
  • 针对 Chrome、Firefox、Safari 或 Edge 等浏览器提供不同的网络体验;
  • List itemFlutter 还可以嵌入汽车、电视和智能家用电器。

那么 Flutter 2 具体有哪些新变化呢?

Flutter 2 对 Web 的支持

本次更新最大的变化大概就是 Flutter 2 对构建 Web 应用的支持。
与早期 Web 不同,目前的 Web 平台已发展为包含更丰富的平台 API,可以使用硬件加速的 2D 和3D 图形以及灵活的布局等来支持各种高度复杂的应用。Flutter 2 的 Web 支持正是基于这些创新,提供了一个以应用程序为中心的框架,充分利用现代 Web 提供的所有功能。
Flutter 2 对此主要关注三个应用场景:

  • 渐进式 Web 应用程序(PWA),将 Web 的访问范围与桌面应用程序的功能结合在一起。
  • 单页应用程序(SPA),加载一次并与 Internet 服务之间进行数据传输。
  • 将现有的 Flutter 移动应用移植到 Web,实现一套代码,两端运行。

除了对 Web 的支持,Flutter 2 还在性能优化上取得了不错的进展,例如新增了一个用 WebAssembly 构建、由 Canvaskit 驱动的渲染引擎。在提供最佳 Web 平台方面,Flutter 2 中也添加了文本自动填充功能、对地址栏 URL 和路由的控制以及 PWA 清单。此外,由于桌面浏览器和移动浏览器同等重要,Flutter 2 中还新增了交互式滚动条和键盘快捷键、桌面模式下的默认内容密度以及屏幕阅读器对 Windows,macOS 和 Chrome OS 上可访问性的支持。

目前已有一些使用 Flutter 2 构建 Web 应用程序的例子。全球顶尖的消费类机器人公司 iRobot,已利用 Flutter 2 将其现有的教育编程环境移植至 Web。

(图片来自谷歌官方)

还有在线动画工具 Rive,其更新后的 Web 应用程序(目前提供 Beta 版)完全由 Flutter 2 构建。

(图片来自谷歌官方)

Flutter 2 可应用至多种设备

除了传统的移动设备和 Web 之外,Flutter 2 的应用也支持桌面 PC、可折叠设备和嵌入式设备。以谷歌官方发布的应用为例,Flutter 2 优秀的移植性得到了充分地证实。

通过与促进开源软件项目 Canonical 的合作,谷歌成功将 Flutter 带入桌面,并且未来 Flutter 还可能成为 Canonical 创建桌面和移动应用程序的默认选择。

(图片来自谷歌官方)

其次,微软也在扩大对 Flutter 的支持。除了正在合作实现 Flutter 对 Windows 的高质量支持,微软今日还宣布 Flutter 将支持其新款可折叠 Android 设备,对此 Surface 团队展示了他们如何使用 Flutter 为 Surface Duo 和其他设备提供高质量实现。

(图片来自谷歌官方)

最后,世界畅销汽车制造商丰田也宣布了一项计划:将通过由 Flutter 提供支持的信息娱乐系统,将最佳的数字体验带入汽车市场。Flutter 的高性能、快速迭代、智能手机层的触摸机制等特点都是丰田选择它的原因。此外,通过使用 Flutter 的 Embedder API,丰田还能针对车载系统的独特需求量身定制 Flutter。

(图片来自谷歌官方)

期待 or 担忧?

Flutter 2 一经发布就引起了众多开发者的注意,在 Hacker News 迅速登上 TOP 榜,引发诸多讨论。

有网友表示期待:
我相信 Flutter 是一个非常雄心勃勃的项目,感谢谷歌确实在试图解决跨平台 UI 开发问题。

也有网友对此无动于衷:
也许 Flutter 会成为跨平台 UI 开发的王者,但开发者社区已经被这个承诺骗了很多次了,我们必须先看到最终产品才会兴奋起来。

还有网友担忧同样用于开发桌面应用的 Electron 会受到冲击:
Flutter 2.0 发布了,一套代码同时支持移动端和桌面端(ios,Android,Windows,macOS 和 Linux)。如果真能做到,Electron 应该会受到很大冲击。
对此,你有什么看法吗?欢迎评论区留言!

参考链接:

https://developers.googleblog.com/2021/03/announcing-flutter-2.html

https://hn.algolia.com/?dateRange=last24h&page=0&prefix=false&query=&sort=byPopularity&type=story

Google 重磅发布 Flutter 2 !一套代码横扫 5 大系统相关推荐

  1. Google重磅发布Go语言编码规范

    前言 Google官方在2022.11.23重磅发布了Go语言编码规范. 这个编码规范源自于Google内部的Go项目,是Google的开发人员要遵守的代码规范. 在Go语言诞生后,全世界的Go开发者 ...

  2. 一套代码称霸5大端口,移动金融应用还能这样开发?

    在全面拥抱移动互联网的时代,传统金融机构转战移动金融应用已是大势所趋.但银行转型面临的问题非常之多,不仅仅是机构属性复杂和用户留存率的问题,在开发层面也一样陷入了开发效率较低.缺乏统一化标准.运维困难 ...

  3. 中国软件行业协会最新发布《2022中国低代码领域十大趋势报告》

    2020年被称之为低代码元年,在这一年低代码平台在中国刚起步不久.到了2021年,低代码/无代码平台开始在国内迅速蔓延,很多企业都已经开始采用低代码/无代码开发. 那么,接下来的2022年,低代码市场 ...

  4. 腾讯AI开源框架Angel 3.0重磅发布:超50万行代码,支持3种算法,打造全栈机器学习平台...

    出品 | AI科技大本营(ID:rgznai100) [导语]2019年8月22日,腾讯首个AI开源项目Angel正式发布3.0版本.Angel 3.0尝试打造一个全栈的机器学习平台,功能特性涵盖了机 ...

  5. Google重磅发布开源库TFQ,快速建立量子机器学习模型

    整理 | 弯月 编辑 | 郭芮 出品 | AI科技大本营(ID:rgznai100) 近日,Google 与滑铁卢大学.大众汽车等联合发布 TensorFlow Quantum(TFQ),一个可快速建 ...

  6. Google重磅发布云游戏平台,彻底告别游戏主机时代

    3月20日,谷歌在GDC 2019上正式发布了自家全新游戏平台--Google Stadia,让游戏摆脱硬件束缚,全面诠释了在谷歌心中的未来游戏愿景. 具体来说,Google Stadia类似于此前曾 ...

  7. LAXCUS集群操作系统5.2版本一套代码横扫所有国产CPU,凑合全家桶

    经过8个月,LAXCUS集群操作系统技术团队不辞辛苦,996.007加班加点,终于完成对全部国产CPU的代码迁移和兼容适配工作,实现今年第一个小目标:将所有国产CPU无遗落地装入LAXCUS全家桶,这 ...

  8. EMR重磅发布智能运维诊断系统(EMR Doctor)——开源大数据平台运维利器

    大数据运维的挑战-如何保证集群稳定与运行效率 企业级大数据集群通常拥有海量的数据存储.日常运算成干上万的计算任务,需要满足各类上层业务的计算需求.对于这类集群的运维往往充满着挑战:海量的数据.庞杂的组 ...

  9. EMR 重磅发布智能运维诊断系统(EMR Doctor)——开源大数据平台运维利器

    大数据运维的挑战-如何保证集群稳定与运行效率 企业级大数据集群通常拥有海量的数据存储.日常运算成干上万的计算任务,需要满足各类上层业务的计算需求.对于这类集群的运维往往充满着挑战:海量的数据.庞杂的组 ...

最新文章

  1. CentOS 配置防火墙操作实例(启、停、开、闭端口)
  2. Hibernate 基本配置文件+基本增删改查
  3. Asp.net设计模式笔记之一:理解设计模式
  4. linux:rsync命令
  5. centos6.4 源码安装mysql5.5
  6. java jinq_将JINQ与JPA和H2一起使用
  7. 图像 pipeline_ARADEEPOPSIS:一个基于叶状态语义分割的自动植物表型Pipeline
  8. php运用like乱码,使用MySql和php出现中文乱码的解决方法
  9. BZOJ.3698.XWW的难题(有源汇上下界最大流ISAP)
  10. 企业数据采集的10个经典方法
  11. 虚幻4英雄联盟模型分享——荆棘之刺婕拉
  12. 华为阿里下班时间曝光:所有的光鲜,都有加班的味道
  13. python调整图片大小reshape_scipy.misc.imresize改变图像的大小
  14. 软件著作权申请材料及申请流程?
  15. 国内沪深股市的股票策略分析的简单案例
  16. 用python写atm自动取款_Python实现atm机的功能
  17. 哈尔滨工程大学计算机调剂信息,2018年哈尔滨工程大学信息与通信工程学院考研调剂信息:信息与通信工程、电子与通信工程方向...
  18. c语言解张静态的消消乐的图片,开心消消乐:那些迷失在消消乐的小时光,我们中招都一个样...
  19. Android MPU6500r添加
  20. 初学者深度学习工作站配置

热门文章

  1. 轻量化神经网络篇(SqueezeNet、Xception、MobileNet、ShuffleNet)
  2. 面试—每日一题(8)
  3. 排序算法第六篇——堆排序
  4. css中选择器的使用
  5. MongoDB安装问题
  6. @property 的属性class
  7. vue element new vue const
  8. 单线程智能聊天机器人
  9. Jetson TK1 一:调整屏幕分辨率
  10. 关于sql安装,升级,卸载时需要重启的解决方法