A ideia central não é nova e lembra o uso dos programas portáteis no Windows; que você carrega no pendrive e pode executar diversas aplicações sem instalá-las. Agora, imagine isso no universo de distros Linux. Assim, um dos objetivos da ferramenta AppImage é permite executar aplicações Linux independente da distribuição usada. Em outras palavras, você poderá usar um programa no Fedora e no Ubuntu a partir de um mesmo arquivo – sem a necessidade de instalação de bibliotecas compartilhadas ou complementos peculiares de cada sistema.
Motivação
Conforme criadores do projeto, seguem alguns casos onde o AppImage poderia ser usado:
- Na visão do usuário final – facilidade para fazer o download da aplicação, em um website, e executá-lo no seu sistema desktop Linux; tal como como faria em um aplicativo do Windows ou Mac.
- Na visão do testador de software – facilidade para obter a versão mais recente de um aplicativo a partir de um servidor de desenvolvimento contínuo; e poder testá-lo sem a necessidade de compilar e sem ter que se preocupar em comprometer seu sistema, já que o aplicativo ainda está em fase de testes.
- Na visão do desenvolvedor – poder oferecer pacotes para sistemas desktop Linux, assim como é feito para Windows e OS X, sem a necessidade de criar diversas bibliotecas específicas para cada distro Linux.
Cenário atual das aplicações Linux
Os criadores do projeto, analisaram todo o histórico de desenvolvimento e divulgação de aplicações nos sistemas Linux. Em resumo, eles levaram em conta a criação dos gerenciadores de pacotes (vide APT e DNF, por exemplo) e o modo como as aplicações Linux são fornecidas – diferentemente de outros sistemas, onde a distribuição do software é feita a partir de servidores de aplicações, bem como App Stores.
Para eles, o cenário atual das aplicações Linux é problemática e afeta a flexibilidade de uso e desenvolvimento; já que para cada distro ou sistema Linux é preciso configurar bibliotecas e componentes peculiares para fazê-la funcionar. Além disso, eles consideraram uma desvantagem o fato de que todo software a ser instalado requer uma conexão com à internet – pois no caso de um PC sem esse acesso, o processo de instalação fica dificultoso 🙁
Outro aspecto abordado foi que cada distro Linux possui seu repositório de aplicações. Ou seja, um mesmo programa disponível em diversos repositórios oficiais de cada distro. Para eles, isso traz grandes vantagens; bem como segurança. Por outro lado, diversos desafios e limitações. Por exemplo: caso não use uma distro Linux LTS, você estará limitado a usar a versão mais nova da aplicação oferecida naquele repositório da versão usada – muitas das vezes desatualizada 🙁 Outro, caso queira usar a mesma aplicação em distros diferentes, será precisa baixá-la do repositório oficial de cada sistema; e isso não garante que será usada a mesma versão. Em outras palavras, quando se desenvolve uma aplicação para Linux é colocado na pauta em qual distro esse programa irá rodar; e não é visado o Linux como um todo – “desenvolvendo aplicação para Fedora 19 e 20; e não para o Linux…” – Linus Torvalds
Veja aqui, na íntegra, todo o texto publicado sobre esse tópico.
AppImage – objetivos e visão geral
Em resumo, os principais objetivos do AppImage são:
- Simplicidade – tanto para o usuário final como desenvolvedores;
- Empacotamento de software – todo software em único arquivo “one app = one file”, sem necessidade de compilação ou pré-compilação;
- Um único software para diversas distros Linux – permite executar aplicações Linux independente da distribuição usada;
- Sem necessidade de instalação – como os LiveCD’s, você pode testar uma aplicação sem precisar instá-la antes;
- Bibliotecas e pastas do sistema são preservadas – Como não necessita de instalação e compilação, nenhuma alteração é feita no sistema base;
- E outros;
Em resumo, a arquitetura do AppImage é simples. O Formato geral é um arquivo ISO 9660 comprimido que contém um diretório AppDir que contém o aplicativo e todos os arquivos que ele necessita para executar; e que não fazem parte do sistema operacional Linux onde será executado a aplicação. Além disso, contém um pequena chamada executável incorporada em seu cabeçalho. Assim, uma imagem App é tanto um arquivo ISO 9660 (que você pode montar e analisar) e um executável ELF (que você pode executar).
Certo… mas, como usá-lo?!
Projeto em estágio inicial. Use por sua conta e risco!
Primeiramente, a maioria das aplicações oferecidas é na arquitetura 64bits.
Acesse o site onde oferece as aplicações, AQUI.
Escolha a aplicação e prossiga na seção “Files”. Por exemplo, no nosso caso, foi baixado a versão do Editor ATOM Atom-1.4.0-x86_64.AppImage.
Depois de realizado o download do arquivo. Clique com botão direito sobre o arquivo e habilite o recurso para executá-lo como aplicação – aba Permissão. Conforme imagem abaixo:
Pronto!! Agora é só clicar normalmente, como um arquivo, e o programa será executado 😉
Via | RedDit
A ideia é excelente, já estou usando o qcad e atom, eles deveriam fazer o próprio arquivo ou image procurar novas atualizações e baixá-los quando necessário.