Snapy i Flatpaki w służbie standaryzacji Linuksa?

in #polish5 years ago

Odkąd istnieją dystrybucje Linuksa to rozpowszechnianie aplikacji odbywa się na bazie repozytoriów - centralnego miejsca do którego wrzucane jest oprogramowanie. Ma to swoje zalety, ale po pewnym czasie to wady zaczęły być górą.

4.png

Źródło

Kiedy dystrybucji Linuksa zaczęło przybywać początkowo zachowywały one pomiędzy sobą kompatybilność na poziomie oprogramowania - czyli aplikacja przeznaczona na Ubuntu mogła działać również na Debianie (Ubuntu to młodszy brat Debiana na którym bazuje). Z czasem jednak kiedy któraś z nich zdobyła dominującą pozycję nagle ta zgodność zaczynała być burzona.

3.png

Źródło

Obecnie jest tak, że każdy popularniejszy system operacyjny posiada swoje indywidualne repozytoria a twórcy programów nie mogą się za bardzo w tym wszystkim odnaleźć. Z jeden strony chcieliby aby ich program działał na jak największej liczbie systemów, z drugiej strony należy przygotować paczki instalacyjne dla Debiana, Ubuntu, Fedory, openSUSE, Archa i jeszcze innych, jednak aby tego dokonać trzeba posiadać odpowiednie zasoby ludzkie.

5.png

Źródło

Zaczęto dostrzegać ten problem i ktoś wpadł na pomysł aby stworzyć coś, co będzie przypominać wszystkim znane do tej pory repozytoria ale oprogramowanie w nich zawarte będzie działać niezależnie od systemu operacyjnego. Tak narodziła się idea Flatpaków, Snapów i AppImage - aż 3, bo środowisko OpenSource musi posiadać kilka standardów ;-)

AppImage

AppImage to najstarsze rozwiązanie ze wszystkich tu omawianych. Nie posiada piaskownicy jak tak Flatpak oraz Snap oraz nie oferuje repozytoriów. Tak naprawdę programy AppImage rozprowadzane są na zasadzie aplikacji portable znanych z systemu Windows - pobieramy jeden plik, uruchamiamy go i możemy korzystać z programu.

Flatpak

Flatpak to dawne xdg-app rozwijane na początku głównie przez deweloperów RedHata, zaś aktualnie tworzone jest przez wielu programistów z całego środowiska OpenSource. Jego główną cechą jest możliwość tworzenia własnych repozytoriów i przy ich pomocy dystrybuować oprogramowanie. Przypomina to mocno rozwiązanie firmy Canonical o nazwie Launchpad, gdzie mogliśmy stworzyć własne repozytorium dla systemu Ubuntu i przy jego pomocy rozpowszechniać nasz program.

1.jpg

Źródło

Sama usługa Flatpak posiada jedno centrale repozytorium do którego deweloperzy mogą dodać swoje oprogramowanie. Znajduje się ono pod tym adresem i cały czas się rozrasta. Korzystam z niego ponad rok i muszę przyznać, że miło jest widzieć coraz to nowsze programy.

Snap

Paczki Snap to swego rodzaju konkurencja dla Flatpaka rozwijana przez firmę Canonical. Główną cechą tego rozwiązania jest to, że nie można tworzyć własnych repozytoriów - wszystkie programy aby móc być rozprowadzane tą metodą muszą znajdować się w "sklepie" zarządzanym przez Canonical. Wiele osób twierdzi, że to jest swego rodzaju "zamach na wolność" jednak Canonical broni się tym, że nie chce powtórzyć błędu w przypadku repozytorium Launchpad. Co autor miał na myśli?

2.jpg

Źródło

Zapewne chodzi o to, że niektórzy deweloperzy przy pomocy jednego repozytorium dystrybuowali jedną aplikację, zaś użytkownik chcący skorzystać z kilku musiał dodać kilka repozytoriów. Powodowało to powstawanie śmietnika w systemie i przed tym zjawiskiem chcą uchronić się twórcy snapów. Pomimo, że Snap jest bardzo mocno rozwijany przez Canonical to istnieje możliwość korzystania z niego na innych systemach.

Czy warto korzystać z tych rozwiązań?

Według mnie warto, ponieważ:

Możesz korzystać z programów, których nie ma w repozytorium a program ze strony producenta nie instaluje się

Używasz Debiana, chcesz zainstalować np. Spotify jednak program pobrany ze strony producenta nie instaluje się z powodu niespełnionych zależności? Uruchamiasz snapa lub flatpaka, instalujesz z jego poziomu Spotify i możesz korzystać z aplikacji, w dodatku w najnowszej wersji.

Możesz korzystać z nowszych wersji programów

Programy w snapach oraz flatpakach zazwyczaj dystrybuowane są w najnowszych wersjach, aczkolwiek nie dla wszystkich aplikacji jest to standardem.

Nie robisz sobie śmietnika w głównym systemie

Każdy użytkownik wie, że program napisany przy pomocy biblioteki GTK instalowany na środowisku Plasma pociągnie za sobą tonę zależności, które niekoniecznie chcemy mieć w systemie. W przypadku aplikacji Flatpak i Snap nie ma tego problemu.

Czy to rozwiązania przyszłości?

Repozytoria całkowicie nie znikną, ponieważ w jakiś sposób trzeba dystrybuować chociażby biblioteki systemowe. Nie mniej jednak twórcy programów coraz śmielej patrzą na wymienione w tym wpisie rozwiązania, ba, nawet sami użytkownicy pytają się deweloperów, czy planują wydać oprogramowanie w postaci paczek Snap lub Flatpak.

Źródła

Aby nie być gołosłownym przykłady aplikacji oficjalnie dystrybuowanych jako Snap:

Serwer Nextcloud
Opera
KeePassXC
Money Manager EX
PowerShell

Główne repozytorium aplikacji flatpak

Wsparcie?

Podobało się? Subskrybuj i wspieraj!

Coin Marketplace

STEEM 0.29
TRX 0.12
JST 0.033
BTC 62937.86
ETH 3092.40
USDT 1.00
SBD 3.87