Flutter2重磅发布支持Web和桌面应用

目录

  • Flutter 2的发布
  • Flutter 2的背后
  • Flutter 2对Web的支持
  • Flutter 2对PC、可折叠以及嵌入式设备的支持
  • 不断发展的Flutter生态系统
  • 空安全

Flutter 2概述

image

谷歌在今日召开的一场线上活动中正式宣布了Flutter 2的发布。作为一款用于构建跨平台APP的框架,Flutter今天正式迎来了它的的第二个大版本,增加了对桌面和Web 应用程序的支持。开发者可借助 Flutter2打造开箱即用的APP,并且能够为 iOS、Android、Windows、macOS、Linux 和 Web 端套用相同的代码。

谷歌表示,开发者借助 Flutter 2 可使用同一份代码库面向 5 个操作系统(iOS, Android, Windows, macOS 和 Linux)发布原生应用,以及发布面向 Chrome, Firefox, Safari 和 Edge 等浏览器的应用。此外,Flutter 还可以嵌入到汽车、电视和智能家电中。

之所以叫Flutter2,主要归结于其对Web和桌面应用程序的支持。这是一个可以作为相当深远的支点,相信在不远的某一天Flutter将一统全栈。

Flutter的目标是从根本上改变开发人员对构建应用程序的思路,让开发者从用户体验,而不是适配的平台开始。

image

全球各大一二线公司都已经使用了 Flutter,包括它们的主流的应用程序如:微信,Grab,Yandex Go,Nubank,Sonos ,Fastic,Betterment 和 realtor.com等。
在 Google 内部也会使用 Flutter 开发,Google 内有近一千多名工程师正在使用 Dart 和Flutter 构建应用程序,其中许多产品都已经发布了,包括:Stadia,Google One和Google Nest Hub 等等。

image

几个月前,Google Pay为其旗舰移动应用程序改用Flutter,他们已经在生产力和质量上取得了重大进步。通过统一代码库,该团队消除了平台之间的功能差异,并消除了超过一百万行代码。Google Pay还报告说,其工程师的效率要高得多,技术债务大大减少,统一发布流程(如跨iOS和Android的安全性审查和试验)得以实现。

Flutter 2 的背后

距离Flutter 1.0的发布已经两年多了,在这段时间内Flutter已经关闭了24541个issues,并合并了来自765个贡献者的17039个PR。自去年9月Flutter 1.22发布以来,陆续已经关闭了5807个issues并合并了298位贡献者的4091个PR。特别感谢我们的志愿者捐助者,他们慷慨地抽出时间来改进Flutter项目。为Flutter 2发布贡献最大的一位顶部志愿者是来自中国成都的xu-baolin,它提交了46个PR。另外,除了PR的贡献者之外还有一大批志愿者PR评审人员,评审了1525个PR,包括hamdikahlounCareFYazeedAlKhalaf。Flutter确实是社区的一项工作,如果没有问题提出者,PR贡献者和代码审查者,就不可能有Flutter 2。

Flutter 2对Web的支持

Flutter 2中最大变更之一就是对Web的生产质量有了新的支持。

Flutter对Web的支持是基于有硬件加速的2D和3D图形以及灵活的布局和绘画API,提供了以应用程序为中心的框架,该框架充分利用了现代Web所提供的所有优势。

Tips:Flutter团队中有不少是开发Chrome浏览器的开发人员。

此初始版本特别关注三种应用程序场景:

  • 渐进式Web应用程序(PWA):将Web的访问范围与桌面应用程序的功能结合在一起。
  • 单页应用程序(SPA),一次加载并与网络之间进行数据传输。
  • 将现有的 Flutter 移动应用程序带到Web上,从而为两种体验启用共享代码。

Flutter开发团队表示,Flutter 2 有意为 Web 平台提供了非常标准的、以 DOM 为中心的开发方式。尽管效果不错,这么做也可能带来性能方面的阻碍(尤其是更高级的功能)。
在过去的几个月中,在为稳定发布 Web 支持做准备的同时,Flutter也在性能优化方面取得了许多进展,比如添加了一个由 WebAssembly 构建的 CanvasKit 驱动渲染引擎。

image

Flutter Plasma 是由社区成员 Felix Blaschke 构建的 Demo ,展示了使用 Dart 和 Flutter 构建复杂的 Web 图形体验的简便性,这些体验也可以在桌面或移动设备上本地运行。

此外Google也一直在扩展Flutter使其能够提供最佳的Web平台。最近几个月,Flutter 添加了文本自动填充功能,对地址栏 URL 和路由的控制 和 PWA清单。而且由于PC浏览器与移动浏览器一样重要,因此我们添加了交互式滚动条和键盘快捷键,增加了PC模式下的默认内容密度,并增加了屏幕阅读器对Windows,macOS和Chrome OS上可访问性的支持。

Tips:Flutter对桌面应用程序支持仍处于相对早期的阶段,但 Web 支持已经从 Beta 测试顺利转正。

Flutter 2对PC、可折叠以及嵌入式设备的支持

这次发布会上Flutter还介绍了Flutter生态中的小伙伴:Canonical、微软、丰田:

  • Canonical 与Google合作将 Flutter 带入 desktop ,开发者贡献了许多代码来支持在Linux 上的开发和部署Flutter;展望未来Flutter是 Canonical 创建的未来 desktop 和移动应用程序的默认选择;


    image
  • 微软正在继续扩大对 Flutter 的支持,除了对 Flutter 提供高质量的 Windows 支持外,今天微软还将发布对 Flutter 引擎以支持新兴的可折叠 Android 设备的支持。

    • 这些设备引入了新的设计模式,其应用程序可以扩展内容或利用双屏特性提供并行体验。


      image
  • 汽车制造商丰田汽车宣布通过 Flutter构建其信息娱乐系统,将最佳的数字体验带入车辆。

    • 使用 Flutter 标志着与过去开发车载软件的方式大相径庭,丰田之所以选择 Flutter 是因为其高性能和经验的一致性,快速的迭代和开发人员的人机工程学以及智能手机层的触摸机制,通过使用 Flutter 的 embedder API,Toyota 可以针对车载系统的独特需求量身定制Flutter。
image

不断发展的Flutter生态系统

截至目前Flutter生态中已迎来包括亚马逊、微软、Adobe、华为、阿里巴巴、腾讯、eBay、Square 等公司贡献的超过 1.5 万个 Flutter / Dart 软件包。关键包支持如:LottieSentry和 SVG,以及 Flutter Favorite 软件包如: sign_in_with_applegoogle_fontsgeolocatorsqflite 等。

image

最后,跟小伙伴们聊一聊此次Flutter版本的发布对大家影响最大的一个功能:空安全。

空安全

空安全性是Dart语言的重要补充,它通过区分可空类型和非可空类型进一步增强了类型系统。这使开发人员能够防止null错误崩溃,这是应用程序崩溃的常见原因。通过将空检查合并到类型系统中,可以在开发过程中捕获这些错误,从而防止生产崩溃。从Flutter 2开始,包含Dart 2.12的稳定版完全支持声音无效安全性

pub.dev软件包存储库已经发布了1000多个空安全软件包,其中包括Dart,Flutter,Firebase和Material团队的数百个软件包。

由于Flutter 2基于Dart的空安全版本,这会导致pub.dev上一大批没有适配空安全的插件出现无法运行在Flutter 2上,所以:如果你想将已有已有升级到Flutter 2那么首先需要确保项目中所依赖的插件是否有对应的空安全的版本,如果你是Flutter包的开发者,那么请尽快将你的包迁移到支持空安全的Dart版本

扩展阅读

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容