Flutter 全平台制霸再进一步:实现 Linux 桌面应用支持
作者|小智、王强
Flutter的“野心”不止于跨平台开发 , 而是全平台制霸:iOS、Android、Web、Linux我全都要!Flutter:走向全平台制霸Flutter作为谷歌出品的移动UI框架 , 在快速构建iOS和Android应用及开发、高性能、可移植性上表现优秀 , 并可以与现有代码一起工作 , 基于这些特点使其越来越受到开发者的推崇 。 近几年来我们也看到了越来越多国内外基于Flutter开发的最佳实践 , 目前GooglePlay上也已经涌现了超过8万个用Flutter实现的兼具快速与精美特点的应用程序 。
谷歌此前给Flutter的目标一致都是提供一个可移植的框架 , 从而在各种平台上都能构建以原生速度运行的精美UI 。 这意味着在谷歌眼里 , iOS和Android应用的跨平台开发不是Flutter的终极 , 它的野心是做一个制霸全平台开发的主流框架 。 iOS和Android只是开始 , 远非结束 。
过去一年多时间 , 谷歌团队一直在将Flutter跨平台开发的支持扩展到桌面端上 , 包括Web、macOS、Windows和Linux几大平台 。
在去年的GoogleI/O大会上 , 谷歌团队宣布了自己的实验性的桌面项目 , 并逐步把相关成果融合至Flutter引擎当中以作为主版本的新增内容 。 虽然该项目还没有达到生产级水平 , 但已经可以供爱好者们尝鲜 , 在Mac、Windows及Linux等桌面平台上开发Flutter应用程序 。
在这一过程中 , 谷歌重构了Flutter引擎的大量代码 , 以支持桌面端的鼠标和键盘输入以及可调整大小的顶级窗口 。 Flutter还针对桌面端新加入了很多UI特性 , 如MaterialDensity支持和NavigationRail , 以及Dart:FFI中的实验特性 , 和接入系统菜单栏和标准对话框等 , 从而深度集成进桌面OS底层 。 由此以来 , Flutter便可以用来构建全功能、全尺寸的桌面应用了 。
而在7月8日 , 谷歌与Ubuntu的发行方Canonical共同发布了Flutter在Linux上的第一个Alpha版本 , 标志着Flutter向Linux桌面端的扩展之路正式迈出了第一步!
为什么要在Linux上使用Flutter?当谷歌在去年宣布要为Flutter添加桌面级应用程序支持时 , Canonical就意识到这对于Linux发行版来说是一个大好机遇 。 Flutter有望大大简化Linux应用的开发过程 , 应用程序开发人员可以非常轻松地通过SnapStore(Linux应用程序商店)为Linux用户发布他们的应用程序 。 Linux成为一流的Flutter目标平台后 , 开发人员就可将其应用传播给数以百万计的Linux用户 , 这些用户将会有更多高质量的应用可用 。
对于Linux平台来说 , Flutter有很多颇具吸引力的优秀特性:
蓬勃发展的应用程序开发人员生态系统
多平台支持
高度优化的原生应用程序
现代UI框架 , 支持声明式 , 反应式和可组合的小部件
包括VisualStudioCode、AndroidStudio和IntelliJ在内的丰富开发平台支持
Canonical组建了一支开发团队与谷歌紧密合作 , 努力将Flutter带入Linux世界 。 两家公司未来将继续合作改进Flutter的Linux支持 , 并确保Linux平台的支持水平与其他平台对等 。
为了证明Flutter已为桌面端做好了准备 , Canonical与gskinner.com的设计师和开发人员合作 , 创建了一个创新而精美的Flutter桌面应用程序——Flokk 。
除了能够管理用户的联系人(包括搜索联系人、添加新联系人和编辑现有联系人)之外 , 用户在Flokk中还能将GitHub和Twitter处理的信息与联系人相关联 。 此外 , Flokk还使用了一系列Flutter特性来改进UI体验 。 例如 , 应用不仅有深色主题 , 而且在切换颜色主题时还有动画效果 。

