Snap Packages vs Flatpaks: Skillnaderna och vilket du ska använda
Om du har uppmärksammat Linux-communityen sen, tror du att det fanns ett förpackningskrig på gång. På den ena sidan har du Ubuntus Snappy-paket, en teknik som ursprungligen just skapades för Ubuntu. Nu, med släppningen av Snapd, kan den köras på nästan vad som helst.
På andra sidan har du Flatpaks, som i huvudsak liknar på många sätt att Snaps, förutom att det är mer öppen källkod och bygger på enskilda repositorier istället för en central plats. Denna teknik kan också installeras på nästan vad som helst. Så vilken är bättre? Vilken ska du använda? Och viktigast av allt, vad är skillnaderna? Låt oss ta reda på!
Vad är skillnaderna?
Skillnaderna mellan Snap-paket och Flatpaks är inte så många. Snap skapades internt av Canonical - företaget bakom Ubuntu - och tekniken är hårdkodad för att använda Snap-paketet. Vissa kan vara nervösa för detta, eftersom Ubuntu har total kontroll, och för att kunna göra ett Snap-paket måste du signera en licensavtal för bidragsgivare (något som vissa människor är mycket emot).
Med Flatpaks är allt öppet och är inte så centraliserat som Snaps. Vad som är viktigare är att Flatpaks är mer fokuserade på att leverera programvara till stationära datorer, och Snap-paket är i princip bara serverteknologi som Canonical har antagit för skrivbordet, men fungerar för båda.
Flatpak har ingen centraliserad butik för att tala om. Även nu, om du installerar det, kommer du inte nödvändigtvis att kunna få saker att gå så enkelt. Programvaran fungerar väsentligen som Ubuntu PPA-systemet. Du måste gå ut och hitta ett förråd och sedan lägga till det. Detta står i kontrast till hur Snaps fungerar, som bara kommer från den canoniska snappybutiken och ingen annanstans (för nu).
När du installerar ett Snap-paket får du i princip alla delar av programkomponenten du behöver köra något i ett helt paket (om du är förvirrad, tänk på Docker-behållare). Till exempel: du installerar en Snap som buntar hela Gnome-skrivbordet. Det skulle vara buntat med allt, bibliotek och allt.
Med Flatpak är allt lite annorlunda. Ta Gnome-exemplet. Gnome Desktop Flatpak skulle ha alla filer som krävs men inte varje enskilt bibliotek - såvida inte utvecklaren valde att göra det. Flatpak-laget skapade en körtid som borde hysa allt du behöver.
Vilken ska du använda?
Det är svårt att säga vilken teknik som kommer vara ledare här. Det är ingen tvekan om att min åsikt om denna fråga kommer att mötas av några arga kommentarer som argumenterar för en position över den andra, så innan jag går längre vill jag bara vara tydlig. Flatpaks och Snap-paket är båda mycket intressanta och unika idéer.
Det är klart för mig, just nu, att Snap-paket skulle vara den sak att använda om du vill ha ett "universalpaketformat". Med Snapd finns för nästan varje distribution som den kan bygga på blir det allt lättare att få gående. Vad som är viktigare är att någon kan räkna ut det. Du behöver inte jaga förvaringsadresser som Flatpak. Installera bara och gå.
Det är inte att säga att Flatpak inte är värt. Om du är på Fedora 24, bör du till exempel dra full nytta av Flatpak. Du kan också få det att fungera på Arch, om du är med det genom att installera detta AUR-paket, eller genom att bygga det själv från Github.
Slutsats
Även om Flatpak och Snappy inte är nya idéer, har de mycket kraft bakom dem. Vi har tidigare haft verktyg som AppImage (och andra), och de har aldrig riktigt fått så mycket dragkraft. Men jag tror att både Flatpak och Snappy har vad som krävs för att göra fler universella installationsverktyg på Linux-avstängning - även om det betyder att vi har två huvudformat istället för en.
Vissa säger att för mycket val på Linux är dåligt. Vi har för många distributioner, för många binära paketformat, för många filsystemval, för många skrivbordsmiljöer, och listan fortsätter. Men jag tror att det som en del säger är en svaghet är också en stor styrka. Vi kan säkra våra spel med både Snappy och Flatpak. Om man slutar vara dålig kan vi prova något annat, eller om de är båda, är det en win-win-situation där vi alla skördar fördelarna.
Hur känner du dig när det gäller Snap-paket kontra Flatpaks? Berätta för oss nedan!