Důvodů, proč provozovat aplikace ve Flatpaku, je víc. Někdo chce mít nejnovější verze aplikací co nejdříve. Pro mě jako uživatele Fedory, která si v tomto vede docela dobře, není toto tak velká motivace. Někdo chce aplikace provozovat bezpečněji. Já ale aplikacím v repozitářích Fedory docela věřím a ani sandbox ve Flatpaku není zatím tolik vynucovaný, aby nabízel neprůstřelné bezpečnostní řešení.
Kde má ale pro mě Flatpak opravdu velký přínos oproti klasickým balíčkům jsou aplikace třetích stran. Obvykle totiž používám vývojové verze Fedory. Na pracovním počítači přecházím na novější verzi chvíli po oddělení od Rawhidu a dlouho před betou a na soukromém notebooku mám dokonce Rawhide. V obou případech nemám zásadní problémy s nestabilitou a to i u aplikací. Nicméně tak úplně to neplatí pro aplikace třetích stran. Jejich vývojáři nějak úzce nesledují vývoj distribucí a i když často bundlují, co se dá, aby se vyhnuli problémům s kompatibilitou, dost často se jejich aplikace rozbíjejí.
Dřív jsem používal klient Spotify jako balíček z repozitáře Negativo17. Po upgradu na Fedoru 27 jsem zjistil, že nefunguje. Věřím tomu, že správce onoho balíčku problém brzo vyřešil, ale já neměl čas řešit, co se rozbilo, a zároveň jsem nechtěl být bez Spotify. Nainstaloval jsem tedy Spotify z Flathubu a od té doby jsem neměl problém.
Pokud používáte Rawhide nebo rané vývojové verze Fedory, máte často problémy s multimediální podporou, protože správci RPMFusion často nestíhají držet krok a jsou rozbité závislosti u pluginů GStreameru nebo VLC. Dnes používám VLC a GNOME MPV z Flathubu a problémy s multimediální podporou mi to definitivně vyřešilo.
Posledním příkladem, který mám, je Telegram. Donedávna jsem používal oficiální verzi, která není poskytovaná ani jako balíček. Musíte si stáhnout archiv, rozbalit ho do domovského adresáře, spustit binárku, která vytvoří .desktop soubor… na rok 2018 to není příliš elegantní. Když to ale uděláte, tak prostě funguje… dokud se to tedy nerozbije. Upgradoval jsem na Fedoru 28 a Telegramu najednou trvalo hrozně dlouho se spustit. Když jsem se podíval do logů, zjistil jsem, že to visí na nějaké chybě s font configem, čekalo to, až se to vytimoutuje, a potom se tom konečně spustilo. To klidně trvalo minutu, což je u spouštění aplikace poněkud hodně. Neměl jsem moc čas řešit, kde je problém. Nainstalovat jsem Telegram pro Flatpak a bylo po problému.
V čem tkví kouzlo Flatpaku? Izoluje aplikace od zbytku systému nejen ve smyslu toho, kam můžou sahat, ale také ve smyslu běhového prostředí. Aplikace závisí na běhovém prostředí, které si autor vybere a které nezávisí na systému. Díky tomu nejsou aplikace závislé na distribuci a nejsou tedy ani ovlivněny změnami v komponentách v systému. Dokážou tak běžet dlouhodobě spolehlivě i na Rawhidu, který je bleeding edge rolling release a tudíž představuje nekonečný přísun změn. V rámci repozitářů se tyto změny hlídají ještě dobře, rozmáhá se automatické testování a zodpovědnost správců balíčků je se změnami pracovat. U aplikací třetích stran už je to výrazně komplikovanější.
Když jsem začal používat Linux, razila se politika, že se k určitému datu zmrazí repozitáře a už se vydávají jenom opravy chyb, aby se distribuce odladila jako celek a nové verze nic nerozbíjely. Upstream a třetí strany se měly ideálně přizpůsobit jejich kadenci vydávání. Ale to se nikdy nepovedlo. Za prvé žádná distribuce se nestala natolik dominantní, aby zastínila ostatní a všichni se sjednotili na ní, a za druhé nikdo nepřinutí tisíce projektů, aby se sjednotily na podobné kadenci vydávání. Změnilo se i očekávání uživatelů, kteří chtějí nové verze aplikací co nejdříve, nečekat například na novou verzi oblíbeného hudebního přehrávače, až vyjde nová verze celé distribuce.
Flatpak, kde si tvůrce aplikace může zvolit, v jakém prostředí aplikace běží, bez ohledu na distribuci, na které běží, umožňuje tvůrcům odvázat se od konkrétních distribucí a jejich verzí, vydávat nové verze, kdy uznají za vhodné, a testovat proti jednomu běhovému prostředí. A musím říct, že minimálně u aplikací třetích stran to začíná přinášet ovoce.
Napsat komentář