从Google IO学习Flutter

Dart语法持续进化

Sound null safety:可以理解为如果声明为可为空的属性,需要判断是否为空;如果声明为不可为空的属性,就不需要判断是否为空,一定非空。示例代码如下:

scss 复制代码
void main() {
  printAge(null);
  printAge(12);
}

void printAge(int? age) {
  if (age != null) {
    print('age is $age');
  } else {
    print('age is null');
  }
} 

Dot Shorthand:允许你在上下文已知的情况下引用枚举值,而无需重复类型。这意味着更少的输入、更少的错误以及更简洁的代码。可以理解为推断出类名称。示例代码如下:

yaml 复制代码
 body: SafeArea(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: <Widget>[...],),)

简写成:

yaml 复制代码
 body: SafeArea(
        child: Column(
          mainAxisAlignment: .spaceBetween*,
          crossAxisAlignment: .stretch,
          children: <Widget>[...],),)

flutter和dart都升级到了最新的版本,执行命令行中添加--enable-experiment=dot-shorthands也不能正常执行。 Dot Shorthand仍处于实验阶段,在稳定的Flutter版本中不受支持。

null aware elements:尽可能在集合文字中使用可空感知元素。 示例代码如下:

scss 复制代码
void main() {
  print(f(null));
  print(f('key'));

}

f(String? key) => {?key: "value"};

示例结果:

css 复制代码
{}
{key: value}

Property Editor

Flutter插件的85.3版本才增加Add Property Editor,但是Android Studio中的plugins中最新的版本是85.2.2,等85.3版本发布出来之后我们才能体验。 85.3

  • Add Property Editor side panel (#7957)
  • Support removed for IDEA 2024.1 (Koala) and 2024.2 (Ladybug) (#8073)
  • Various cleanups including migrating slow operations to non-blocking calls (#8089)

平台线程和UI线程合并

Impeller Android默认渲染器

从Flutter 3.29版本开始,Flutter开始使用Impeller作为Android的主渲染器在Android API28以上的设备上,在28以及以下的设备上继续使用Skia。

Flutter web with Hot reload

Flutter web终于实现了热重载。

Canonical开发多窗口

AI

AI已来,未来已来。AI赋能的应用将会发布到各个平台。

参考资料

docs.flutter.dev/release/rel...

dart.dev/null-safety

www.youtube.com/watch?v=v6R...

dart.dev/tools/linte...

plugins.jetbrains.com/plugin/9212...

相关推荐
莞凰9 小时前
昇腾CANN的“传音入密“:hccl仓库探秘
flutter·ui·transformer
5008411 小时前
Conv + BN + ReLU 融合:省掉两次显存读写
flutter·架构·开源·wpf·音视频
5008411 小时前
把 FlashAttention 讲清楚
flutter·electron·wpf
song50114 小时前
多卡训练加速:HCCL 集合通信实战
分布式·python·flutter·ci/cd·分类
这是谁的博客?17 小时前
AI 领域精选新闻(2026-05-21)
人工智能·gpt·ai·google·大模型·gemini·新闻
mCell18 小时前
可观测性实战:Prometheus + Grafana 全栈监控
运维·后端·google
风清云淡_A20 小时前
【Flutter3.8x】flutter从入门到实战基础教程(一):新建一个flutter项目
flutter
1001101_QIA21 小时前
Flutter 开发报错:Android cmdline-tools 缺失 环境排查与完整修复方案
android·flutter
SoaringHeart1 天前
Flutter进阶:OverlayEntry 插入图层管理器 NOverlayZIndexManager
前端·flutter