文章图片
FlokkContacts应用背后的创意团队由GrantSkinner领导 , 他以出色的设计和打造创新的用户体验而知名 。 Grant是这样评价在Linux上使用Flutter的体验的:
“构建FlokkContacts应用非常容易!我们几乎无需进行任何调整就可以将我们在Flutter上的所有专业知识应用在Linux目标平台上 , 并且成品应用运行起来非常出色 。 与Canonical团队合作是一次很棒的经历 。 他们热心 , 投入并充满激情 , 努力让Flutter在包括Linux的所有平台上都有更好的表现 。 这是一个了不起的项目 , 我很高兴能够使用Flutter为另一个主流操作系统开发应用 。 ”
在Linux上安装Flutter为了让用户可以轻松地在自己的Linux系统中安装Flutter , 谷歌和Canonical在SnapStore中提供了Linux版的FlutterSDKsnap 。
FlutterSDKsnap打包了在Linux上开发Flutter应用所需的一切内容 。 无需安装众多开发依赖项 , 只需安装FlutterSDKsnap和IDE即可创建、构建和发布Linux应用程序了 。
例如 , 如果你想为Linux开发Flutter应用程序 , 并且你选择的IDE是VisualStudioCode , 那么只需在Linux终端上输入:
$snapinstall--classicflutter$snapinstall--classiccode$code--install-extensiondart-code.flutter如果你还想使用Linux开发移动应用 , 则可以安装AndroidSDK或AndroidStudio(后者包括了AndroidSDK)来实现目的 。 有关FlutterSDK的更多信息 , 请访问:
适用于Linux桌面的Flutter在Linux机器上安装FlutterSDK之后 , 你需要访问Flutterdev(或master)通道并启用Linux桌面支持以构建桌面应用:
$flutterchanneldev$flutterupgrade$flutterconfig--enable-linux-desktop现在 , 当你创建一个新的Flutter项目时将获得一个Linux子目录 , 这样你的应用就可以作为桌面应用运行在你的Linux机器上了:
$fluttercreatecounter$cdcounter$flutterrun-dlinux
文章图片
你将获得一个使用Flutter构建 , 且运行在GTK+最新稳定版本上的全新Linux应用程序 。 如果你有一个现有的Flutter项目 , 并且希望在启用Linux目标后向这个项目添加Linux支持 , 则可以像下面这样添加Linux子文件夹:
$cdmy_flutter_app$fluttercreate.这样你的项目就可以运行在Linux桌面上了 。
写在最后Flutter项目从诞生之初就备受瞩目 , 有谷歌背书的Flutter不仅设计优秀 , 而且在规划与执行力上也非常规开源项目可比 。 谷歌为了支持Flutter的发展 , 不仅打造了Dart语言 , 更是做了时间、节奏精准的规划 , 即便是在只能支持移动平台的发展初期 , 也毫不掩饰自己全平台制霸的“野心” 。
在过去的一段时间里 , 我们看着Flutter一步步从爱好者的“玩物”到开发团队的尝鲜再到生产级的使用 , 也许明年 , Linux平台的Flutter已经可以在生产环境中发光发热了 。
【Flutter 全平台制霸再进一步:实现 Linux 桌面应用支持】Flutter:小孩才做选择 , 大人全都要!
InfoQ写作平台欢迎所有热爱技术、热爱创作、热爱分享的内容创作者入驻!
还有更多超值活动等你来!
扫描下方二维码
填写申请 , 成为作者
开启你的创作之路吧~
点个在看少个bug
推荐阅读
- 腾讯控股的保险代理平台“微保”被深圳银保监局处罚
- 传《GTA5》将登陆谷歌云游戏平台Stadia
- 吃播秀浪费粮食,该治!平台方积极引导,点赞!
- 最强蜗牛七夕活动奖励、兑换及全方位玩法攻略汇总
- 里卡多·高拉特|高拉特秒变全能战士!华夏幸福有他会赢球了,泰达要玩死阿奇姆彭
- 最强蜗牛8月可用密令全攻略
- 梦幻西游:80W精锐第一法系戒指买家曝光,全号价值远超500W!
- “全麦面包”真假难辨:部分掺杂小麦粉 涉成分虚标
- 典韦新星元全面曝光,看完超清高能特效之后,玩家:吃土也要入手
- 拜登|嘲笑拜登将在地下室接受民主党提名,特朗普本周要在全美国巡回表演抢镜头
