Los desarrolladores de aplicaciones pueden optar principalmente por Java o Kotlin para crear sus aplicaciones, pero las capas más bajas del propio sistema operativo necesita alternativas más robustas y aprueba de errores, como C o C++. Google ha anunciado ahora el soporte para Rust como lenguaje de programación soportado en AOSP.
A partir de ahora, las capas más bajas de Android podrán combinar C, C++ y Rust, no muy popular pero sí muy apreciado por quienes lo usan. Estos lenguajes están diseñados con el control y la previsibilidad en mente, siendo mejores opciones para acceder a los recursos de bajo nivel y el hardware.
Android hecho con Rust
Durante el pasado año y medio, Google ha estado incorporando progresivamente el lenguaje de programación Rust en un número selecto de proyectos de AOSP, como por ejemplo el nuevo stack de Bluetooth.
La principal ventaja de Rust con respecto a C y C++ es que posee mecanismos para mejorar la seguridad de memoria reduciendo la necesidad de usar sandboxing, lo cual consume más recursos e introduce latencia en el proceso. Google destaca dos beneficios directos del uso de Rust en el desarrollo de Android: reduce la densidad de errores dentro del código y reduce las necesidades de usar sandboxing.
Con decenas de millones de líneas de código en AOSP, reescribirlo todo en Rust sería una tarea tan titánica como inviable, de modo que Google centrará sus esfuerzos en usar Rust en nuevos desarrollos y no en reescribir código antiguo. Además, según las investigaciones de Google, son precisamente los proyectos relativamente nuevos los que presentan el mayor número de errores de seguridad de la memoria, y que se beneficiarán más del uso de Rust.
Con multitud de dependencias y toolchains que necesitan ser mantenida, herramientas e infraestructura de test que necesitan ser actualizadas y desarrolladores que necesitan formación, Google considera que llevar Rust a una mayor parte de Android es un proyecto de varios años. Por el momento, Rust convivirá con C y C++ en el desarrollo de Android en sí. Para los desarrolladores de aplicaciones no hay cambios.
Más información | Android Developers
Ver 1 comentarios