Google推出Flutter 2框架和Dart 2.12语言

谷歌推出了Flutter 2用户界面框架,这标志着该项目从一个用于开发移动应用程序的框架转变为一个用于创建任何类型程序(包括桌面程序和Web应用程序)的通用框架。

Flutter 被视为 React Native 的替代方案,允许您基于一个代码库发布针对不同平台的应用程序,包括 iOS、Android、Windows、macOS 和 Linux,以及在浏览器中运行的应用程序。 之前使用 Flutter 1 编写的移动应用程序在切换到 Flutter 2 后可以适应在桌面和 Web 上运行,而无需重写代码。

Flutter代码的主要部分是用Dart语言实现的,执行应用程序的运行时引擎是用C++编写的。 开发应用时,除了使用Flutter原生的Dart语言之外,还可以使用DartForeignFunction接口来调用C/C++代码。 通过将应用程序编译为目标平台的本机代码,可以实现高执行性能。 在这种情况下,程序不需要在每次更改后重新编译 - Dart 提供了热重载模式,允许您对正在运行的应用程序进行更改并立即评估结果。

Flutter 2 完全支持创建适合生产实施的 Web 应用程序。 提到了使用 Flutter for the Web 的三个主要场景:开发独立的 Web 应用程序(PWA,Progressive Web Apps)、创建单页 Web 应用程序(SPA,Single page apps)以及将移动应用程序转换为 Web 应用程序。 Web 开发工具的特点包括使用加速 2D 和 3D 图形渲染的机制、屏幕上元素的灵活排列以及编译到 WebAssembly 中的 CanvasKit 渲染引擎。

桌面应用程序支持处于测试阶段,并将在今年晚些时候的未来版本中稳定下来。 Canonical、微软和丰田已宣布支持使用 Flutter 进行开发。 Canonical 选择 Flutter 作为其应用程序的主要框架,并且还使用 Flutter 为 Ubuntu 开发新的安装程序。 微软已将 Flutter 应用于具有多个屏幕的可折叠设备,例如 Surface Duo。 丰田计划将 Flutter 用于车载信息娱乐系统。 谷歌开发的Fuchsia微内核操作系统的用户shell也是基于Flutter构建的。

Google推出Flutter 2框架和Dart 2.12语言

与此同时,Dart 2.12 编程语言发布,Dart 2 的彻底重新设计的分支的开发仍在继续。Dart 2 与 Dart 语言原始版本的不同之处在于使用了强静态类型(类型可以自动推断,因此指定类型不是强制性的,但不再使用动态类型,并将最初计算的类型分配给变量,随后应用严格的类型检查)。

该版本以 Null 安全模式的稳定性而闻名,这将有助于避免因尝试使用值未定义并设置为 Null 的变量而导致的崩溃。 该模式意味着变量不能有 null 值,除非显式地为它们分配了 null 值。 该模式严格遵守变量类型,这允许编译器应用额外的优化。 在编译时检查类型合规性,例如,如果尝试将值“Null”分配给类型不暗示未定义状态的变量(例如“int”),则会显示错误。

Dart 2.12 的另一个重要改进是 FFI 库的稳定实现,它允许您创建高性能代码,您可以从中访问 C 语言的 API。 进行了性能和尺寸优化。 添加了使用 Flutter 编写的开发人员工具和代码分析系统,以及用于为 Android Studio/IntelliJ 和 VS Code 开发 Dart 和 Flutter 应用程序的新插件。

Google推出Flutter 2框架和Dart 2.12语言


来源: opennet.ru

添加评论