Java y Android

0

El lenguaje de programación Java, desarrollado a mediados de la década de los 90 por la empresa informática Sun Microsystems, hoy parte de Oracle, se creó con la premisa de poder ser usado en cualquier máquina, con independencia de su arquitectura, lo que es posible debido a la existencia de la denominada máquina virtual java, que aísla el programa del hardware en el que se ejecuta, lo que permite crear aplicaciones muy generales a costa de no incluir optimizaciones de bajo nivel.

Así, a diferencia de C y C++, con los que comparte parte de la sintaxis, las aplicaciones se compilan a un pseudocódigo, denominado bytecode, que es interpretado por la máquina virtual java, en lugar de generarse un ejecutable basado en una arquitectura concreta.

Java en Android

Sin embargo, es en la gestión de la memoria donde seguramente los desarrolladores de otros lenguajes encontrarán mayores diferencias, puesto que ésta es gestionada automáticamente por la máquina virtual, no siendo necesario liberarla desde el programa, tal como se hace habitualmente, lo que deriva en una mayor facilidad a la hora de programar a costa de no saber realmente cuándo se destruyen los objetos, puesto que existe un servicio, denominado el recolector de basura (del inglés garbage collector), que se encarga de ello cuando resulta necesario.

Desde su aparición, el lenguaje ha sufrido múltiples cambios y versiones, calculándose que está presente en más mil millones de ordenadores personales (sólo en lo que se refiere a la versión de Oracle) y más de tres mil millones de teléfonos móviles.

En lo que a Android se refiere, se basa en un kernel Unix, tal como te hemos indicado en otras ocasiones, sobre el que se ejecuta Dalvik, que podríamos equiparar a la máquina virtual java, si bien ha sido diseñado para ejecutarse únicamente en el entorno de Android y no se basa en el bytecode de Java, y cuya principal funcionalidad es la ejecución de las aplicaciones, aislándolas del hardware.

Arquitectura de Android

Las aplicaciones se escriben en un lenguaje de programación que conserva la sintaxis de Java, si bien, y por razones obvias, no incluye todas sus funcionalidades.

En cuanto a la optimización de las aplicaciones, y dado que en el caso de Android la disponibilidad en cuanto al hardware se encuentra bien acotada, el propio Dalvik se encarga de compilar directamente a código nativo cuando la aplicación se ejecuta (compilación JIT, del inglés Just In Time), lo que incrementa la velocidad de ejecución de éstas.

En cuanto a la disponibilidad de diferentes lenguajes de programación para el desarrollo de aplicaciones para Android, si bien la mayor parte de los desarrolladores utilizan Java, es posible (desde no hace demasiado tiempo) programar en php (usando una solución provista por zend) y existe un proyecto denominado xamarin para incorporar C# y .NET de forma nativa, si bien se trata de soluciones muy novedosas y, por ende, no demasiado extendidas entre la comunidad.

Imagen ELinux

Sin comentarios

Dejar respuesta