适用于Linux的Ffltter

2020-07-09 02:02:36

Google对于Ffltter的目标一直是提供一个可移植的框架,用于构建漂亮的UI,并且无论您的目标是什么平台,都可以以本机速度运行。为了验证这一功能,我们首先将重点放在移动平台Android和iOS上,在这些平台上,我们已经看到超过8万个快速、漂亮的颤动应用程序发布到Google Play上。

为了在这一成功的基础上再接再厉,一年多来,我们一直在扩大我们的关注点,将桌面级体验包括在网络和桌面操作系统(MacOS、Windows和Linux)上。这项工作包括对引擎进行广泛的重构,以支持桌面风格的鼠标和键盘输入,以及可调整大小的顶级窗口。它还包括新的UI功能,可以很好地适应桌面,如材料密度支持和NavigationRail,以及深度集成到底层桌面操作系统的实验,并在DART:FFI中进行实验,以及访问系统菜单栏和标准对话框。所有这些工作都是为了确保Ffltter除了适合移动风格的体验外,还可以处理全功能、全尺寸的桌面应用程序。

长期以来,我们的愿景就是让颤动为平台提供动力。我们已经在谷歌的助手这样的产品中看到了这一点,所以现在我们很高兴看到其他人利用它来为更多的平台提供动力。今天,我们很高兴地宣布,与世界上最流行的桌面Linux发行版Ubuntu的发行商Canonical一起,推出了Ffltter版的Linux alpha。

去年,当谷歌宣布用Ffltter支持桌面级应用程序时,Canonical看到了一个令人兴奋的机会来发布Linux发行版,包括Ubuntu,这是一个对Ffltter应用程序开发人员有吸引力的目标平台。Ffltter的原生跨平台故事正在迅速发展,Canonical希望成为先锋。通过启用桌面Linux支持,Canonical使应用程序开发人员可以非常轻松地通过Snap Store(Linux应用程序商店)为Linux用户发布他们的应用程序。通过使Linux成为一流的颤动平台,Canonical正在邀请应用程序开发人员向数百万Linux用户发布他们的应用程序,并扩大他们可用的高质量应用程序的可用性。

谷歌最初的声明始于支持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计算机上安装Ffltter SDK后,要构建桌面应用程序,您需要访问Ffltter dev(或主)频道并启用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文件所在的文件夹中,您现在可以运行snapcraft来构建应用程序的快照。

如果一切正常,这将在您的当前工作目录中生成一个文件,如“flokk-contacts_1.0.0_amd64.snap”

一旦您在Snap Store中设置了要发布的帐户,现在就可以发布您的快照了:

$snapcraft注册FLOKK-CONTACTS#(在存储中注册快照名称,这些名称必须是唯一的)。

这会将其上载到快照存储,并尝试将其发布到边缘频道。在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在内的多种Ffltter平台。如果你想看看他是如何做到的,并跟踪未来的更新,他将他的编码过程以视频的形式提供,并在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出现的地方。