当前位置: 首页 > news >正文

深入解析:Flutter 3.38和Dart 3.10中最大的更新

深入解析:Flutter 3.38和Dart 3.10中最大的更新

最近一直在玩鸿蒙,差点落下了Flutter, 这次 Flutter 3.38 和 Dart 3.10 的发布,给我的感觉是:官方终于听到了开发者的心声,开始在“写得爽”这件事上下功夫了。

这次更新不仅有大家馋了很久的 Swift 风格语法糖,还在 Web 和底层架构上动了真格。花了一点时间刷完官方视频和文档,我把最值得关注的几个点提炼出来,聊聊对我们实际开发的各种影响。


Dart 3.10:Dot Shorthands(点简写)—— 终于不用把代码写成“裹脚布”了

这绝对是本次更新的 MVP(最佳功能)。

做 Flutter 的这几年,我最大的槽点之一就是:代码层级深就算了,枚举和常量的名字还贼长。每次写个 CrossAxisAlignment.center,我都觉得自己在复读机。

Dart 3.10 引入的 Dot Shorthands,简单说就是“懂的都懂”。只要编译器能推断出类型,你就可以直接用 . 来搞定。这味道,像极了 Swift,写起来那是相当丝滑。

以前(看完让人想通过):

Column(
// 这种重复写法,写了4年我都写烦了
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
'Hello World',
style: TextStyle.DEFAULT_FONT,
),
],
)

现在(清爽,极度舒适):

Column(
// 编译器知道这里要啥,直接点!
crossAxisAlignment: .center,
children: [
Text(
'Hello World',
style: .DEFAULT_FONT,
),
],
)

这不仅仅是少打几个字的问题,代码的可读性瞬间提升了一个档次。特别是对于嵌套比较深的 UI 代码,视觉干扰少了很多。


Web 开发:终于有个正经的 Config 文件了

如果你和我一样尝试过用 Flutter 写 Web,肯定被那个 flutter run 后面跟的一长串参数折磨过。特别是处理跨域代理(Proxy)的时候,配置起来非常劝退。

在 Flutter 3.38 里,官方终于引入了工程化思维,加了个 webdev config.yml

以前为了解决本地开发跨域,还要自己搭个 Node 代理服务或者改浏览器参数,现在直接在根目录建个 yaml 文件:

# webdev config.yml
server:
port: 8080
# 兄弟们,代理转发终于原生支持了!后端接口随便调
proxy:
/api: http://localhost:3000/api

另外,flutter run -d web-server 模式现在也支持 Hot Reload 了。这意味着我们终于可以用 Chrome 以外的浏览器(比如 Safari)舒服地调试布局了,这对于要在多端兼容的项目来说,简直是救命稻草。


移动端底层:为了性能,Flutter 还是拼

虽然我们平时写 Dart 比较多,但底层的变化往往决定了 App 的上限。这次有两个硬核变动值得老鸟们注意:

  • iOS 侧的 UI Scene 迁移
    苹果的规范越来越严,AppDelegate 那一套旧流程快过时了。Flutter 3.38 加上了对 UI Scene Lifecycle API 的支持。虽然现在是实验性的,但官方提供了迁移命令。
    建议: 手里有维护了一两年的老项目的,近期可以抽空跑一下 flutter config --enable-ui-scene-migration 试试水,别等到苹果强制要求那天抓瞎。

  • Android 侧的 16KB Page Sizes
    为了适配 Android 15+ 和未来的高性能机型,NDK 默认升到了 R28。通俗点说,就是让你的 App 在新手机上内存读写效率更高。这个是如丝般顺滑的升级,基本不需要我们手动干预,坐享其成即可。


架构调整:Material 和 Cupertino 要“分家”了

这是一个信号。官方正在把 Material 和 Cupertino 这两个庞大的 UI 库从 Flutter 核心框架里剥离出去。

这对我这种“长期主义”开发者来说是好事。以前升级 Flutter SDK,最怕的就是 UI 组件行为变了,导致界面崩坏。以后这俩库独立了,核心框架归核心框架,UI 风格归 UI 风格,耦合度降低,包体积(理论上)也会变小。


写在最后

总的来说,Flutter 3.38 + Dart 3.10 这次更新,把“开发体验”提到了很高的优先级

如果你还在观望,建议直接升级 Dart 3.10 尝鲜那个“点简写”语法,真的,一旦用上就回不去了。作为一名 Flutter 老兵,看到它还在不断进化、不断变好,确实挺欣慰的。

关于这次更新,大家有什么想聊的?欢迎在评论区留言,别忘了一键三连

http://www.zskr.cn/news/164574.html

相关文章:

  • 模型并行实战:TensorFlow Mesh-TensorFlow使用体验
  • BeMusic3.1.3音乐网站源码开心版自带中文+搭建教程
  • 探索MATLAB下考虑V2G的光储充一体化微网多目标优化调度策略
  • Apple Silicon M系列芯片上的TensorFlow性能表现
  • 云环境自动化测试的五大核心挑战与创新解决方案
  • WebGL加速TensorFlow.js推理性能实测
  • 信创环境下TensorFlow兼容性问题及解决方法
  • linux开发——tftp配置与使用
  • Keras到TensorFlow SavedModel格式转换指南
  • TensorFlow源码编译指南:定制化CUDA版本支持
  • 类属性与实例属性的区别
  • ‌跨国产品的测试流程:兼顾全球化与本地化需求
  • cookies专题(服务器返回cookies)
  • WasmEdge边缘运行时支持TensorFlow模型尝试
  • 阿里云GPU服务器部署TensorFlow镜像完整教程
  • Abseil C++ 库:Google开源的现代C++公共库
  • 数据分析师AI转型指南:四大模型相关岗位,助力非科班出身从业者轻松转型!
  • 渗透测试:构筑企业数据资产的主动防御体系
  • 2026年7大运维方向解析:哪个更“吃香”?
  • 性能测试知识详解
  • AI就业黄金时代:5大高薪岗位全解析+零基础入门学习路线(建议收藏)_【25年最新】普通人逆袭AI年薪50万+的完整路线图
  • 小白如何快速从 0 到 1 搭建个人网络安全实验室?从零基础入门到精通,收藏这一篇就够了!
  • 平头哥含光芯片对接TensorFlow生态设想
  • 从踏勘到交付,iSolarBP如何搭建光伏人的“全栈能力”?
  • 收藏!金融人跨界AI智能体开发全攻略,小白/程序员入门大模型必看
  • 【收藏】裁员潮下程序员破局:零基础入门大模型,抢占2025高薪赛道
  • React项目中嵌入TensorFlow.js实现图像识别功能
  • 跨域推荐系统:TensorFlow实现Domain Adaptation
  • 探索三相异步电机交流变频调速仿真的奇妙世界
  • 基于微信小程序的医院门诊智能预约平台