Flatpak简介

Flatpak是一个用于在Linux上分发桌面应用程序的框架。 它由具有长期工作在Linux桌面的开发人员创建,并作为独立的开源项目运行。

目标受众

Flatpak可以被各种桌面应用程序使用,旨在尽可能与应用程序的构建方式无关。 也对编程语言,构建工具,工具包或框架不作要求。

虽然Flatpak只能在Linux上运行,但它可以被针对其他操作系统的应用程序以及特定于Linux的应用程序使用。 应用程序可以是开源的或专有的(尽管某些分发服务,如 Flathub ,在这方面可能有限制)。

Flatpak提出的唯一技术要求是应用程序遵循少量的Freedesktop标准,以实现桌面集成(参考 要求与规范)。

使用Flatpak的理由

与其他在Linux上分发应用程序的方法相比,Flatpak具有一些主要优势。 首先,Flatpak允许在几乎任何Linux发行版上安装和运行单个应用程序构建。 它还可以与 Flathub 结合使用,Flathub是一种中心化服务,用于在所有发行版上分发应用程序。 这使得应用开发者可以从一个地方瞄准整个Linux桌面市场。

Flatpak还为主要Linux桌面提供本机集成,以便用户可以通过现有的桌面环境和工具轻松浏览,安装,运行和使用Flatpak应用程序。

其他开发者可以得益的地方:

  • 向前兼容:相同的Flatpak可以在同一发行版的不同版本上运行,包括尚未发布的版本。 这不需要应用程序开发人员进行任何更改或管理。
  • 维护平台:称为运行时,它们包含依赖项集合,可供应用程序使用,并且可以从应用程序开发中完成大量工作。
  • 捆绑:这允许应用程序开发人员将几乎任何依赖项或库作为其应用程序的一部分。 这样可以完全控制用于构建应用程序的软件。
  • 一致的应用环境: 因为程序跑在一样的环境中,他们会按预期执行,这使得查找bug和测试变得容易。

最后,虽然Flatpak确实为分发应用程序提供了中心化服务,但它还允许分布式托管和分发,以便应用开发者或下游可以托管他们自己的应用和应用仓库。

关于Flatpak的更多信息可以参考 Flatpak原理