Quais são as diferenças conceituais e técnicas entre "Aplicativos" e pacotes?

13

Estou um pouco confuso com o recente anúncio ( http://developer.ubuntu.com/2011/09/announcing-the-ubuntu-app-developer-site/ ) do novo site de desenvolvedor "App". Saí do desenvolvimento do Ubuntu e agora só acompanho notícias para medir a direção do sistema operacional, e não percebi que isso estava chegando ao fim. Talvez alguém da comunidade possa esclarecer isso para mim.

Eu estou muito familiarizado com o Ubuntu, Linux, programação e empacotamento, mas não tenho certeza de quais são as diferenças conceituais e técnicas entre um aplicativo Ubuntu e um pacote Debian. Examinei um pouco a documentação da comunidade de desenvolvedores, mas não encontrei uma resposta direta. Um aplicativo Ubuntu pode ser considerado um pacote especialmente configurado que suporta a estrutura de aplicativos do Ubuntu? E quão flexível é isso? Por exemplo, eu poderia escrever um aplicativo no Qt e ainda envolvê-lo em um aplicativo?

(Como um aparte, estou um pouco preocupado que o Ubuntu esteja indo nessa direção. Entendo que o Ubuntu deve explorar o suporte a vários caminhos de desenvolvimento e distribuição de aplicativos para permanecer relevante. Mas para um usuário de engenharia como eu, isso parece um problema. Porém, essas observações são ignorantes. Não devo formar uma opinião sólida até saber o que está acontecendo.)

Perden
fonte

Respostas:

9

Um "aplicativo" do Ubuntu é apenas um aplicativo, como o GIMP, Firefox ou qualquer outra coisa.

Eles ainda são pacotes Debian, apenas fornecemos uma ferramenta chamada Rapidamente, que leva as pessoas a usar o PyGTK e facilita o empacotamento e o envio ao centro de software.

Você ainda pode escrever seu aplicativo no Qt, empacotá-lo e enviá-lo ao Centro de Software. Estamos apenas tentando simplificar a conexão de desenvolvedores como você para facilitar o envio do seu software para os usuários finais.

Jorge Castro
fonte
1
Ahh, certo. Junto com suas observações, vejo na etapa 5 da seção de publicação que pacotes Debian existentes também podem ser adicionados. Portanto, para ter certeza de que o tenho, um "aplicativo" é apenas um aplicativo comum, ainda usando o pacote Debian. Acho que estava pensando que um "aplicativo" era um aplicativo menor, principalmente baseado em toque. Eu acho que poderia ser qualquer coisa! Obrigado por esclarecer isso!
perden
1
Você também pode considerar os aplicativos como aplicativos leves, que podem ser enviados de maneira diferente ao Centro de Software, mas são distribuídos de maneira eficaz da mesma maneira para os usuários. Eles também usam a mesma tecnologia de empacotamento (empacotamento Debian e o Centro de Software) para distribuição. Queremos tornar mais fácil para os desenvolvedores desse tipo de software enviá-lo e vê-lo publicado no Ubuntu, e é por isso que desenvolvemos ferramentas online como parte do site do desenvolvedor de aplicativos para tornar isso possível.
David Planella
No entanto, aplicativos mais complexos podem não ser elegíveis para esse processo (pense em alguém desenvolvendo um novo LibreOffice, por exemplo), caso em que os autores são apontados para a rota usual do repositório Debian / Ubuntu, que ainda é a maneira que a maioria dos softwares faz. para Ubuntu hoje em dia, e que não vai mudar por causa da maneira agora aplicativos estão sendo submetidos
David Planella
8

Bem, um aplicativo é fornecido como um pacote, mas nem todos os pacotes são aplicativos. Uma ou mais fontes podem ser fornecidas como pacotes, por exemplo. Em outras palavras, há uma diferença conceitual entre um pacote e um aplicativo, mas não há diferença entre um aplicativo e um pacote.

Sim, você pode desenvolver aplicativos em qualquer idioma e usando qualquer estrutura que desejar. Fornece rapidamente um ponto de partida muito fácil e a principal recomendação é usar Python e GTK, mas também existem modelos para Ruby e outros idiomas e modelos para desenvolvimento da Web em vez de aplicativos de desktop. O Quickly foi projetado especificamente para não limitar a escolha dos desenvolvedores em idiomas e (espero que obviamente) não haja bloqueio para o Ubuntu. Você também pode fornecer seus próprios modelos, se o aplicativo suportar plug-ins, por exemplo. O que o Quickly faz é aliviá-lo de escrever um código clichê chato.

Para publicar aplicativos usando o portal MyApps, existem alguns requisitos, como seu aplicativo deve usar XDG_USER_DIRS para seus dados e configurações, deve ser instalável para / opt etc. etc. Fora isso, não há requisitos. Você pode escrever seu aplicativo em Java, Python, C *, Gambas ou qualquer outra coisa compatível e usando qualquer kit de ferramentas da GUI que desejar. Isso faz sentido, pois o objetivo principal das versões modernas do Ubuntu é unir Qt, GTK e outros, a fim de proporcionar uma melhor experiência ao usuário.

Espero que isso esclareça um pouco e que você esteja menos preocupado com a direção que o Ubuntu está evoluindo. :)

Jo-Erlend Schinstad
fonte
Sim, obrigado por adicionar mais alguns detalhes! Eu gosto de ver que, ao apoiar isso, não estou vinculado a nenhuma configuração específica. E, como mencionei no meu comentário a Jorge, acho que estou manchado pela definição de "aplicativo" no espaço móvel: pequena, interface de toque, compartimentada, rígida (em termos de desenvolvimento). Manter essa flexibilidade é fundamental para o desenvolvimento do linux e a filosofia do Ubuntu, com o objetivo de suprimir as reservas de alguns . Agora que entendi, estou animado para ver o que acontece!
perden