Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Introducción a Android Rust

La plataforma Android brinda soporte para el desarrollo de componentes nativos del sistema operativo en Rust, un lenguaje de programación de sistemas moderno que brinda garantías de seguridad de la memoria con un rendimiento equivalente a C / C ++. Rust utiliza una combinación de comprobaciones en tiempo de compilación que imponen la vida útil y la propiedad del objeto, y comprobaciones en tiempo de ejecución que garantizan accesos válidos a la memoria, lo que elimina la necesidad de un recolector de basura.

Rust proporciona una variedad de características de lenguaje moderno que permiten a los desarrolladores ser más productivos y tener más confianza en su código:

  • Programación concurrente seguro - La facilidad con que esto permite a los usuarios escribir eficiente, código de flujos seguros ha dado lugar a Rust Sin Miedo concurrencia lema.
  • Sistema de tipo expresivo - Rust ayuda a evitar errores de programación lógicos permitiendo tipos altamente expresivas (tales como envoltorios de Newtype, y la enumeración variantes con contenido).
  • Los cheques en tiempo de compilación más fuertes - más insectos capturados en tiempo de compilación confianza aumenta desarrollador que cuando el código se compila correctamente, funciona según lo previsto.
  • Built-in Marco de Pruebas - Rust proporciona una incorporado en la prueba de marco en el que las pruebas unitarias se pueden colocar junto a la aplicación que ponen a prueba, haciendo pruebas unitarias más fácil incluir.
  • Error de aplicación de carretillas elevadoras - Funciones con fallos recuperables pueden devolver un tipo de resultado , que será o bien una variante éxito o una variante de error. El compilador requiere que las personas para buscar y gestionar la variante de error de un Result enumeración de regresar de una llamada de función. Esto reduce el potencial de errores resultantes de fallas no controladas.
  • Inicialización - Rust requiere que cada variable para ser inicializado a un miembro legal de su tipo antes de su uso, evitando una inicialización no intencional a un valor seguro.
  • Más seguro el manejo de enteros - Todas las conversiones de tipo entero son conversiones explícitas. Los desarrolladores no pueden lanzar accidentalmente durante una llamada de función al asignar a una variable, o cuando intentan hacer aritmética con otros tipos. La comprobación de desbordamiento está activada de forma predeterminada en Android para Rust, lo que requiere que las operaciones de desbordamiento sean explícitas.

Para obtener más información, consulte la serie de publicaciones de blog sobre la compatibilidad con Android Rust: