O que são pacotes Flatpak
Os flatpaks são uma estrutura criada para desenvolver aplicações empacotadas, ou, contentorizadas, criadas por Alexander Larsson, que trabalhou na Red Hat e aplicou o seu conhecimento em projetos de contentorização, criando assim primeiramente o projeto com o nome ‘xdg-app’, o atual ‘Flatpak’. Sendo um projeto independente, não existe nenhuma associação a nenhuma organização ou empresa. Não existem requisitos rígidos no que toca à linguagem de programação usada para o desenvolvimento destes pacotes, existem, sim algumas regras no desenvolvimento de flatpaks de código proprietário, em especial em alguns serviços de distribuição, como o ‘flathub’. Portanto, alguns destes pacotes podem ter código proprietário, assim como acontece com os snaps.
Contêm tudo o que é preciso para a aplicação funcionar, como bibliotecas compartilhadas, bibliotecas que automatizam tarefas, sem afetar o funcionamento, quer do sistema, quer da aplicação, mesmo após atualizações que normalmente são necessárias.
Atualmente a Gnome e Kde são duas grandes plataformas de desenvolvimento que têm contribuído muito para a criação de flatpaks, o que ajuda a existir, não só uma maior compatibilidade no seu ambiente gráfico nativo, como inclui nas novas versões dos gestores de pacotes gráficos como o Gnome Software e Discover, este ultimo em ambiente Kde Plasma, instala-los sem o recurso à linha de comandos, o que é optimo. Podem procurar quais os pacotes disponíveis diretamente no website oficial da Gnome e Kde, para saber quais as aplicações que foram e estão a ser desenvolvidas por eles, ou usar um outro serviço de distribuição destes pacotes como o flathub, que centraliza tudo num só local.
O que são pacotes AppImage
Estes pacotes distingue-se dos Flatpaks e Snaps, por usarem apenas um ficheiro empacotado, também com tudo o que é necessário para funcionar, oferecendo maior segurança ao sistema, visto que se mantêm inalterado, assim como acontece com as outras duas opções. Uma das diferenças é que não obriga a instalação por isso não é necessário privilegio de administração, mas sim fazer o download desse único pacote e torná-lo como executável, como vão reparar no guia deste mês. Este tipo de pacotes lembra-me o funcionamento de aplicações ‘Portable’ para Windows que também podem ser usadas sem instalação no sistema operativo.
Têm características mais portáteis que os flatpaks e Snaps e podem ver os quais existem no website
Vantagens e desvantagens
As vantagens dos flatpaks são idênticas aos Snaps: vêm unificar a instalação de aplicações nas distribuições Linux, facilitando a vida aos utilizadores, que não tem de se preocupar com bibliotecas e dependências, maior segurança, porque recorrem ao mecanismo de ‘sandboxing’, que atua numa área restrita, aparte do sistema, impedindo que de alguma maneira afete, quer o sistema ou outras aplicações.
Os pacotes Flatpak são menores em comparação aos Snaps, porque conseguem compartilhar bibliotecas já existentes na distribuição e não duplica-las, no entanto, têm menos aplicações disponíveis e a instalação por linha de comandos não é tão intuitiva como os Snaps, conforme vão reparar no guia deste mês.
Já pacotes AppImage, o formato é mais simples, com a vantagem de ser apenas um único ficheiro que não requer instalação, o que os torna mais portáteis, mas ao contrário das outras duas opções não têm atualizações automáticas e também, menos aplicações disponíveis.
Conclusão
Se olharmos para os Snaps, Flatpaks e AppImage, vemos que qualquer um, têm o mesmo objetivo comum que é desenvolver formatos de aplicações independentes da distribuição Linux instalada, simplificar a instalação, isolar o seu funcionamento do resto do sistema e de outras aplicações, independentemente de alterações que ocorram no sistema base, facilitando assim o trabalho dos desenvolvedores em termos de desenvolvimento de aplicações para diferentes distribuições. No entanto, os pacotes Snap atualmente demonstram uma maior maturidade, visto terem a Canonical como desenvolvedora, já os anteriores não deixam de ser opções válidas, mas como são projetos independentes o desenvolvimento é mais demorado.
Não importa a forma de instalação que escolham, usar Gestores de Pacotes, Snaps, Flatpaks ou AppImage, porque instalar aplicações em Linux está tão facilitado hoje em dia que dificilmente terão dificuldade em encontrar alternativas válidas que funcionem bem na distribuição que escolherem.