Snap vs Flatpak vs Appimage

1 curtida

Tenho usado muito flatpak, mas acho o appimage interessante também!

2 curtidas

Vão me achar chato mas… :sleepy:

Ele acha OK o usuário ter que pesquisar ou baixar de github’s/repositórios aleatórios (que talvez sejam minimamente confiáveis ou não, o usuário tem que descobrir isto também) os seus app’s, assim como ter que atualizá-los repetindo o processo de busca na web para refazer o download novamente.

Na verdade, ele acha ok o desenvolvedor poder escolher colocar ou não em uma Hub, Store ou whatever, sempre que se cria um AppImage, você recebe a seguinte mensagem, adicionada pelo próprio Simon Peter (e não Probono, esse é o nick dele assim como Feaneron é o nick do Georges):

Please consider submitting your AppImage to AppImageHub, the crowd-sourced
central directory of available AppImages, by opening a pull request
at https://github.com/AppImage/appimage.github.io

Ou seja “Considere enviar seu AppImage para a AppImageHub” ou seja, ele quer que os devs centralizem seus apps, mas ele dá a opção “Se quiser ótimo, se não quiser… ótimo também” o que convenhamos num sistema que se diz livre, é o certo a se fazer

Distros com pacotes mais recentes, comparado a distros mais antiga, tendem a ter mais problemas com Appimage’s.

É o exato oposto, ao contrário dos Flatpaks, AppImages por padrão não empacotam a Glibc sendo assim, um AppImage feito no Ubuntu 14.04 vai rodar no Ubuntu 22.04 que nem saiu mas um AppImage feito no Ubuntu 18.04 não vai rodar no Ubuntu 16.04

“além de muitas vezes serem projetos separados.”

Isso é meio óbvio, integrar uma loja AppImage ao sistema tornaria os AppImages dependentes dessa logo, e a ideia é justamente não ser dependente de nada,para fins de exemplificação, pra acabar de vez com esse mito sobre integração:

Qual dos dois você vai ter uma integração seamless com o sistema? Isto é sem precisar instalar nada, duplicar arquivos e bibliotecas?

Outra coisa: ambas as versões são GTK 2 (até porque são o mesmo, só muda a forma de distribuir) o que significa que ele permite usar o tema do sistema (Editar → Preferências → Tema → System → Ok), e você use o set de estilos “Plata Colors” qual dos dois vai exibir corretamente o tema?

Responde aí

Concordo com os pontos, só não com: se integrar uma loja AppImage com o sistema eles seriam dependentes. Poderiam continuar com e sem ela, mas sei que o intuito da tecnologia não é esse… Como bem informou, é opcional. Também não vejo as distribuições abraçando o formato. Gosto da liberdade que ele proporciona.

Gosto do AppImage por alguns fatores:

  • Posso deixá-los no diretório que quiser de forma descomplicada (até num pendrive);
  • Posso manter diferentes versões e usar uma ou outra quando quiser (sei que isso tbm pode ser possível, com suas devidas proporções em outros formatos);
  • Para aplicações que pretendo manter uma versão especifica, não preciso me preocupar em adicionar algum parâmetro ou coisa do tipo para tal;
  • Não preciso de acesso a internet na máquina em que quero executar o app (posso baixar em outro lugar, ou até mesmo um SO diferente );
  • Entre outras características que não me recordo agora (e nem quero deixar tudo tão extenso…rsrsrrs).

Só que nem tudo são flores e nenhum formato é perfeito. Assim eis alguns pontos que não curto muito:

  • Nem todo app funciona devidamente dependendo do sistema ou versão, pois o empacotador pode não ter adicionados as libs necessárias (já me ocorreu isso algumas vezes);
  • O lance das atualizações delta nunca funcionaram comigo, sendo outra coisa que também depende da forma que o app foi empacotado (me obrigando a sempre baixar todo o pacote quando sai uma versão nova que eu queira);
  • Nem todos os AppImages criam lançadores no menu, só conheço o Balena Etcher… E justamente ele tem outro problema;
  • Do único AppImage que eu usei que cria um atalho no menu, o mesmo tem que ser removido manualmente, pois a cada nova versão duplica o atalho e caso remova o AppImage anterior ele continua lá no menu (compreensível, mas poderia ter algo mais fácil, por isso prefiro criar meus próprios lançadores)… Esse último pode ser exclusividade do pessoal do Balena e não do AppImage;

O Lance de ser sandbox é legal, e cabe outra discussão (fica pra outro dia, não quero mais digitar…kkkkkkkkk).

Isso falando do meu lado “user comum”, indo para um “desenvolvedor noob” tive diversos encalços justamente pelo lance de criar o pacote em um Ubuntu mais “velho”.

Que eu me lembre, estes são alguns pontos que curto e não gosto do formato. Ter uma integração com as lojas seria legal… De certa forma o Discover tem algo, mas acho que é a única central de software que me recordo ter visto…

Tem muito mais tópicos que poderia citar, todavia já tá um textão do caramba… Então,deixa para uma próxima oportunidade…kkkkk.

2 curtidas

Concordo, tive problemas com alguns AppImage, geralmente os que não usam o linuxdeploy tem esse problema, felizmente isso diminuiu bastante

Esse é o preço da liberdade dos desenvolvedores, concordo que updates snap like é um bom ponto negativo

Sim, o Balena Etcher faz isso do jeito errado (isso afeta outras versões também), desde a mudança pro AppImage “2.1” os AppImages não devem mais criar ícones sem a intervenção do usuário, uma vez que isso enquadra como violação do direito de escolha do usuário, mas isso não significa que não é possível, mas que o usuário tem que querer, em abril do ano passado, pouco depois de entrar no fórum eu escrevi esse artigo mostrando como proceder

