O Android é um idioma ou uma estrutura / plataforma?

13

Eu sei que o Android usa a linguagem Java com um Java SDK limitado e que o Google alega que não é Java. Mas é certo dizer que o Android é uma linguagem de programação? Ou é mais correto dizer que o Android é uma estrutura em Java? Ou é verdade?


fonte

Respostas:

36

O Android é um sistema operacional (e mais, veja abaixo) que fornece sua própria estrutura. Mas definitivamente não é uma linguagem.

De developer.android.com

O Android é uma pilha de software para dispositivos móveis que inclui um sistema operacional, middleware e aplicativos-chave. O SDK do Android fornece as ferramentas e APIs necessárias para começar a desenvolver aplicativos na plataforma Android usando a linguagem de programação Java.

lfx
fonte
5

O Android não usa a linguagem Java. Ele possui um processo de compilação offline que converte o bytecode da JVM no bytecode da Dalvik que o Android entende, mas não há nada que venha com o Android que compreenda ou funcione diretamente com Java. Em vez disso, você usa outras ferramentas existentes para compilar Java (ou qualquer outra linguagem da JVM) no bytecode e, em seguida, entrega a Dalvik para o restante do caminho.

maravilhoso
fonte
3

Java é simplesmente a linguagem de escolha suportada para o desenvolvimento do Android. O Google optou por criar um SDK para a linguagem Java e um plug-in para o popular Eclipse Java IDE. Portanto, havia uma ferramenta facilmente disponível para criar aplicativos Android em um idioma popular.
A parte confusa aqui é que Java, a linguagem, e Java, a máquina virtual, são duas coisas diferentes. Quando um programa Java padrão é executado no seu PC, ele está executando o código que foi compilado no código de bytes destinado a ser executado na Java Virtual Machine da Sun Microsystems. Basicamente, o Android tem sua própria máquina virtual que também executa código de bytes. Quando você executa um aplicativo Android, seu código de execução que foi compilado no código de bytes que a máquina virtual Android compreende. Portanto, enquanto Java é o idioma de escolha, você pode escrever tecnicamente aplicativos para Android em qualquer idioma, desde que tenha os meios para compilá-lo no código de bytes do Android. (Embora eu ache que nenhuma ferramenta esteja disponível para outros idiomas)

Kratz
fonte
1
Parece-me que dxpode ser executado em qualquer bytecode da JVM: Java, Jython, Scala, faça a sua escolha . Automatizá-lo envolveria principalmente a modificação das regras do Ant.
Geekosaur
2

O Android é uma plataforma gratuita de código aberto disponível para qualquer um usar. O sistema operacional Android é um sistema Linux multiusuário no qual cada aplicativo é um usuário diferente. E o Android conta com o Linux versão 2.6 para serviços principais do sistema, como segurança, gerenciamento de memória, gerenciamento de processos, pilha de rede e modelo de driver.

Nikhil Dinesh
fonte
1

O Android é uma pilha de software de código aberto (uma pilha de soluções é um conjunto de subsistemas ou componentes de software necessários para fornecer uma solução totalmente funcional, por exemplo, um produto ou serviço) para dispositivos móveis que incluem um sistema operacional, middleware e aplicativos principais. Então você está parcialmente correto ao considerá-lo como uma estrutura.

Favonius
fonte