Quien quiera programar en Android encontrará tarde que temprano que los emuladores disponibles para ver sus programas son bastante deficientes. Lentos, con una interacción penosa, simplemente no sirven para poder probar los programas que los desarrolladores escriben de una forma adecuada. Por ello, el saber que Google ha lanzado una versión de 64 bits de Android para su plataforma L, es una buena noticia. Sin embargo, hay que decir que esta versión solamente funciona en chips Intel x86 y no en procesadores ARM de 64 bits.
La arquitectura de 64 bits tiene muchas virtudes. Una de las primeras es que el espacio de memoria al que se puede disponer crece rápidamente. Además, hay un número mayor de registros y nuevos conjuntos de instrucciones para los desarrolladores. Sin embargo, esto no quiere decir que las apps corran necesariamente más rápido. Apps construidas sobre Java ganarán automáticamente los beneficios de los 64 bits porque su bytecode será interpretado por la nueva máquina virtual ART VM, la cual es también de 64 bits. Esto implica que no es necesario hacer cambios a las apps que usan Java puro. Las apps que fueron construidas con Android NDK necesitarán ciertas optimizaciones con este nuevo emulador. Intel ya ha dado algunos consejos sobrte cómo portar código diseñado para ARM a x86/64.
Cuando se usa en nuevo emulador, este permitirá que los desarrolladores sean capaces solamente de crear apps para los chips de Intel basados en ATOM, por lo que la pregunta obligada es, ¿dónde está el emulador de 64 bits para ARM (con su respectivo soporte)? Apple, por ejemplo, hizo mucha alharaca sobre el moverse a los 64 bits usando ARM A7 SOC y Google enfatizó el hecho de que Android L es para 64 bits. Pero esto no resuelve la pregunta. Habiendo más dispositivos Android que corren en ARM y no en una arquitectura Intel, es interesante preguntarse por qué el primer emulador de 64 bits es para los chips Intel. Tal vez la razón es que la estrategia de Intel ha sido aplicar sus propios productos para el mercado móvil. Si se les da el soporte adecuado, por ejemplo, el acelerador HAXM, así como un rango de imágenes del sistema operativo, muchos programadores de Android, que regularmente prueban en arquitecturas de Intel emuladas, podrían probar sus apps incluso las diseñadas para ARM directamente.
Para citar a Intel: “Este compromiso es evidente no solamente en la entrega de la primera imagen de un emulador de 64 bits para la arquitectura Intel, y HAXM Intel para el SDK (preview) de Android L, sino para muchas otras innovaciones tales como el primer kérnel de 64 bits para Android KitKat, el Android Native Development Kit (NDK) y otros avances en lo que se refiere a 64 bits en la última década”.
Intel sin duda está buscando posicionarse en el nicho de los dispositivos móviles y quizás su estrategia sea interesante (en su favor), para los dispositivos que soporten 64 bits. Habrá que esperar a ver qué pasa, porque en este mercado móvil las cosas cambian muy rápidamente.
Referencias: