Ubuntu团队已经开发了一个新的基于GTK+的主机,可以在所有Linux发行版上运行颤动应用程序。
Google对于Ffltter的目标一直是提供一个可移植的工具包,用于构建漂亮的UI,并且可以以原生速度运行,无论您的目标是哪种平台。为了验证这一功能,我们首先将重点放在移动平台Android和iOS上,在这两个平台上,我们已经看到超过8万个快速、漂亮的Ffltter应用程序发布到Google Play上。
为了在这一成功的基础上再接再厉,一年多来,我们一直在扩大我们的关注点,将桌面级体验包括在网络和桌面操作系统(MacOS、Windows和Linux)上。这项工作包括对引擎进行广泛的重构,以支持桌面风格的鼠标和键盘输入,以及可调整大小的顶级窗口。它还包括能够很好地适应桌面的新UI功能,如材料密度支持和NavigationRail,并通过DART:FFI实验和对系统菜单栏和标准对话框的访问,对深度集成到底层桌面操作系统进行了实验。所有这些工作都是为了确保Ffltter除了适合移动风格的体验外,还可以处理全功能、全尺寸的桌面应用程序。
长期以来,我们的愿景就是让颤动为平台提供动力。我们已经在谷歌的助手这样的产品中看到了这一点,所以现在我们很高兴看到其他人利用FLUG为更多的平台提供动力。今天,我们很高兴地宣布,与世界上最流行的桌面Linux发行版Ubuntu的发行商Canonical一起,推出了Ffltter版的Linux alpha。
去年,当谷歌宣布用Ffltter支持桌面级应用程序时,Canonical看到了一个令人兴奋的机会来发布Linux发行版,包括Ubuntu,这是一个对Ffltter应用程序开发人员有吸引力的目标平台。Ffltter的原生跨平台故事正在迅速发展,Canonical希望成为先锋。通过启用桌面Linux支持,Canonical使应用程序开发人员可以非常轻松地通过Snap Store(Linux应用程序商店)为Linux用户发布他们的应用程序。通过使Linux成为一流的颤动平台,Canonical正在邀请应用程序开发人员向数百万Linux用户发布他们的应用程序,并扩大他们可用的高质量应用程序的可用性。
谷歌最初宣布的Ffltter桌面支持始于支持MacOS的Alpha版本,以及Linux和Windows的计划。Canonical在Ffltter上进行了重大投资,专门组建了一支开发团队,与谷歌的开发人员一起工作,为大多数Linux发行版带来最佳的Flot体验。Canonical将继续与谷歌合作,以进一步改善对Linux的支持,并保持与其他受支持平台的功能对等。
为了证明Ffltter已经为桌面做好了准备,我们与gskinner.com的设计师和开发人员合作,创建了一个创新的、漂亮的Ffltter桌面应用程序。Flokk是一款现实世界的应用程序,可以处理真实世界的数据,特别是你的谷歌联系人列表。
除了能够管理您的联系人,包括搜索联系人、添加新联系人和编辑现有联系人之外,Flokk还允许您将GitHub和Twitter处理信息与您的联系人相关联。
GitHub和Twitter通知的显示将把你的联系人变成你自己的个人社交网络。如果你在Flokk联系人中看不到你最喜欢的社交网络,那么好消息是Flokk是完全开源的,所以你可以提交公关来添加你最喜欢的。
除了在社交空间上的创新,Flokk还使用FIFTH功能来提升外观和手感。仅举一个例子,深色主题不仅会切换颜色,还会在切换时为更改添加动画效果。
Flokk Contacts应用程序背后的创意团队由格兰特·斯金纳(Grant Skinner)领导,他以卓越的设计和创新的用户体验而闻名。格兰特在谈到在Linux上使用Ffltter时是这样说的:
“创建Flokk联系人应用程序轻而易举!我们能够将我们之前在Ffltter方面的所有专业知识应用到目标Linux上,几乎没有任何调整,这个应用程序运行得非常棒。与Canonical团队一起工作是一次美妙的经历;他们热情、投入、热衷于让Ffltter不仅适用于Linux,而且适用于每个平台。这是一个令人惊叹的项目,我很高兴能够用Ffltter瞄准另一个主要的操作系统。“-格兰特·斯金纳(Grant Skinner)。
如果你想在你的Linux机器上使用Flokk应用程序,你可以在GitHub上下载最新版本。或者,如果您运行的是Snapd,您可以从Snap Store下载Flokk应用程序。
既然您已经了解了Ffltter在桌面级应用程序(特别是在Linux上)中的良好运行情况,那么您将希望在您自己的Linux计算机上运行它。为了尽可能简单,我们很高兴在Snap Store中以快照的形式提供适用于Linux的Ffltter SDK。Ffltter SDK Snap提供了在您最喜欢的Linux发行版上开发Fwing应用程序所需的一切。无需安装大量开发依赖项;只需安装Ffltter SDK Snap和您最喜欢的IDE,您就拥有了创建、构建和发布Linux应用程序所需的一切。
例如,如果您希望开始为Linux开发颤动应用程序,并且您选择的IDE是Visual Studio代码,则您只需在Linux终端上执行以下操作:
如果您也想使用Linux开发移动应用,可以通过安装Android SDK或Android Studio(其中包含Android SDK)来实现。有关作为快照的Ffltter SDK的更多信息,请参阅https://snapcraft.io/flutter
在Linux计算机上安装颤动SDK后,要构建桌面应用程序,您需要升级到颤动开发人员或主频道。然后启用Linux桌面支持:
现在,当您创建一个新的颤动项目时,您将获得一个Linux子目录,该目录允许您在Linux桌面上运行该应用程序:
您将得到一个闪亮的新Linux应用程序,它是在最新稳定版本的GTK+上运行的Ffltter构建的。如果要在启用Linux后向其添加Linux支持的现有颤动项目,可以按如下方式添加Linux子目录:
这将使用Runner项目创建Linux子目录,您需要使用该项目在Linux桌面上构建和运行颤动应用程序。
除了通过编写DART来创建颤动小部件来支持桌面之外,您的Linux桌面应用程序还可以使用平台通道或C/C++的DART外部函数接口访问所有本地Linux。或者,如果您想要重用先前存在的代码,您可以在pub.dev、Dart和Ffltter的包管理器站点上找到该代码。您可以在pub.dev上找到的大多数包都是纯DART,其中大多数在Linux应用程序中都可以很好地工作。一些称为插件的包中包含特定于一个或多个平台的本机代码。作为此版本的一部分,我们在pub.dev上发布了三个使用Linux原生功能的插件:
这些插件中的每一个都可供您在应用程序中使用,也可以作为如何从fltter代码本机访问Linux的示例,就像url_Launcher的Linux实现一样。
要将Ffltter应用程序部署到Snap Store,您首先需要安装Snapcraft,该工具将用于构建应用程序并将其作为快照发布:
要驱动Snapcraft工具,您需要在应用程序的项目目录中创建一个snapCraft.yaml文件。例如,这是Flokk的snapcrft.yaml文件:
名称:FLOKK-CONTACTS版本:1.0.1摘要:Flokk联系人描述:一个与GitHub和Twitter集成的全新而现代的Google联系人管理器。限制:严格基数:核心18级:稳定应用程序:flkk-Contacts:命令:Flokk-Contacts扩展:[Ffltter-Master]插头:-网络部件:Flokk-Contacts:来源:。插件:颤动颤动-目标:lib/main.dart#app的主要入口点文件。
在您的snapcrft.yaml文件所在的目录中,您现在可以运行snapcraft来构建应用程序的快照。
如果一切正常,这将在您的当前工作目录中生成一个文件,如flokk-contacts_1.0.1_amd64.snap。
在Snap Store中设置要发布的帐户后,即可发布快照:
此命令会将应用程序上载到Snap Store,并尝试将其发布到边缘通道。在EDGE通道中发布应用程序后,可以通过Snap Store桌面客户端或使用命令行进行安装:
有关构建第一个快照并将其发布到快照存储中的更多详细信息,请参见https://snapcraft.io/first-snap#flutter以获取指导性教程。
Flokk应用程序是针对Linux桌面的真实世界颤动应用程序的一个很好的例子。对于一个更简单的示例,你可以查看照片搜索应用程序,它也是专门为展示桌面功能而构建的。
照片搜索是一个简单的在线照片搜索应用,它使用几个插件来访问本机平台功能,同时支持MacOS和Linux。
对于包含分步说明的示例Linux桌面应用程序,我推荐使用编写Ffltter桌面应用程序代码实验室,该代码将引导您使用OAuth和GraphQL在Ffltter中构建一个GitHub客户端。
对于一个更全面的应用程序,它可以练习更多的颤动表面积,并提供几个小应用程序,我推荐Ffltter Gallery,它去年重新设计,既支持桌面也支持移动。如果你想看到它的实际效果,你也可以在Snap Store上查看。
另一款展示Ffltter乐趣的桌面应用是托尔斯滕·洛伦茨(Thorsten Lorenz)开发的一款名为Batufo的多人游戏。在美丽的背景下,这款游戏让来自世界各地的玩家实时相互竞争。
Thorsten一直在构建这款游戏,以支持包括Linux、MacOS、Android和iOS在内的多种颤动平台。如果你想看看他是如何做到的,并跟踪未来的更新,他将他的编码过程以视频的形式提供,并在GitHub上提供代码。要从Linux安装游戏,您可以从Snap Store下载。
有了这个alpha版本以及Google和Canonical之间的密切合作关系,Linux开发人员对他们选择的操作系统获得了极大的支持。通过Snap安装颤振SDK。使用Visual Studio代码或Android Studio在Linux上构建并测试您的桌面应用程序。将你的应用部署到快照应用商店。有关最新的详细信息,请参阅fltter.dev上的桌面页面。最重要的是,一定要提供反馈,这样我们才能继续在Linux上最好地制作Fwing,就像我们努力为每一个支持的Fwing平台所做的那样。
无论你针对的是哪种平台,Canonical团队的Ffltter for Linux都是朝着我们的梦想迈出了一大步,我们的梦想是让Ffltter成为构建应用程序的最佳方式。以桌面为目标使Ffltter引擎更能适应谷歌本身不能直接支持的长尾设备,但我们计划继续为这些设备建立合作伙伴关系,并启用生态系统。
哪里有需要快速、漂亮的应用程序的设备,哪里就是我们希望Ffltter出现的地方。