lunes, 3 de diciembre de 2012

Arquitecturas para desarrollo móvil - Modelo de Código Interpretado


Este artículo forma parte de una serie de artículos donde iré explicando las distintas arquitecturas que tenemos disponibles a la hora de desarrollar para móvil.

Este modelo se basa en la existencia de un Intermediate Language Runtime (ILR) o entorno de ejecución de lenguaje intermedio que abstraiga al desarrollador los detalles de la plataforma en la que se está ejecutando el código. El desarrollador escibirá el código en un lenguaje de programación determinado (esto depende del framework), un compilador generará el mismo programa en un lenguaje intermedio, y este código intermedio es interpretado o compilado just-in time por un por un interprete escrito para cada plataforma que interpreta o compila el código en un código máquina entendible por el dispositivo objetivo.

Arquitectura del Modelo de Código Interpretado

Como podemos ver en la arquitectura, el ILR será por tanto un entorno de ejecución que contendrá una capa de abstracción multi plataforma que trabajará con cada una de las APIs de las distintas plataformas. La implementación de este interprete varía en tamaño y complejidad según la herramienta elegida, incluso varían los métodos de ejecución, pudiendo usarse virtualización, interpretación, compilación just-int time o una mezcla de varios tipos.

Un ejemplo muy conocido de este modelo en las aplicaciones de escritorio es la maquina virual de java. Una máquina virtual es una implementación software de una maquina (por ejemplo de un dispositivo móvil) que ejecuta programas como si de una maquina físifica real se tratase. Y ya en su día se intentó replicar este modelo en el mundo móvil con Java ME y su KVM (Kilo Virtual Machine), pero no termino de triunfar ya que producía aplicaciones demasiado pesadas para el momento, y la alta fragmentación del mercado, hacía que las aplicaciones desarrolladas para este entorno de ejecución no funcionase en muchas plataformas.

Componentes del Modelo de Código Interpretado

Así que con este modelo, la responsabilidad de soportar multiples plataformas, la pasamos del desarrollador al creador de la máquina virtual o el ILR

Anngry Birds es un ejemplo de este modelo (usa Lua como lenguaje principal).

No hay comentarios:

Publicar un comentario