Olá Habr! Apresento a você a tradução do artigo
"Principais linguagens de programação para desenvolvimento de aplicativos Android", de Mohit Maheshwari.
O rápido desenvolvimento da tecnologia da informação nos últimos anos levou ao surgimento de vários novos dispositivos e tecnologias, incluindo tablets, smartphones, relógios inteligentes e outros gadgets. Eles estão cada vez mais firmemente entrando em nossas vidas e se tornando comuns. A plataforma líder entre esses dispositivos é o sistema operacional Android.

Escolhendo uma linguagem de programação
Atualmente, o Java é a linguagem de programação mais popular para desenvolvimento móvel no Android. Embora o Google esteja promovendo ativamente o Kotlin como uma linguagem que substituirá o Java. Os aplicativos Android também são escritos em outros idiomas.
O aprendizado de diferentes tipos de linguagens ajudará você a formar uma ideia clara de qual linguagem de programação você precisa escolher para criar certos tipos de aplicativos.
A seguir, descrevemos brevemente as linguagens de programação usadas para desenvolver o Android:
Java é o idioma oficial para o desenvolvimento do Android e é suportado pelo Android Studio.
Kotlin é o idioma oficial e mais recente do Android introduzido; É semelhante ao Java, mas de muitas maneiras um pouco mais fácil.
O Android Studio também suporta
C ++ usando Java NDK, o que pode ser conveniente para jogos.
C # é um pouco mais conveniente para iniciantes, diferente de C ou C ++. É suportado por algumas ferramentas muito úteis, como Unity e Xamarin, ótimas para o desenvolvimento de jogos e aplicativos de plataforma cruzada.
O BASIC é incrivelmente divertido de usar e é o começo perfeito para aprender a codificar.
O Corona é outra ferramenta de plataforma cruzada que usa a linguagem Lua (uma linguagem de programação de script, ideologia e implementação mais próxima do JavaScript) para implementar a lógica do aplicativo, simplifica bastante o processo de criação de aplicativos e permite que você chame suas próprias bibliotecas.
PhoneGap (HTML, CSS, JavaScript) - se você souber criar páginas da web interativas, poderá usar esse conhecimento com o PhoneGap para criar um aplicativo simples de plataforma cruzada.
Saiba mais sobre ferramentas e idiomas
Android Studio
A melhor maneira de desenvolver um aplicativo Android é instalar o Android Studio. O Android Studio é um ambiente de desenvolvimento integrado (IDE) para trabalhar com a plataforma Android.

O Android Studio, desenvolvido com o software JetBrains IntelliJ IDEA, é a ferramenta oficial de desenvolvimento de aplicativos Android. Em 17 de maio de 2017, na conferência anual do Google I / O, o Google anunciou o suporte à linguagem Kotlin usada pelo Android Studio como a linguagem de programação oficial da plataforma Android, além de Java e C ++.
O Android Studio é um software chamado IDE ou ambiente de desenvolvimento integrado. Ele é oferecido como um pacote com o SDK do Android, que nada mais é do que um conjunto de ferramentas usadas para facilitar o desenvolvimento do Android. Tudo o que é necessário para começar a criar aplicativos para Android está concentrado aqui. Recursos como o designer visual tornam o processo mais suave, enquanto recursos avançados e avançados são adicionados o tempo todo para dar aos desenvolvedores acesso a itens como armazenamento em nuvem.
Java
Para qualquer desenvolvedor de aplicativos para dispositivos móveis Android, o Java continua sendo a primeira e mais preferida linguagem de programação, pois é suportada pelo Google e a maioria dos aplicativos no Google Play é construída sobre ele.

O próprio Java foi desenvolvido pela Sun Microsystems (posteriormente adquirido pela Oracle) em 1995 e ainda é usado para uma ampla gama de aplicativos de software. O código Java é executado por uma máquina virtual executada em dispositivos Android e interpreta o código.
Para iniciantes, Java pode parecer um pouco complicado. Isso se torna um obstáculo enfrentado pelas pessoas que planejam entrar no desenvolvimento de aplicativos para Android.
Mas, se você é iniciante e deseja criar um jogo ou apenas começar a aprender, é melhor começar com algo mais fácil, mas retorne ao Java assim que tiver um pouco mais de experiência.
Kotlin
Kotlin emergiu recentemente como a “outra” língua oficial para o desenvolvimento do Android. Como o Java, o Kotlin é executado em uma máquina virtual Java. É totalmente compatível com Java e não causa obstrução ou aumento no tamanho do arquivo.

