Qual a vantagem de usar Flatpak?

Bom dia galera, queria saber qual a vantagem de usar Flatpak? uns aplicativos que eram menores agora ficaram extremamente grande por exemplo o kde-connect indicator, que agora esta por volta de 675 MB. a interface do kde é quase a mesma quantidade de MB do kde-connect(flatpak) desde já agradeço.

2 curtidas

Então, o pacote Flatpak é deste tamanho porque todas as dependências necessárias para instalação e funcionamento do software estão contidas dentro do pacote.
Eu acredito que a maior vantagem é não resolver dependências de softwares, ou seja, a instalação de libs e bibliotecas no sistema.

2 curtidas

O tamanho é grande porque ele baixa o runtime necessário. Mas se ele baixar o runtime do KDE, por exemplo, vc não vai precisar baixar o mesmo runtime para outros programas em Flatpak.
Eu vejo muitas vantagens, mas não em todos os programas - eu não instalaria o KDE Connect Indicator por Flatpak, mas instalo a Steam - para não ter que instalar 32 bits no sistema todo só para jogar alguns joguinhos.

1 curtida

Apesar de alguns falarem que não… Mas o Flatpak (o Snap deve ser a mesma coisa) só ocupa mais espaço. Claro, ha todo os benefícios de estabilidade - pois a aplicação não estará modificando o sistema.

Tô na vibe de usar os .AppImage. Sem preocupação de instalar… em um clique, tá funcionando (sem enfiar 10gb no seu HD do nada :sweat_smile:).

Olá @is_igor a principal vantagem na utilização do Flatpak está no isolamento do aplicativo em relação ao sistema operacional.

Basicamente o aplicativo é executando em uma sandbox (em um ambiente isolado), onde ele tem todo o ambiente necessário para sua execução.

Essa característica inclusive permite que você execute um mesmo aplicativo em diferentes versões. Por exemplo você poderia executar o Gedit na versão 3.28, 3.30 e 3.32 ao mesmo tempo no sistema operacional sem quebra o mesmo.

Como ele está isolado do sistema operacional as atualizações do aplicativo não quebram as dependências do sistema operacional e atualizações do sistema operacional e PPAs não interferem nas dependências do aplicativo.

Outra vantagem é que o aplicativo pode estar sempre atualizado, repare que os repositórios das distribuições Linux tem um congelamento dos pacotes (Software Freeze, Kernel Freeze, Feature Freeze, etc) justamente para prevenir quebras.

Com relação ao tamanho, isso se deve ao fato do Flatpak adotar o sistema de runtimes (OSTree) para o empacotamento dos aplicativos, atualmente são utilizados os runtimes:

  • Freedesktop.
  • GNOME.
  • KDE.

Repare que na central de aplicativos você tem o tamanho instalado e tamanho para baixar:

Podemos considerar o tamanho instalado como o tamanho real do aplicativo e o tamanho para baixar como o tamanho do runtime que precisa ser baixado.

O que isso significa?

Que ao se instalar um novo aplicativo você terá que baixar o runtime esse download pode ser grande mesmo, contudo ao se instalar um segundo aplicativo que utilize o mesmo runtime o download será zero ou um valor mínimo refente a diferenças de dependências. Isso porque o Flatpat compartilha/reaproveita o runtime.

Desvantagem

Desvantagem do ponto de vista do usuário, tecnicamente não é exatamente uma desvantagem.

Digamos que um aplicativo que utilize o runtime Gnome na versão 3.26, um outros aplicativo utilize a versão 3.28 e um terceiro aplicativo utilize a versão 3.30, neste caso serão feitos os downloads dos 3 runtimes :neutral_face:.

Porque tem que ser feito o download dos 3 runtime?

Porque cada versão de um SDK (platafoma de desenvolvimento) tem recursos que estão sendo removidos e inseridos, um código desenvolvido no Gnome 3.26 pode não funcionar no Gnome 3.30.

Tecnicamente gosto bastante do formato Flatpak, uma vez que posso desenvolver um aplicativo e com apenas um clique (Gnome Builder) empacotar ele e distribuir (localmente ou via loja de aplicativos).

Interessante notar também que o formato Flatpak é recente e está em constante desenvolvimento :grin:.

14 curtidas

Flatpak e Snap tem o mesmo conceito que é o isolamento da aplicação (sandbox) a diferença básica é que o Flatpak utiliza namespaces em vez de AppArmour para o sandbox.

