¿Es Android un lenguaje o un marco / plataforma?

13

Sé que Android usa el lenguaje Java con un SDK de Java limitado y que Google afirma que no es Java. ¿Pero es correcto decir que Android es un lenguaje de programación? ¿O es más correcto decir que Android es un marco en Java? ¿O es ambas verdad?


fuente

Respuestas:

36

Android es un sistema operativo (y más, mira a continuación) que proporciona su propio marco. Pero definitivamente no es un idioma.

Desde developer.android.com

Android es una pila de software para dispositivos móviles que incluye un sistema operativo, middleware y aplicaciones clave. El SDK de Android proporciona las herramientas y API necesarias para comenzar a desarrollar aplicaciones en la plataforma Android utilizando el lenguaje de programación Java.

lfx
fuente
5

Android no usa el lenguaje Java. Tiene un proceso de compilación fuera de línea que traduce el bytecode de JVM al bytecode de Dalvik que Android entiende, pero no hay nada que venga con Android que entienda o trabaje directamente con Java. En su lugar, utiliza otras herramientas existentes para compilar Java (o cualquier otro lenguaje JVM) para codificar en bytes, y luego se lo pasa a Dalvik para continuar el resto del camino.

munificente
fuente
3

Java es simplemente el lenguaje de elección compatible para el desarrollo de Android. Google eligió crear un SDK para lenguaje Java y un complemento para el popular Eclipse Java IDE, por lo que había un conjunto de herramientas fácilmente disponible para crear aplicaciones de Android en un lenguaje popular.
La parte confusa aquí es que Java, el lenguaje y Java, la máquina virtual son dos cosas diferentes. Cuando un programa Java estándar se ejecuta en su PC, ejecuta código que se compiló en código de bytes destinado a ejecutarse en la máquina virtual Java de Sun Microsystems. Básicamente, Android tiene su propia máquina virtual que también ejecuta código de bytes. Cuando ejecuta una aplicación de Android, su código de ejecución se compiló en el código de bytes que la máquina virtual de Android entiende. Entonces, si bien Java es el idioma de elección, técnicamente podría escribir aplicaciones de Android en cualquier idioma, siempre que tuviera los medios para compilarlo en el código de bytes de Android. (Aunque no creo que haya herramientas disponibles para otros idiomas)

Kratz
fuente
1
Me parece que dxse puede ejecutar en cualquier código de bytes JVM: Java, Jython, Scala, elija . Automatizarlo implicaría principalmente modificar las reglas de Ant.
geekosaur
2

Android es una plataforma gratuita de código abierto disponible para que cualquiera la use. El sistema operativo Android es un sistema Linux multiusuario en el que cada aplicación es un usuario diferente. Y Android se basa en la versión 2.6 de Linux para los servicios centrales del sistema, como seguridad, administración de memoria, administración de procesos, pila de red y modelo de controlador.

Nikhil Dinesh
fuente
1

Android es una pila de software de código abierto (una pila de soluciones es un conjunto de subsistemas de software o componentes necesarios para ofrecer una solución completamente funcional, por ejemplo, un producto o servicio) para dispositivos móviles que incluye un sistema operativo, middleware y aplicaciones clave. Por lo tanto, está parcialmente en lo correcto al considerarlo como un marco.

Favonio
fuente