Am explicat ce Flatpak, Snap șiAppImage sunt în articolul How Do They Stack? publicat acum peste 2 ani și, deși tehnologiile s-au îmbunătățit mult de atunci, le evaluez din perspectiva unui dezvoltator de software.
Sandboxing / Confinement
Puteți rula AppImage fără sandbox, precum și să-l utilizați cu diferite sandbox, de ex. AppArmor și Firejail.
Snap poate rula fără sandbox, dar nu îl puteți folosi cu diferite sandbox, deoarece este strâns cuplat la AppArmor.
Flatpak nu poate rula fără sandbox și nici nu poate fi folosit cu diferite sandbox, altele decât Bubblewrap .
Instalare / Execuție
Se poate rula un AppImage după setarea executabilului fără acces la root, fără a-l decomprima și pe un sistem offline.
Snap trebuie instalat de snapd, nu poate rula fără acces la root până după ce este instalat și nici fișierul descărcabil nu poate fi plasat lângă exe
și dmgpe care utilizatorii le pot instala pe sisteme offline, dar poate rula dintr-o sursă necomprimată.
Flatpak trebuie instalat de un Flatpak instrument de la partea clientului, nu poate rula fără acces root decât după instalare, nu poate rula dintr-un sursă necomprimată. De asemenea, flatpakref
fișiere necesită Internet și flatpak pachetele necesită un timp de rulare pentru a fi instalate.
AppImage poate stoca și rula aplicații din locații nestandard, cum ar fi CD-ROM și partajări în rețea. Flatpak poate face același lucru după o anumită configurare, în timp ce Snap în prezent nu poate.
În această secțiune, AppImage ia prajitura pentru că aplicațiile sale sunt mai flexibile.
Distribuirea și actualizările aplicațiilor
Repozitivul central pentru Flatpak și Snap este FlatHub, și, respectiv, Snap Store. Utilizatorii pot descărca AppImages de la AppImageHub, care este o platformă de catalogare pentru software disponibil ca pachete AppImage.
Spre deosebire de AppImage și FlatPak, totuși,Snap Store este singurul magazin de aplicații dominant cu un repo pe dispozitiv. Dacă acesta este un lucru bun sau rău, trebuie să decideți.
Aplicațiile împachetate folosind toate cele 3 metode pot avea mai multe versiuni care rulează în paralel și pot fi copiate cu ușurință pe o altă mașină. Cu toate acestea, au implementările lor unice.
Toate cele 3 acceptă actualizări binare delta, dar numai AppImage aplicații se pot autoactualiza ca Snap aplicații au nevoie de snapd pentru a fi instalate și Flatpak de aplicații au nevoie deFlatpak de instalat.
Sumar
AppImages și Snap rămân comprimate în orice moment ( Flatpak este comprimat numai pe partea de server) și sunt de obicei mai mici ca dimensiune decât Flatpak aplicații . AppImage este, de asemenea, independent de orice producător de distribuție și își propune să unifice ecosistemele platformei Linux.
Snap este deținut de Canonical și își plasează snap de bază peste distribuția de bază, în timp ce Flatpak este o inițiativă Red Hat care plasează o distribuție Yocto peste distro-ul de bază.De asemenea, spre deosebire de Snap unde dezvoltatorii trebuie să plătească pentru Canonical, AppImage și Flatpak sunt gratuite.
De unde mă aflu, AppImages sunt metoda de ambalare ideală de utilizat, deoarece este cea mai convenabilă atât pentru dezvoltatori, cât și pentru utilizatorii finali. Cu toate acestea, este posibil ca aceștia să coexiste, mai ales atunci când există cazuri, dezvoltatorii vor prefera să folosească unul pe celăl alt. Spune-ne ce crezi în secțiunea de comentarii de mai jos.
Cercetarea mea pentru acest articol a fost foarte influențată de proiecte similare și firele Reddit aici și aici. Nu ezitați să le verificați pentru mai multe informații.