[História resumida] Você sabia que AppImage e Flatpak são "primos de segundo grau"?

Sim, eu não tô brincando:

Apesar de serem bem diferentes as duas formas de distribuição descendem (não no sentido de serem forks) de um mesmo projeto o Klik.

Klik

O Klik foi criado em 2004 por Simon Peter. e constituía em duas partes, o servidor armazenava receitas para a construção de programas e o cliente gerava uma imagem permitia o aplicativo ser executado no sistema, o klik também removia pacotes e arquivos desnecessários da imagem gerando imagens relativamente pequenas,o interessante é que tudo acontecia através da URL do navegador, você clicava e o programa era instalado (similar ao apt-url) apesar de simples e prático tinha 2 problemas:

  1. Essa abordagem fazia apenas o servidor do klik ser confiável
  2. Dada a forma como o linux funcionava na época apenas 8 apps por vez e isso se você não estivesse trabalhando com outros arquivos de imagens

Mas mesmo assim o klik foi bem popular e foi o meio de distribuição de apps universal até 2011

Glick

Nesse meio tempo Alexander Larsson no verão de 2007 na praia teve ideias para melhorar o Glick, ele corrigia as limitações mas ao mesmo tempo trazia outras, ao contrário do Klik o Glick precisava ser feito a a partir dos fontes com a seguinte flag prefix no passo configure:

configure --prefix "/proc/self/fd/1023"

Não tinha nenhum tipo de integração com o sistema além de serem desnecessariamente grandes, devido ao baixo numero de referências fora do gnome.org ou relacionados ao flatpak imagino que apesar de ser tecnicamente superior ele não chegou a ser popular [posso estar errado], note que até então Flatpak e AppImages eram imagens

Glick2 e PortableLinuxApps

Com o fim do Klik e as novas implementações no Linux nascem as duas “mães” dos projetos. O Glick passou a ser “dividido” em dois sendo a aplicação em si e o cliente (mais ou menos como ocorre com o Flatpak hoje só que sem runtimes o Glick 2 também passou a compartilhar dependências indexando elas pelo hash SHA-1, no entanto o Glick 2 era apenas uma prova de conceito segundo o próprio Alexander Larsson

Paralelo a isso o criador do Klik criou o PortableLinuxApps com o mesmo propósito de antes mas agora baseado em FUSE (eliminando o limite de 8 execuções simultâneas), distribuído de forma descentralizada e baseados em .iso, o mecanismo virou febre tendo alcançado mais de 400 apps sendo que boa parte deles eram jogos, isso entre 2011 e 2013.

AppImage

Em 2013 o projeto é renomeado PortableLinuxApp recebe o nome de AppImage e ganhou a extensão característica e uma nova especificação e organização interna e o suporte a integração via daemon, nesse período e sofreu uma “explosão” e passou a ter uma maior visibilidade incluindo o electron que adicionou o AppImage como alvo

Em 2016 o AppImage recebe a padronização atual e passa a usar SquashFS nesse periodo também é criado o “pkg2appimage” cuja função é similar ao Klik mas não funciona no Browser e é descentralizado suportando arquivos offline, hoje existem 953 apps que estão indexados numa hub, mas pelo menos 1200 programas estão disponíveis no formatos

Flatpak

Em 2014 Larsson lança o xdg-app que OSTree para baixar, armazenar e deduplicar arquivos de aplicativos e traz um sanbox não privilegiado (o xdg-app-helper) para executar os aplicativos, ele também separou aplicativos de runtimes fazendo com que o aplicativo seja executado no mesmo ambiente que foi desenvolvido, também foi aprimorado a integração com o sistema mas a integração com temas.drivers de vídeo e alguns codecs, ainda requerem que os mesmos sejam instalados.

Em maio de 2016 ocorre “A grande renomeação” onde o “xdg-app” passa a se chamar “Flatpak” l, nesse ano também ocorre a separação dos repositórios do Flatpak e xdg-app-helper que passa a se chamar BubbleWrap, mas não teve nenhuma mudança estrutural

Em dezembro de 2016 é lançada a primeira versão estável

Links uteis:

(Obs eu coloquei as referências pelas abas do navegador, posso ter esquecido alguma eventualmente)

8 Curtidas