Rust llega a Chromium y he aquí las razones

Chromium, el proyecto de código abierto detrás de Google Chrome, está habilitando un nuevo soporte para Rust en su base de código C ++. Aunque por el momento, solamente será de forma limitada.

El navegador de código abierto de Chromium es el proyecto que sustenta a Microsoft Edge, Opera, Vivaldi es el proyecto de y docenas de navegadores más, y ahora admitirá el uso de bibliotecas Rust de terceros de C++.

El equipo está implementando las herramientas necesarias para poder habilitar el código Rust en el binario de Chrome durante este año, según Dana Jansens del equipo de seguridad de Chrome.

Chuleta del Lenguaje de Programación Rust

Permitir Rust para bibliotecas de terceros en Chromium es un paso importante hacia un lenguaje moderno y seguro para la memoria, aunque pueda ser más limitado que el Proyecto de código abierto de Android (AOSP) que introduce a Rust como un nuevo lenguaje de plataforma en Abril de 2021.

AOSP permite que Rust desarrolle componentes nativos del sistema operativo y ahora ya representa el 21 % del código nuevo en AOSP. El cambio ha coincidido con una caída en las vulnerabilidades de seguridad de la memoria del 76 % al 35 % de las vulnerabilidades totales en Android.

AOSP, AWS, el proyecto del kernel de Linux, Meta, Microsoft y muchos más están adoptando Rust en la programación de sistemas por sus garantías de seguridad de la memoria.

Google muestra KataOS, un sistema operativo seguro escrito en Rust

En términos generales, Rust puede ayudar a reducir las vulnerabilidades relacionadas con la memoria, que constituyen la gran mayoría de los problemas de seguridad del software actualmente.

Las vulnerabilidades llegan por culpa del código escrito en C y C ++ que no son seguros para la memoria, lo que permite a los programadores romper fácilmente las reglas de seguridad de la memoria. En Octubre, Apple detalló cómo abordaba la seguridad de la memoria en XNU; el kernel utilizado para iPhone, iPad y Mac.

Por ahora, el proyecto Chromium ha impuesto varias restricciones a Rust para esas bibliotecas. Por ejemplo, permitirá Rust para bibliotecas de terceros de Chromium si existe una “necesidad comercial”, como reducir significativamente el riesgo de errores de memoria, bloqueos y otros problemas “en comparación con la biblioteca de terceros existente y código C++ relacionado”.

Además de limitar el soporte de Rust a bibliotecas de terceros, el equipo opta por admitir solo la interoperabilidad unidireccional, desde C++ hasta Rust, para controlar la forma del árbol de dependencia.

“Rust no puede depender de C++, por lo que no puede conocer los tipos y funciones de C++, excepto a través de la inyección de dependencias. De esta manera, Rust no puede aterrizar en código C++ arbitrario, solo en funciones pasadas a través de la API desde C++”, señala Jansens.

Jansens explica que es demasiado arriesgado permitir la interoperabilidad completa de C/C++ y Rust entre lenguajes.

“En un nivel alto, lo que descubrimos fue que debido a que C++ y Rust se rigen por reglas diferentes, las cosas pueden torcerse muy fácilmente”, señala Jansens.

Actualmente, también hay una falta de herramientas de interoperabilidad (interoperabilidad) que brinden soporte del compilador y el sistema de tipos de cada idioma.

Rust encabeza las listas de los lenguajes WebAssembly más populares

Google está trabajando en una herramienta de interoperabilidad bidireccional C++/Rust denominada Crubit. Sin embargo, Google lo describe como una herramienta “extremadamente experimental” en esta primera etapa y desaconseja su uso.

Artículos Relacionados
WhatsApp lanza la nueva función de Comunidades

Comunidades, la nueva característica implementada en WhatsApp se encontraba en desarrollo desde principios de este año, finalmente fue lanzada. La nueva función permite a los usuarios de WhatsApp formar grupos de discusión más grandes y organizados. Las comunidades de WhatsApp se asemejan mucho a ¡SEGUIR LEYENDO!

Capture One

Capture One (también conocido como Capture One Pro) es un software de edición de fotografías, desarrollado por Phase One. Además de la edición de imágenes, realiza la catalogación de las mismas, el procesamiento de los archivos de las imágenes en bruto y la fotografía ¡SEGUIR LEYENDO!

10 Extensiones de Chrome imprescindibles para Desarrolladores Front-End

La mayoría de los desarrolladores web utilizan Chrome para su desarrollo. Según Wikipedia, aproximadamente el 65% de la población mundial parece usar Chrome, esta es una de las razones por las que los desarrolladores eligen Chrome para probar una aplicación creada por ellos. Por ¡SEGUIR LEYENDO!

Comandos para actualizar el navegador web de Firefox a su última versión en Linux

Si quieres obtener la última versión de Firefox y no la versión más estable, debes instalarlo de forma forzosa desde la versión unstable mediante estos comandos: sudo apt update sudo apt install -t unstable firefox Dicho esto, recuerda que estas versiones no son recomendadas ¡SEGUIR LEYENDO!

Anunciado Wasmer 3.0

El equipo de desarrollo de Wasmer acaba de lanzar Wasmer 3.0, luego de tres meses de trabajo desde su primera alfa. Si aún no sabes lo que es Wasmer debes saber que: Wasmer es un tiempo de ejecución de WebAssembly rápido y seguro que ¡SEGUIR LEYENDO!

Las nuevas herramientas y funciones para los desarrolladores del Asistente Inteligente de Google

Las principales marcas recurren al Asistente de Google todos los días para ayudar a sus usuarios a realizar tareas en sus teléfonos y en pantallas inteligentes, como jugar juegos, buscar recetas o verificar inversiones, simplemente usando su voz. De hecho, durante el último año, ¡SEGUIR LEYENDO!

Nvidia presenta Maxine, una plataforma para videoconferencias impulsada por Inteligencia Artificial

Ahora que el trabajo remoto y las videollamadas son una parte integral de la vida de muchas personas durante la pandemia. Nvidia anunció su nueva plataforma de transmisión de video con IA en la nube llamada Maxine, que promete superar a sus competidores con ¡SEGUIR LEYENDO!