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).