在macOS上创建Flutter桌面项目就像创建任何其他新的Flutter项目一样,使用 flutter create 即可。
除了工具支持之外,Flutter团队还一直在致力于适合桌面大小的应用程序的密度。移动应用程序需要相对较大的控件来适应触摸交互,而在桌面大小的设备上,用户更有可能使用鼠标。
为了改善Flutter桌面应用程序的体验,我们在键盘导航和键盘访问方面做了很多工作,包括:
将修改器键与键盘事件同步。
打开下拉菜单时管理项目选择。
添加一个方便访问的主要焦点。
添加键盘导航,悬停和开关快捷方式。
复选框和单选按钮。
自动滚动以使聚焦的项目保持可见。
基于键盘快捷键的滚动。
一个用于处理焦点和悬停的新小部件。
重写的复制/粘贴和键盘选择。
下拉菜单的键盘导航。
视觉密度支持。
添加macOS功能键支持。
除了Flutter Gallery示例之外,我们还建议使用新的Photos Search示例,地址如下: github.com/flutter/sam…
该示例展示了很多桌面方面的优点,包括键盘处理,新的小部件密度,新的插件和新的小部件。更多有关Flutter For Desktop的信息可以查看官方网站:flutter.dev/desktop
二、编译器和开发工具
Flutter的编译工具和开发工具此次也有重大升级和更新。大概有这些内容:Android Studio工具里面支持把Flutter添加到原生的应用程序中的“Add-to-App"。基于IntelliJ的增强型IDE(具有我们称为“ Hot UI”的新功能的预览)。DartPad新版本支持Flutter。Dart DevTools预览版,具有新的视觉布局视图的增强型,可在同时进行多设备调试的功能。Visual Studio Code改进了Android的构建过程,并更好地支持了在测试运行之间发现渲染小部件中的差异。Dart 2.7正式版的发布。
具体讲解请看下文介绍:
2.1 Dart2.7正式版发布
★ 1.Dart 2.7添加了强大语言新功能:扩展方法。这些使你能够向任何类型(甚至是你无法控制的类型)添加新功能,并具有常规方法调用的简洁性和自动化。
★ 2.安全字符串处理(包括emoji):
Dart的标准String类使用UTF-16编码。这是编程语言中的常见选择,尤其是那些支持在设备和Web上本地运行的语言。
在使用字符串时,通常不必担心字符和代码点。如果要做的只是接收,传递整个字符串,则内部编码是透明的。但是,如果需要遍历字符串的字符或操纵字符串的内容,则可能会遇到麻烦。为此,Dart 2.7引入了一个新的库 “characters”,用于处理这种情况。该软件包支持将字符串视为用户感知的字符序列,也称为Unicode 字形簇。使用“characters”库,我们可以通过对缩短文本的代码进行少量更改来修复代码。另外也支持emoji表情。
★ 3.支持空安全功能,不过目前是预览版阶段。
2.2 DartPad升级了
DartPad新版本支持Flutter了,你无需安