Snap vs Flatpak vs Appimage

1 Curtida

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

1 Curtida

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.