1 curtida

As principais vantagens seriam rodar o aplicativo em uma sandbox e ter a possibilidade de ter instalar uma versão mais atualizada em uma distro fixed release. Em distros rolling release Flatpak não é de grande utilidade.

2 curtidas

Acho que por facilidade e praticidade, mas carregar todas as dependencias em um pacote pode ser uma vantagem e uma desvantagem como você mencionou acima, um programa simples com um pacote imenso.

a vantagem é rodar em sandbox, mantendo seu sistema isolado dos flatpak’s e runtimes dos mesmos, rodar em qualquer distribuição, tem integração visual (na medida do possível pois existe milhares de temas…) maior controle com permissões…

os aplicativos tem o mesmo tamanho de qualquer outro lugar, no caso do flathub, eles não modificam os aplicativos, apenas empacota em flatpak na ultima versão estavel que os desenvolvedores lançam e distribui…sua análise de tamanho provavelmente foi fazendo uma somatória das runtimes e outras coisas…

2 curtidas

O Flatpak, alem de manter o app atualizado, não “quebra” seu sistema em caso de erros. A questão de peso, e que ele não compartilha as mesmas bibliotecas que o S.O., podendo ficar levemente pesadas.
Para você entender a questão de vantagem e desvantagem, recomendo um video do canal OSistematico, que explica de forma clara e simples as diferenças de pacotes.

Link do vídeo: Windows VS Linux - Instalação de programas - YouTube

4 curtidas

Muita gnt reclama do tamanho dos flatpaks sem exaltar a grande vantagem de não ter q lidar com dependências ou com o programa afetar alguma configuração dos sistema. Mas vamos ser sinceros: Quem é q vai encher hj em dia HDs na casa de 1 Tera de aplicações flatpaks? Acho essa coisa de “tamanho” bem irrelevante msm visto a capacidade de armazenamento que temos atualmente.

1 curtida

Muita gente utiliza SSDs de 120GB ou 240GB e nesse caso o tamanho dos Flatpaks é algo que faz diferença.

Geralmente quem usa ssd usa um HD pra armazenamento e mesmo assim é difícil encher ssd tanto de arquivos (visto que o pessoal costuma usar mídias externas pra isso como HD’s) e não vão chegar a instalar 120GB de flatpaks ou snaps. Pura falacia! A titulo de curiosidade pesquise ai qual o tamanho do aplicativo do Spotify para Mac. Ps. Vc vai ficar surpreso e verá como é besteira essa questão de tamanho.

1 curtida

Eu uso flatpak faz tempo Spotify msm num Celeron N2820. Fico muito curioso em saber que tipo de hardware o pessoal usa seus flatpaks porq não consigo ver esse “peso” todo que dizem.

A versão do Spotify para macOS e Windows aparentemente utiliza um instalador online, já que os arquivos tem menos de 1MB, como não tenho nenhum dos dois sistemas não posso dizer qual é o tamanho depois de instalado. No meu sistema o Flatpak do Spotify requer 449.8MB, o que eu considero muito, pois o meu sistema completo está utilizando 9.6GB. Algumas poucas aplicações em Flatpak consumiriam diversos gigabytes rapidamente.

Um bom exemplo é o Telegram, que está disponível nos repositórios do Arch Linux, a versão nativa requer 16.7MB de espaço, enquanto o Flatpak requer 486.7MB.

2 curtidas

tenho 26 apps flatpak na minha / de 55gb e ainda ta sobrando…óbvio tenho home separada…

1 curtida

Esse “peso”, e em questão de instalador, apenas o tamanho da instalação e o fato dele sempre se atualizar o diferemde um .deb ou .rpm

1 curtida

Aproveitando a discussão aqui: alguém sabe dizer se é normal a dependência ter 1.7 Gb? minha internet oscila antes de conseguir terminar o download e tô desde manhã tentando instalar o atom.

dependendo do programa e se tu tiver ou não a runtime requerida, sim…veja as runtimes são o “imposto sobre a integração do sistema” não necessariamente “dependências” não sei se deu pra entender…

o programa poderia ter um download bem menor, porém iria faltar alguma integração, ou faltaria codec’s, ou aceleração por hardware ou tema do seu sistema…no caso do flathub e de quem mantém o programa, acha que deve ter todas essas runtimes para o programa ser usado plenamente…