¿Es JAVA en Android tan importante como parece?
No sé cuántos de vosotros han tenido la ocasión de hacer sus pinitos como desarrollador para Android, pero los que lo hayáis hecho sabéis que para el SO de Google, el desarrollo en JAVA es una piedra angular, hasta el punto de que hay aún mucha gente que piensa que DALVIK y JVM son lo mismo (aunque no sea el caso…).
Pero claro, en pleno auge de la guerra de patentes, con mil batallas librándose en otros tantos frentes nos encontramos con una disputa milmillonaria entre Oracle y Google por el uso de la tecnología JAVA en Android.
Olvidémonos por un momento de lo absurda, cargante que sea y el evidente lastre que supone esta guerra de patentes, que a la postre siempre redunda en lo mismo: mayor gasto para el usuario, porque lo creáis o no, los carísimos abogados de esas empresas los estamos pagando nosotros.
No es ese el asunto, el asunto es: llegados a este punto, ¿es imprescindible JAVA en Android? Pues hace tan solo dos días (antes de tener la ocasión de leer este artículo) os habría respondido sin dudarlo que sí. Pero quizá ahora la respuesta sea bien diferente.
Y es que resulta que la empresa Xamarin se hicieron esa misma pregunta y por ese mismo asunto, pero a diferencia de mí, ellos no son unos putos vagos disponían de herramientas y talento para ponerse manos a la obra y solucionarlo. Y parece que es lo que han hecho, dando lugar a un proyecto llamado XobotOS.
Xobot OS es ni más ni menos que una reimplementación del código de Android de forma que todo lo que antes se ejecutaba sobre DALVIK (máquina virtual basada en JAVA) ahora lo hace sobre Mono (máquina virtual basada en C#) y parece que la diferencia de resultado entre una y otra es abrumadora, mejorando entre otras la velocidad y el consumo de batería, dos de los principales caballos de batalla en Android. Si bien es cierto que la implementación aún no está 100% pulida, no es menos cierto que aún con todo ya cubre la mayor parte de las operaciones de Android y está asombrando con los resultados. En la imagen de la derecha podéis observar cómo con operaciones de ordenación y creación bastante habituales en informática (como arboles binarios o mapeados hash) los resultados son bastante claros (aunque varían en función de la versión de Android que estemos ejecutando y en función de la máquina).
Así pues, finalmente los chicos de Xamarin han publicado el código en su Github para todo aquel que se quiera aventurar a probarlo. Yo, personalmente estoy deseando echarle un vistazo y estrenar de paso mi nueva tablet para ver qué tal funciona.
Si queréis saber más sobre el proyecto podéis echarle un vistazo en su blog directamente.