Whatsapp

AppImage

Anonim

我们解释了FlatpakSnapAppImage 在文章中它们如何堆叠?两年多前发表,虽然从那时起技术已经有了很大的改进,但我是从软件开发人员的角度来评估它们的。

沙盒/禁闭

您可以在没有沙箱的情况下运行AppImage,也可以将其与不同的沙箱一起使用,例如AppArmorFirejail.

Snap可以在没有沙箱的情况下运行,但你不能将它与不同的沙箱一起使用,因为它与 紧密耦合AppArmor.

Flatpak既不能在没有沙箱的情况下运行,也不能与Bubblewrap以外的其他沙箱一起使用 .

安装/执行

一个人可以运行AppImage在设置可执行文件后无需root访问权限,无需解压缩,并在离线系统上。

Snap需要通过snapd​​安装,无法运行在安装之前没有 root 访问权限,其可下载文件也不能放在 exe 和 dmg 旁边哪些用户可以安装在离线系统上,但它可以从未压缩的源运行。

Flatpak 需要通过Flatpak 客户端工具进行安装,安装后必须具备root 权限才能运行,不能从未压缩的源。此外,flatpakref 文件需要互联网和flatpak 捆绑包需要安装运行时。

AppImage可以从非标准位置存储和运行应用程序,例如CD-ROM 和网络共享。 Flatpak经过一些配置后可以做到这一点,而Snap目前还不能。

这一节,AppImage胜出,因为它的应用更加灵活。

应用程序分发和更新

FlatpakSnap的中央存储库是FlatHub,和 Snap Store 分别。用户可以从 AppImageHub 下载 AppImages,AppImageHub 是一个以 AppImage 包形式提供的软件编目平台。

AppImageFlatPak不同, Snap Store是唯一一个每台设备一个存储库的主流应用商店。这是好事还是坏事由你决定。

使用所有3种方法打包的应用程序可以有多个版本并行运行,并且可以很容易地复制到另一台机器上。但是,它们有自己独特的实现。

所有3个都支持二进制增量更新,但只有AppImage应用程序可以自更新为Snap apps need snapd​​ t​​o be installed and Flatpak apps needFlatpak待安装。

总结

AppImagesSnap始终保持压缩状态( Flatpak 仅在服务器端压缩)并且通常比Flatpak 应用小. AppImage也独立于任何发行商,旨在统一Linux平台生态系统。

SnapCanonical所有并放置其基础快照在底层发行版之上,而Flatpak是一项Red Hat计划,将Yocto发行版置于底层发行版。此外,与Snap不同,开发人员需要向Canonical支付费用,AppImage和Flatpak可以免费使用。

在我看来,AppImages是最理想的打包方式,因为它对开发者和最终用户来说都是最方便的。但是,它们可以共存,尤其是在某些情况下开发人员更愿意使用其中之一。在下面的评论部分告诉我们您的想法。

我对这篇文章的研究受到类似项目和此处和此处的Reddit 线程的极大影响。随时查看它们以获得更多见解。