从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...

相关推荐
Frag0ut1 天前
获取Chrome官方安装包:离线版安装风险避坑指南
chrome·google·谷歌浏览器·安装包·chromesetup.exe·在线安装包·离线版
程序员老刘1 天前
跨平台开发地图 | 2026年10月
flutter·ai编程·客户端
用户38481618018361 天前
写 Go 命令行小工具时我常用的几个习惯
google
林瞅瞅1 天前
Flutter 开发环境从零搭建与调试记录
flutter
FungLeo1 天前
成为全栈·Flutter App 篇·Markdown 编辑器:编辑、预览与离开保护
flutter·移动开发·markdown编辑器·表单设计·成为全栈·草稿保存
FungLeo1 天前
成为全栈·Flutter App 篇·会员中心:资料、密码、通知与私有数据缓存
flutter·dart·身份认证·数据隔离·成为全栈·会员中心
穆梓兰煊2 天前
Flutter端云协同推理架构解析
flutter·github
FungLeo2 天前
成为全栈·Flutter App 篇·内置 WebView:网页历史、App 返回与外链安全
flutter·网络安全·移动开发·webview·路由管理·成为全栈
m0_738185822 天前
Flutter 鸿蒙化实战:volume_controller 适配 OpenHarmony,系统音量控制
flutter·华为·harmonyos·鸿蒙