写点什么

Flutter 3.3 发布,带来新的预览版渲染引擎

作者:Karsten Silz

  • 2022-09-12
    北京
  • 本文字数:1496 字

    阅读完需:约 5 分钟

Flutter 3.3发布,带来新的预览版渲染引擎

用户可以用谷歌 UI 框架 Flutter 基于一个代码库构建出原生编译的移动、Web 和桌面应用程序。谷歌刚刚发布了Flutter 的 2022 年第 3 个版本,即版本3.3。随之一起发布的还有Dart 2.18。这两个版本都是改进版,没有添加重大的新特性。新添加的渲染引擎 Impeller 只限于预览并且只适用于 iOS。谷歌还推出了一个新的展示应用 Wonderous,它用 Flutter 3.3 开发,并使用了新渲染引擎 Impeller。

Flutter 3.3 的新特性

Flutter 应用程序不使用底层平台的 UI 元素,而是模拟它们。Flutter 自带的 Material UI 适用于所有平台,还提供了一个 iOS UI 元素集。其他开源库则提供了 Windows、macOS 和 Linux 的 UI 元素集。


Flutter 网页应用程序中的文本选择现在可以像预期的那样——用户可以一次选择多行文本。触控手势在桌面应用程序中的效果变得更好。Windows 应用程序现在可以从 pubspec.yaml 构建文件中获取版本号。iPad 应用程序可以使用苹果手写笔进行手写输入。


在这个版本中,一些 Material 3 组件得到了改进——IconButton, Chips 和 AppBar。使用新的 ui.ImmutableBuffer.fromAsset()方法加载包含在应用程序中的图像速度更快,使用的内存更少。现在在 iOS 上禁用了指针压缩,将更多的内存用于 Flutter 应用程序的非 Dart 部分。


Flutter 团队提供的 go_router 包通过基于 URL 的声明简化了应用程序中的路由,4.3 版本支持异步代码。Flutter Visual Studio Code 扩展和 Flutter DevTools 也得到了改进。


Flutter 3.3 不再运行在 32 位的 iOS 设备上,包括 iPhone 5C(2014 年推出)和更早的机型,以及第二代至第四代 iPad(2012 年推出)。即将到来的 2022 年第四季度发布的 Flutter 也不支持 macOS 10.11(2015 年推出)和 10.12(2016 年推出)。


苹果在即将发布的秋季 iOS 和 iPadOS 版本中取消了 Bitcode,这也是为什么 Flutter 也会在未来的版本中移除对比 Bitcode 的支持。


Flutter 从一开始就使用 Skia 作为它的图形引擎。Skia 支持 Chrome、Firefox、Android、ChromeOS 等。相比之下,Impeller 是为 Flutter 定制的,“充分利用了现代硬件加速图形 API,如 iOS 上的 Metal 和 Android 上的 Vulkan。”这样就可以实现更好的动画效果,并消除了一个常见的问题——动画和转场不连贯。


发布之前的版本时,Flutter 团队将 50 万款现有的 Flutter 应用程序作为取得成功的指标。这一次,Flutter 团队表示,“每天都有超过 1000 款使用 Flutter 开发的新的移动应用发布到苹果和谷歌应用商店”。但这两个数字都缺乏背景支持,比如竞争平台之间的表现如何。

Dart 2.18 的新特性

Dart 是强类型的编程语言,并针对 UI 开发进行了优化。一开始它是“JavaScript 和 Java 的混合体”,现在它拥有这两种语言都没有的特性(比如全面空安全)。


Dart 于 2021 年 3 月推出了全面空安全性(Sound Null Safety),涵盖了应用程序和库。这一特性与 Swift 相同,但与 Kotlin 不同,Kotlin 不能保证库的空安全。排名前 250 的 Flutter 和 Dart 库都迁移到了空安全,而排名前 1000 的库只有 2%没有迁移。在 2022 年 7 月运行的所有 Flutter 应用程序中,超过 80%都使用了全面空安全。所以 Dart 计划在 2023 年中停止支持没有空安全的 Dart 版本。


Dart 包含了一个多平台 HTTP 库,它为两个特定于平台的库提供了实验性支持。一个是针对 iOS 和 macOS 的 cupertino_http,它使用苹果的 NSURLSession 来实现 WiFi 专属网络或 VPN 接入等功能。第二个是用于 Android 的 cronet_http,它建立在流行的 Cronet 库之上。


