Пакеты Flatpak и Snap как никогда популярны среди пользователей Linux, которые больше не предпочитают собственные двоичные пакеты или AppImages.

В первую очередь из-за простоты использованияинтеграции с центром программного обеспечения и возможности без проблем получать последние обновления приложений.

Вам больше не нужно беспокоиться о зависимостях при установке приложения.

Для некоторых преимущества безопасности песочницы/изоляции также являются важным фактором. Но мы не будем обсуждать специфику этого здесь.

Какими бы ни были преимущества Flatpak и Snap, в чем их отличия? Что следует использовать? В этой статье мы рассмотрим, чем они отличаются, чтобы помочь вам решить, что вы хотите использовать.

1. Происхождение

Snap был разработан Canonical для создания приложений для платформ IoT. Целью Snap всегда было поощрение обновлений приложений и упрощение их обслуживания разработчиками по сравнению с пакетами deb.

В конце концов, он появился для приложений, предназначенных для настольных компьютеров (в том числе с графическим интерфейсом).

Flatpak был создан Александром Ларссономглавным инженером-программистом Red Hat. Это независимый проект с открытым исходным кодом, в котором участвуют многие известные разработчики из GNOME, Fedora и Red Hat.

Цель его состояла в том, чтобы иметь надежную структуру для распространения настольных приложений Linux в различных дистрибутивах.

Первоначально он был известен как xdg-app, а позже переименован в «Flatpak» в 2016 году.

2. Варианты использования

Каждый формат упаковки имеет свои преимущества. Кто-то может сказать: «Зачем нам это нужно»?

Нам нужны все доступные форматы пакетов. Таким образом, вы можете использовать все, что вам нужно в соответствии с вашими требованиями. Следовательно, важно знать, где и почему пакеты Flatpak и Snap могут быть полезны.

Flatpak предназначен для запуска приложений на персональных компьютерах.

Тем не менее, Snaps работают на вашем персональном компьютере, а также может использоваться для терминальных приложений, ориентированных на сервер.

Например, Ubuntu Core , операционная система для Интернета вещей, и Edge созданы из моментальных снимков для обеспечения безопасности и надежных обновлений.

Насколько я знаю, Flatpak не использовался ни для чего подобного из-за другого подхода и целевого варианта использования .

3. Время запуска

Известно, что приложения Snap запускаются медленнее, чем Flatpak.

Canonical уже некоторое время работает над этим, но при публикации статьи это все еще было проблемой.

Конечно, на практике не каждый пользователь может заметить или обратить внимание на разницу. Но общий консенсус относительно времени запуска приложения остается лучше для Flatpak по сравнению со Snap.

Например, я нахожу запуск приложения Telegram в виде Flatpak быстрее, чем его Snap . Это может быть субъективно.

4. Производительность

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

Некоторые приложения работают лучше как Snap, а некоторые как Flatpak.

Например, версия GNOME Boxes Flatpak не поддерживает совместное использование устройств по сравнению с пакетом Snap. Можно использовать этот пример, чтобы сказать, что Snaps лучше.

Однако я всегда предпочитаю устанавливать Telegram как Flatpak вместо Snap.

Итак, вам нужно протестировать ваши любимые приложения, чтобы понять, что лучше для вас; никто не получает явного преимущества здесь.

5. Доступность и популярность

Хотя вы можете установить любой из них в любом дистрибутиве Linux, Flatpak получает преимущество благодаря своей доступности и готовой поддержке в большем количестве дистрибутивов по сравнению с Snap.

Например, Linux Mint поставляется со встроенной поддержкой Flatpak.

Такие дистрибутивы, как Pop!_OS и Ubuntu MATE, также по умолчанию предлагают поддержку Flatpak. Другими словами, вы найдете множество различных дистрибутивов Linux (кроме разновидностей Ubuntu), в которых Flatpak встроен по умолчанию.

Тем не менее, Snaps в основном предпочитают Canonical Ubuntu и его официальные версии.

Таким образом, можно сказать, что применение Flatpak для настольных компьютеров Linux гораздо шире (хотя и не обязательно с более обширной пользовательской базой).

Можно отметить, что количество приложений, доступных как Snap, больше.

6. Открытый исходный код против закрытого исходного кода

Flatpak имеет полностью открытый исходный код .

К сожалению, когда дело доходит до пакетов Snap, ответ не так прост.

Snap — это проект с открытым исходным кодом по своей сути , включая snapd, фоновую службу, которая управляет приложениями Snap и устанавливает их.

Тем не менее, серверная часть снимков является собственностью и контролируется Canonical без какого-либо участия сообщества.

Как конечный пользователь, у вас не должно возникнуть проблем с частями Snap с закрытым исходным кодом, если приложение выполняет свою работу.

Конечно, Flatpak будет вашим выбором, если вы предпочитаете полностью открытые технологии.

7. Децентрализованный подход против централизованного

Flatpak имеет открытый исходный код и использует децентрализованный подход.

Несмотря на то, что у нас есть известный портал «Flathub», откуда большинство пользователей получают свои приложения, Flatpak позволяет иметь несколько магазинов, если это необходимо.

С Snap вы ограничены магазином Canonical Snap.

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

8. Обновления

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

Напротив, пакеты Flatpak не обновляются автоматически. Если у вас есть интеграция Flatpak с программным центром, вы будете получать уведомления о доступных обновлениях, но не будете принудительно обновлены.

С Flatpak вы получаете больше контроля по умолчанию. Но некоторые пользователи забывают обновлять пакеты, в которых отсутствуют новые функции или исправления безопасности/ошибок.

Итак, хотите ли вы автоматически обновлять приложения, которые вы используете, или хотите, чтобы центр приложений обновлял их вручную, это повлияет на то, что вам больше нравится.

9. Работа

Flatpak не требует прав администратора для установки приложений, в отличие от Snap.

Flatpak поставляется с включенной песочницей по умолчанию . Он использует функцию пространств имен Linux Kernel для песочницы, тогда как Snap использует AppArmour.

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

10. Точка зрения разработчиков

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

  • Snap проще поддерживать/создавать по сравнению с пакетами Flatpak.
  • Безопасность Snap немного более продвинута.
  • Используя Flathub в качестве магазина Flatpak, разработчики получают помощь от различных разработчиков в тестировании и улучшении Flatpak.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 4.2 / 5. Количество оценок: 31

Оценок пока нет. Поставьте оценку первым.