WhatsApp

Изображение приложения

Anonim

Мы объяснили, что такое Flatpak, Snap иAppImage находятся в статье Как они складываются? опубликовано более 2 лет назад, и хотя с тех пор технологии значительно улучшились, я оцениваю их с точки зрения разработчика программного обеспечения.

Песочница / Заключение

Вы можете запускать AppImage без песочницы, а также использовать его с различными песочницами, например. AppArmor и Firejail.

Snap может работать без песочницы, но вы не можете использовать его с другими песочницами, так как он тесно связан с AppArmor.

Flatpak не может работать без песочницы и не может использоваться с другими песочницами, кроме Bubblewrap .

Установка/Выполнение

Можно запустить AppImage после установки исполняемого файла без root-доступа, без его распаковки и в автономной системе.

Snap должен быть установлен snapd, не может быть запущен без root-доступа до тех пор, пока он не будет установлен, и его загружаемый файл не может быть помещен рядом с exe и dmgкоторый пользователи могут установить в автономных системах, но он может запускаться из несжатого источника.

Flatpak должен быть установлен Flatpak клиентским инструментом, не может работать без root-доступа до завершения установки, не может запускаться из несжатый источник. Кроме того, файлы flatpakref требуют подключения к Интернету и Пакеты flatpak требуют установки среды выполнения.

AppImage может хранить и запускать приложения из нестандартных мест, таких как CD-ROM и общие сетевые ресурсы. Flatpak может сделать то же самое после некоторой настройки, а Snap в настоящее время не может.

В этом разделе AppImage занимает первое место, потому что его приложения более гибкие.

Распространение и обновления приложений

Центральным репозиторием Flatpak и Snap является FlatHub, и Snap Store соответственно. Пользователи могут загружать AppImages из AppImageHub, который является платформой каталогизации программного обеспечения, доступного в виде пакетов AppImage.

В отличие от AppImage и FlatPak, однакоSnap Store — единственный доминирующий магазин приложений с одним репозиторием на устройство. Хорошо это или плохо, решать вам.

Приложения, упакованные с использованием всех трех методов, могут иметь несколько версий, работающих параллельно, и их можно легко скопировать на другой компьютер. Однако у них есть свои уникальные реализации.

Все 3 поддерживают двоичные дельта-обновления, но только AppImage приложения могут автоматически обновляться как Snap приложения должны snapd быть установлены и Flatpak приложения должныFlatpak нужно установить.

Кратко

AppImages и Snap всегда остаются сжатыми ( Flatpak сжимается только на стороне сервера) и обычно меньше по размеру, чем приложения Flatpak . AppImage также не зависит от производителя дистрибутива и направлен на унификацию экосистем платформы Linux.

Snap принадлежит Canonical и размещает базовую привязку над базовым дистрибутивом, а Flatpak — инициатива Red Hat, которая ставит дистрибутив Yocto над базовый дистрибутив.Кроме того, в отличие от Snap, где разработчикам нужно платить Canonical, AppImage и Flatpak можно использовать бесплатно.

С моей точки зрения, AppImages — идеальный метод упаковки, поскольку он наиболее удобен как для разработчиков, так и для конечных пользователей. Однако они могут сосуществовать, особенно когда есть случаи, когда разработчики предпочитают использовать одно из другого. Расскажите нам, что вы думаете в разделе комментариев ниже.

На мои исследования для этой статьи большое влияние оказали похожие проекты и темы Reddit здесь и здесь. Не стесняйтесь проверить их для получения дополнительной информации.