用于调用本地 C API 的 Dart 外部函数接口(FFI)现在可以在 iOS 和 macOS 上与 Objective-C 和 Swift 代码交互。改进的类型推断可以更好地检测一些非空参数的情况。异步代码的体积更小,运行得更快。


原文链接


Flutter 3.3 Previews New Rendering Engine


相关阅读:

Flutter 3.0 正式发布:稳定支持 6 大平台,字节跳动是主要用户

2022-09-12 08:009815

评论 1 条评论

发布
用户头像
Wonderous里面好多流失文物
2022-09-13 09:40 · 北京
回复
没有更多了
发现更多内容

2022年中国个人云盘行业发展年度分析

易观分析

个人云盘

上云采购季丨云服务器1核2G 低至35元/年,老用户续费6.5折起

阿里云弹性计算

阿里云 云服务器 ECS 采购季

2022年2月国产数据库大事记

墨天轮

数据库 opengauss TiDB 国产数据库 polarDB

如何在 Ubuntu 18.04 LTS 中配置 IP 地址?

Ethereal

客户之声|客如云上线 OceanBase 小记

OceanBase 数据库

数据库 oceanbase 客户实践 客如云

【C语言】野指针

謓泽

C语言 3月月更 野指针

WorkPlus数据中台:企业降本增效新引擎

BeeWorks

3DCAT首届行业生态交流会|升大科技CEO邱杰:5G云渲染助力企业培训

3DCAT实时渲染

XR 云渲染 元宇宙 实时渲染

无依赖单机尝鲜 Nebula Exchange 的 SST 导入

NebulaGraph

数据库 大数据 图数据库

让体验可量化,火山引擎视频云2022新进阶

ToB行业头条

大数据时代下,App数据隐私安全你真的了解么?

移动研发平台EMAS

阿里云 开发者工具 数据安全 #EMAS

如何为你的客户创建完美的 SaaS 产品文档

小炮

产品 运营

北京大学拔山讲坛 | OceanBase 阳振坤:特斯拉电动汽车的发展对分布式数据库的启示

OceanBase 数据库

数据库 oceanbase 北京大学 线上讲座

VuePress 博客如何开启本地 HTTPS 访问

冴羽

JavaScript Vue 前端 vuepress 博客搭建

银行业数据安全建设要点分析2022

易观分析

银行行业

演讲实录|云原生时代,OAM模型加持下的应用交付与管理实践

York

运维 云原生 OAM 应用开发

语音顶会 ICASSP 2022 成果分享:基于时频感知域模型的单通道语音增强算法

阿里云CloudImagine

阿里云 音频 论文 视频云 智能降噪

运维接受新挑战!网易云原生运维体系建设之路

网易数帆

Kubernetes 云原生 运维自动化

java培训:JVM的体系结构

@零度

JVM JAVA开发

虎符交易所产品再升级 正式全新上线AMM流动性池

区块链前沿News

虎符交易所 AMM

Linux运维工程师必知的服务器备份工具:Rsnapshot!

Ethereal

FinClip首届黑客马拉松 "快码加编”招募中,邀你挥洒创意赢万元现金大奖

FinClip

小程序 移动开发 APP开发 小程序插件

Curve 加入 PolarDB 开源数据库社区,强化分布式共享存储

网易数帆

数据库 postgresql 云原生 分布式存储 polarDB

如何避免黑客攻击?国内首个云端加密代码库来帮忙

阿里云云效

阿里云 云原生 云效 代码安全 代码加密

为什么在数据驱动的路上,AB实验值得信赖?

字节跳动数据平台

字节跳动 数据分析 AB testing实战 ab测试

面向体验,助推超视频时代新增长

字节跳动视频云技术团队

音视频开发

iOS自动化测试驱动工具探索

字节跳动终端技术

ios 字节跳动 自动化测试 测试工具 火山引擎MARS

大数据培训:Spark 性能调优详解

@零度

spark 大数据培训

web前端培训:2022前端基础面试题

@零度

CSS JavaScript 前端开发

网络安全kali渗透学习 web渗透入门 Metasploit---基于tcp协议收集主机信息

学神来啦

网络安全 信息安全 kali kali Linux

在 CRM WebClient UI 中使用纯 JavaScript 显示 3D 足球效果

汪子熙

JavaScript WebGL 3D模型 CRM 3月月更

Flutter 3.3发布,带来新的预览版渲染引擎_大前端_InfoQ精选文章