A principal diferença é que o Kotlin requer menos código "clichê", ou seja, sistema mais fácil de ler. Ele também elimina erros como exceções de ponteiro nulo e até liberta a necessidade de terminar cada linha com ponto e vírgula. Essa é uma ótima linguagem de programação se você está apenas aprendendo a desenvolver aplicativos para Android.
Kotlin é um ponto de partida mais fácil para iniciantes, e o fato de você poder usar o Android Studio é uma grande vantagem.
C / c ++
O que realmente não deve ser escolhido para um iniciante no desenvolvimento de um aplicativo para Android é o C / C ++. O Android Studio suporta C / C ++ usando o Android Native Development Kit. Isso significa que o código escrito não funcionará na máquina virtual Java, mas no próprio dispositivo e dará mais controle sobre coisas como memória. Por exemplo, para jogos em 3D, isso reduzirá o desempenho adicional do dispositivo.
C #
C # é uma versão mais simples e puramente orientada a objetos do desenvolvimento C e C + da Microsoft. O objetivo principal da Microsoft era combinar o poder do C ++ com a simplicidade do Visual Basic. Essa linguagem de desenvolvimento do Android geralmente é apreciada por muitos desenvolvedores, especialmente a combinação de C # e Unity.
Unidade
Unity é um ambiente de desenvolvimento multiplataforma para jogos de computador. O Unity permite criar aplicativos em execução em mais de 20 sistemas operacionais diferentes, incluindo computadores pessoais, consoles de jogos, dispositivos móveis, aplicativos de Internet e outros. A unidade foi lançada em 2005 e está em constante desenvolvimento desde então.

As principais vantagens do Unity são a presença de um ambiente de desenvolvimento visual, suporte multiplataforma e um sistema modular de componentes. As desvantagens incluem o aparecimento de dificuldades ao trabalhar com circuitos multicomponentes e dificuldades ao conectar bibliotecas externas.
Esta é uma ferramenta de código aberto que facilita incrivelmente a criação de seus próprios jogos. Com apenas algumas linhas de código, você tem um jogo escrito em menos de uma hora.
Além disso, o desenvolvimento dessa maneira fornece uma maneira muito prática de aprender a codificar orientada a objetos, porque os objetos nesse caso são na verdade objetos na maioria das vezes.
O C # também pode ser usado com o Xamarin através do Visual Studio. Isso é semelhante ao desenvolvimento tradicional do Android, com a vantagem da plataforma cruzada, que possui uma base de código para Android e iOS.
Basic
O que aprendemos sobre o C # foi uma tentativa de combinar o poder do C com a facilidade do Visual BASIC. Isso ocorre porque o BASIC (Código de Instrução Simbólico para Todos os Objetivos para Iniciantes) é incrivelmente agradável de usar e um ponto de partida absolutamente perfeito para aprender a codificar.
Infelizmente, ele não é oficialmente suportado pelo Android Studio e não pode ser usado no Unity. Mas existe uma opção menos conhecida para o desenvolvimento de aplicativos Android no BASIC, chamada B4A (BASIC 4 Android), que permite criar aplicativos Android usando o BASIC.

Corona
Corona oferece outra maneira fácil de desenvolver aplicativos Android. Você codificará em LUA, que já é muito mais simples que Java. Ele suporta todas as suas próprias bibliotecas, o que permite a publicação de dados em várias plataformas.
O Corona é adequado para quem deseja criar algo relativamente simples e não tão preocupado com o desenvolvimento de suas habilidades de codificação ou com a possibilidade de se tornar um profissional. Se você quiser usar recursos como compras no aplicativo, precisará pagar. O mesmo vale para o uso de APIs nativas do Android.
Phonegap
Finalmente, a última opção simples que você pode escolher para desenvolver aplicativos Android é o PhoneGap.

O PhoneGap é executado no Apache Cordova e permite criar aplicativos que usam o código que você costuma usar para criar um site: HTML, CSS e JavaScript.
É hora de fazer suas próprias escolhas!