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 nenhuma diferença entre um aplicativo e um pacote.
Sim, você pode desenvolver aplicativos em qualquer idioma e usar 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 há modelos para Ruby e outros idiomas e modelos para desenvolvimento da Web, em vez de aplicativos de área de trabalho. Rapidamente é projetado especificamente para não limitar a escolha de 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 Rapidamente faz, é aliviar você de escrever código 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. Além disso, não há requisitos. Você pode escrever seu aplicativo em Java, Python, C *, Gambas ou qualquer outra coisa que seja suportada e usando qualquer kit de ferramentas GUI que você desejar. Isso faz sentido, pois o principal objetivo das versões modernas do Ubuntu é unir o Qt, o 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 do desenvolvimento do Ubuntu. :)