No caso, como o AppImage empacota as dependências, mas não a GLibc (por padrão) você não tem esse problema

Aqui vai textão kkkkkk

Tecnicamente pacotes no geral não tem integração com lojas, o que chega mais perto disso é o Flatpak, uma loja (é diferente de gestor de pacotes) é composta basicamente de um conjunto de arquivos pra cada aplicativo:

  • Ícone, geralmente 64x64px no formato PNG
  • Descritor AppStream Data, um arquivo XML descrevendo o aplicativo
  • Screenshots (descritos no arquivo do AppStream) se não forem definidos

Logo, os AppImages para se integrarem a loja, precisam fornecer esses arquivos, mas eles são arquivos fechados, então está fora de questão eles se integrarem a loja. A outra alternativa é um terceiro app ou lib fornecer esses itens e pra isso seria necessário uma “loja” de AppImages que entregaria essas informações pro cliente (A GNOME Software por exemplo é um cliente, tipo a Steam mas com fontes cruzadas), só que além de ser complicado indexar todos os AppImage, ao adicionar suporte a atualizações você precisaria que esses AppImages fossem fechados em uma loja os tornando-os dependentes dela, pelo menos nos modelos atuais, isso é um trade off importante

Mas é possível rodar em sandbox, só que um app individual que se diz rodar em sandbox, na prática não roda

Abre um tópico depois


Não discordo dos seus pontos mas alguns tem motivação e outros uma solução, abraço

1 curtida

Meu problema ao empacotar foi justamente por não estar numa versão velha do sistema. Até consegui criar um pacote, mas não executou. Não me expressei muito bem (já tava um textão e escrevi as preças…kkkkk).

Só estava estudando e testando, criar uma VM só pra isso é bem chato… Não é atoa que li muitos pedidos no Github sobre a possibilidade de não ter essa dependência de uma versão tão antiga do sistema. Isso utilizando a ferramenta que o Simon disponibiliza (não me recordo o nome agora).

Seria interessante criar um tutorial em português pra galera, quem sabe uma forma de fazer os pacotes manualmente e outra com tal ferramenta… Eu fiz com ambos, meus resultados não foram os melhores, mas o intuito era justamente o estudo e saber…kkkkkk. Não fui tão feliz, mas aprendi algo.



Vídeo completo em:

1 curtida

Apesar dos resultados péssimos do Snap, acabei de instalar o Spotify que oficialmente é a versão Snap a suportada, porque simplesmente a versão Flatpak não abre mais no Wayland aqui no KDE Neon. Ambas versões, são lentas, mas o Snap tá funcionando!

1 curtida

Valeu pelas comparações. Eu quase “nunca” utilizei um snap ou flatpak, já utilizei alguns appimages. Nisso eu gostaria de saber quais são as vantagens de utilizar esses tipos de “empacotamento”, se é que deve se chamar assim, qual a diferença do pacote da distro padrão do usuário para um snap por exemplo?

Fora a integração com alguns temas do sistema, e por ventura alguma demora em iniciar, não vejo diferenças práticas no uso não. A depender da distro, usar o pacote Flatpak ou Snap lhe possibilitará a ter sempre uma versão mais recente do aplicativo, e em alguns outros, ter a versão oficial mantida pelo desenvolvedor.
Tenho usado o Libreoffice em Flatpak, tenho acho melhor que os empacotamentos de algumas distribuições.
O pessoal também cita que o tamanho, geralmente maior, dos aplicativos também seja um ponto ruim a utilização de tais formatos.

2 curtidas

Não achei os resultados do snap péssimos não, com a exceção do LibreOffice. Uso o LibreOffice em snap e acho que a Canonical precisa dar uma atenção a ele. É o único snap ruim com o qual eu me deparei desde que a Canonical consertou o Firefox.

Essa lentidão vem do fato de o Spotify ser feito em Electron, o que o faz ser um minibrowser com melhor integração com o sistema. A portabilidade dos apps feitos em Electron é ótima, mas o desempenho é péssimo. Não há muito o que o snap e o flatpak possam fazer pelo desempenho do Spotify.

Dá para argumentar que os apps snap não gastam tanto espaço em disco assim, pois eles são comprimidos, mas aí o snap mantém duas versões de cada pacote em disco. Não dá para desativar essa funcionalidade porque os snaps são atômicos, isto é, retrocedem à versão antiga automaticamente se o pacote mais novo estiver corrompido.

1 curtida

Se a Canonical ainda tivesse de fato o interesse em colocar o Ubuntu como player de mercado, frente ao Windows e OSX; dá atenção a tais softwares é fundamental. Entretanto creio que a The Document Foundation mantenedora do LibreOffice é que deveria ter esse interesse, visto que a própria já criticou através de seus desenvolvedores os empacotamentos feitos por algumas distribuições. A Fundação deveria manter tanto o Snap quanto o Flatpak o mais redondo possível.
A versão Flatpak roda maravilhosamente bem, e é a que atualmente utilizo.

1 curtida

O difícil é convencer a TDF a manter o LibreOffice em snap . Pelo visto ela prefere ter mais dor de cabeça lidando com um .deb em vez de lidar com um snap :melting_face:.

A Canonical terá de consertar o LibreOffice por bem ou por mal, tendo em vista que o Ubuntu Core Desktop será lançado no próximo ano. Enquanto isso não ocorre, a versão flatpak permanece sendo melhor.

1 curtida