Eu quero desenvolver aplicativos de desktop para o Ubuntu e enviá-los para o Ubuntu Software Center.
Pesquisei em toda a internet, mas não consegui encontrar nenhum artigo ou blog adequado sobre esse assunto. Pensei em usar "rapidamente", mas parece que este pacote está obsoleto. Alguém pode me sugerir qual plataforma devo usar e a configuração que preciso? Desde já, obrigado.
Não existe uma plataforma ou configuração de desenvolvimento "oficial" para o Ubuntu . Use o que funciona melhor para você. Se você nomear uma linguagem de programação comum ou IDE, alguém desenvolverá para Linux usando-o. Use qualquer plataforma ou configuração que desejar, embora você possa descobrir que desenvolver seu primeiro aplicativo hello-world no Ubuntu torna seu software mais fácil de testar.
Existem duas maneiras de empacotar seu software e enviá-lo para o repositório do Ubuntu Software : pacotes Deb e pacotes Snap. Se você não tiver certeza de qual escolher, tente os dois.
Os pacotes Deb usam um padrão promulgado pelo Debian. É mais antigo e mais complexo que o Snaps, mas fácil de manter e não possui nenhum vodu de caixa preta. Os pacotes Debian compartilham dependências comuns em todo o sistema de instalação, então o pacote deve ser reconstruído para novos lançamentos ... Você contribui com seu código edificável para o Debian e os pacotes magicamente encontram seu caminho a jusante para todas as distribuições baseadas no Debian, incluindo uma versão futura do Ubuntu.
Os pacotes Snap são mais novos, multiplataforma, geralmente mais seguros e têm uma configuração interna mais complexa. Snaps incluem todas as dependências, então tendem a ter tamanhos de pacote maiores. Você executa o aplicativo mágico Snapcraft que faz o empacotamento e o upload. Depois que seu Snap é aprovado pelos Mighty Guardians Of The Snap Store, ele aparece no Ubuntu Software imediatamente. Snaps podem ser atualizados (por você) a qualquer momento, e essas atualizações não têm relação com as atualizações do sistema subjacentes (já que nenhuma dependência é compartilhada).
~Tl;dr~
Caso seu aplicativo seja aceito/adicionado pelo Snap, ou seja, você pode digitar:
...para instalar seu aplicativo, ele estará na "Snap store/Software Center". Eles são um e o mesmo.
~Detalhe~
Para adicionar um aplicativo ao(s) centro(s) de software, ele precisa ser um pacote .deb, antes de tudo. Para que ele seja instalado corretamente no sistema operacional Ubuntu, ele deve ser um pacote Debian. Acredito que isso seja feito em poucos passos, sendo que o primeiro envolve autotools.
O padrão é supervisionado pelo GNU. Este guia lhe dirá tudo o que você precisa saber.
Quanto a obter o seu pacote .deb para o "Software Center", a chave é primeiro saber que, para as últimas versões do Ubuntu, o "Software Center" é apenas uma fachada para o snap store. Cada aplicativo que você baixa lá vem em um piscar de olhos.
Portanto, a informação que você precisa pesquisar é "como obter meu aplicativo em um piscar de olhos". Aqui está um ótimo recurso sobre o assunto.
Quanto à linguagem com a qual você precisa escrever, isso realmente não importa, pelo menos neste contexto. A maioria tem tradicionalmente escrito em C, mas provavelmente pode-se encontrar um pacote por aí contendo qualquer combinação sob o sol.
Claro, o pacote precisará ser executável no ambiente de destino, mas um pacote é uma espécie de contêiner, então você pode incluir seu próprio ambiente dentro dele.
Se você compilar com Python, por que não apenas compilar para um ambiente virtual e empacotar tudo? Dessa forma, ele é executado no mesmo intérprete todas as vezes. O mesmo com Java e JVM, C/C++ e GCC, etc.
Você também inclui todas as dependências de que seu aplicativo precisa. Isso inclui não apenas dependências de tempo de execução, mas também instaladores etc. Geralmente são apenas scripts Bash, mas, novamente, o idioma não importa.
Honestamente, o que está dentro do pacote é padronizado (você precisará de um certo tipo de licença de código aberto, etc.), mas tudo o que o sistema debian se preocupa é com a interface. O Dpkg precisa saber o que está acontecendo no momento da instalação. Desde que receba instruções claras e compreensíveis para saber onde colocar tudo, e o resultado é um sistema de aplicativos que se comportam como o usuário espera, você tem um pacote .deb válido.
Dito isso, se você quiser um pacote Snap válido, posso garantir que suas restrições serão um pouco mais rígidas. É melhor seguir os padrões que vinculei desde o início.
EDITAR
Recentemente, encontrei alguns recursos no Github que automatizam os processos de compilação e publicação para snaps. Ambas são ações do github mantidas pelo Snapcraft. Com a combinação deles, qualquer aplicativo compatível pode ser transformado em um snap publicado.
Eles estão localizados aqui (snap builder) e aqui (snap publisher).
Eu acho que você pode facilmente criar aplicativos de desktop GUI no Ubuntu e outros sistemas operacionais baseados em linux com o qt ide. é um alcance e fácil de usar, com ótimas ferramentas para projetar software linux gui.