UMI

Creo que esta semana toca hablar sobre el rumor que más ha corrido los últimos días por la red, desde que se vertiese a la misma. El rumor habla sobre el proceso de desarrollo de la versión 5.0 de Android, la esperada Key Lime Pie. La noticia me ha parecido suficientemente relevante como para dedicarle el editorial de esta semana así que me adentro en el tema.

Es bien sabido que me encanta Android y actualmente no elegiría ningún otro sistema para ninguno de mis sistemas operativos móviles, e incluso no me importaría probarlo durante un tiempo, quién sabe si indefinido, como sistema de trabajo todoterreno. El que me guste Android no significa que sea un defensor acérrimo del sistema operativo ya que, como todos, tiene fallos. Tiene fallos y además me aventuraría a decir que uno de sus principales fallos es tal vez el fallo más notable de todos los sistemas operativos actuales: la máquina virtual de Java, Dalvik (aunque no es una máquina virtual Java propiamente dicha, pero ejecuta archivos class de Java compilados por un compilador Java).

Trataré de explicarme.

Android Java

La máquina virtual Dalvik es, a la vez, lo mejor y lo peor de Android. Android dispone de dos partes, el SDK y el NDK. El SDK es la capa que ejecuta aplicaciones sobre la máquina virtual de Dalvik y el NDK es el encargado de ejecutar código sobre el núcleo de Android, que no es otra cosa que una adaptación de Linux.  Dicha máquina virtual permite, entre otras cosas, que los desarrollos sean más limpios y más rápidamente accesibles para programadores de todos los niveles ya que la máquina se encarga de gestionar gran parte de los recursos del sistema operativo por ti. En gran medida, la existencia de Dalvik ha potenciado la cantidad de aplicaciones Android disponibles al hacer la programación sobre este sistema operativo menos compleja, explicado a grandes rasgos.

Dicha máquina virtual, que no todo van a ser desventajas, es la que se encarga de que una aplicación Android pueda correr en multitud de configuraciones distintas de dispositivo, es decir, garantiza la compatibilidad independientemente de cuál sea el smartphone sobre el que esté corriendo dicha aplicación. Como en todo, hay errores y que la aplicación sea compatible “con todo” requiere mucho trabajo, pero Android va corrigiendo eso con cada nueva versión.

El punto negro de la existencia de la máquina virtual es que ésta, Dalvik, se sitúa como una capa intermedia entre el código de la aplicación y el propio núcleo de Android y, por tanto, ralentiza en cierta medida la ejecución de dicho código. Eso hace que el código ejecutado sobre Dalvik se haga de forma más lenta que sobre el propio núcleo (otros sistemas) lo que hace a Android estar amarrado a las especificaciones del dispositivo. Por ello es la principal razón de que la experiencia de uso de Android varíe tanto de un dispositivo con poca potencia a uno de gama alta, y además dicha experiencia empeora con cada nueva versión del sistema operativo que es, por lógica, más exigente en cuanto a hardware. De hecho, la máquina virtual es la principal responsable, negativamente hablando, de que iOS o Windows Phone funcionen de forma más fluida en dispositivos con menor potencia. Incluso Blackberry OS, ya que hablamos de alternativas reales de mercado.

Fragmentación Android 2013

La fragmentación en Android es una realidad, y no sólo es así sino que también es inevitable. Salvo casos específicos en los que el fabricante decide abandonar terminales que podrían correr versiones posteriores del sistema operativo (cada fabricante que aguante su vela), la gran mayoría de las veces la actualización del sistema es literalmente imposible por culpa del propio hardware. Esto hace que a la velocidad que avanza el hardware y a la velocidad que avanza Android sea prácticamente inútil pensar que un dispositivo puede mantenerse al día en cuanto a actualizaciones por un periodo superior a los dos años. Como en todo, hay excepciones, aunque pocas.

La noticia que nos ha traído aquí hoy es, aunque deberíamos decir que en realidad se trata de un rumor, que Google estaría trabajando para que Android 5.0 Key Lime Pie pudiese funcionar con dispositivos que portasen únicamente 512 Mb de RAM. Este dato podría pasar desapercibido pero para quienes vivimos Android cada día puede suponer una revolución. Supondría que Android no sólo daría un salto hacia delente, cualitativamente hablando, sino también hacia atrás, consiguiendo que terminales descartados para recibir Android 4.1, 4.2 y 4.3 Jelly Bean pudiesen recibir Android 5.0. Como digo, una auténtica revolución en cuanto a que podría incluir un núcleo más optimizado, mejor, que haría que dicha máquina virtual pudiese pasar prácticamente inadvertida por una menor velocidad de ejecución. Incluso no descartaría una optimización de dicha máquina virtual. 

Android Key Lime Pie - Versiones

Durante el pasado Google I/O pudimos ver que Google hacía especial hincapié en los problemas de fragmentación que sufre Android desde hace tiempo. En Google nos esconden con este dato, aunque sería difícil que tratasen de hacerlo dado que se trata de una realidad palpable, y es notorio que se trata de una de sus principales preocupaciones. Si la noticia de los requerimientos de Key Lime Pie fuese cierta, algo que todos deseamos, significaría que todos los terminales que actualmente corren Ice Cream Sandwich y Jelly Bean podrían reagruparse bajo Key Lime Pie. Incluso, si me apuráis, muchos que han quedado en Gingerbread podrían beneficiarse de esta retrocompatibilidad surgida de la nada.

De ser cierto, sería un gran golpe contra la fragmentación en Android. Toda vez que los fabricantes accediesen a adaptar sus capas en terminales antiguos que ellos mismos han descartado, pero eso es otra historia y habrá de ser contada en otra ocasión. Yo, por mi parte, suspiro pensando en que Google podría obrar el milagro de resucitar el Nexus One (por poner un ejemplo conocido por todos) que ahora descansa en un cajón de mi despacho y que por hardware se quedó fuera de recibir Ice Cream Sandwich (oficialmente).

5 comentarios

  1. Ojala sea cierto… debido a que tengo un optimus L9 y por los momentos no he visto en ningun foro que este vaya a correr el android 5.0.. gracias por la info muy buena pagina.

  2. Hola Samuel, como siempre super interesantes tus artículos. Lo que relatas es de verdad para los usuarios de Android como yo, un sueño que ojalá se haga realidad. Ojalá Key Lime Pie sea el comienzo del fin de la fragmentación de Android y podamos gozar de las últimas actualizaciones de este querido SO sin tener que gastar un dineral. Interesantes los datos como sdk, dalvick, etc., son cosas que la mayoría de usuarios no sabíamos y ahora nos permite saber un poc más como funciona Android. Ojalá tus palabras sean premonitorias mi estimado Samuel. Saludos.

    • Esperemos, Óscar, aunque no deja de ser un rumor todos esperamos que sea cierto. Significaría un paso importante en la lucha contra la fragmentación. Eso y que estoy deseando volver a tener mi Nexus One actualizado :)

      Un saludo y gracias por pasarte!!

  3. Se dijo lo mismo de Jelly Bean y su Project Butter, que si revolución, que si mil veces más optimizado… Mucho hype.

Deja una respuesta