Para seguir desarrollando el navegador Ladybird se decidió utilizar el lenguaje Swift

Los desarrolladores del navegador experimental Ladybird han anunciado su intención de utilizar el lenguaje de programación Swift como lenguaje principal de su proyecto. Está previsto que la inclusión en el código Swift comience en otoño, después del lanzamiento de Swift 6 (el uso de la rama Swift 5 se ve impedido por la conexión a la versión antigua de Clang, que es incompatible con el código base actual de Ladybird en C++) . Gracias a la capacidad de combinar código en C++ y Swift, Swift se implementará gradualmente sin reescribir el código existente.

Se eligió Swift debido a una serie de ventajas, que incluyen prácticas de seguridad de la memoria, protección contra condiciones de carrera, sintaxis moderna y ergonomía. De particular importancia para el equipo de Ladybird es la naturaleza orientada a objetos de Swift, que le permite modelar con mayor precisión las especificaciones web y las partes internas del navegador. Los desarrolladores también destacan la mejora del soporte de Swift para plataformas que no son de Apple y el trabajo activo en la compatibilidad con C++, lo que allana el camino para la introducción gradual del lenguaje en el proyecto. A pesar de los vínculos históricos de Swift con Apple, el lenguaje se está volviendo cada vez más independiente, como lo demuestra, por ejemplo, el traslado de su repositorio a una organización separada en GitHub.

Andreas Kling, fundador del proyecto Ladybird, compartió su opinión sobre Rust. Según Kling, si bien Rust tiene un ecosistema impresionante, es menos adecuado para desarrollar programas de larga duración con gráficos de objetos grandes y complejos. Además, Kling describió a la comunidad Rust como "tóxica".

Recordemos que el navegador Ladybird se desarrolló inicialmente como parte de un proyecto para desarrollar el sistema operativo SerenityOS. En junio de 2024, Andreas Kling, que había trabajado en Nokia y estaba desarrollando Safari, decidió separar el proyecto del navegador del proyecto del sistema operativo y dedicar todo su tiempo a su desarrollo. En julio, el proyecto recibió una donación de 1 millón de dólares y comenzó a formar la iniciativa sin fines de lucro Ladybird Browser.

El navegador está escrito en C++ y se distribuye bajo licencia BSD. El proyecto está desarrollando su propio motor LibWeb, intérprete de JavaScript LibJS, biblioteca de representación de texto y gráficos 2D LibGfx, motor de expresiones regulares LibRegex, analizador XML LibXML, intérprete de código intermedio WebAssembly (LibWasm), biblioteca para trabajar con Unicode LibUnicode, biblioteca para convertir texto LibTextCodec codificaciones, un analizador Markdown (LibMarkdown), bibliotecas con primitivas criptográficas (LibCrypto, LibTLS), una biblioteca para trabajar con archivos LibArchive, bibliotecas para reproducir audio y video (LibAudio, LibVideo) y la biblioteca LibCore con un conjunto común de funciones útiles, como conversión de tiempo, E/S y procesamiento de tipo MIME.

Ladybird utiliza una arquitectura multiproceso, en la que el proceso que crea la interfaz está separado de los procesos que procesan el contenido web, envían solicitudes a través de la red, decodifican imágenes y almacenan cookies. Los controladores relacionados con la decodificación de imágenes y la comunicación de red se separan en procesos separados para mejorar el aislamiento y la seguridad. Cada pestaña utiliza un proceso de procesamiento de contenido web independiente, aislado del resto del sistema. Para construir la interfaz, macOS usa AppKit, Android usa la API nativa para crear una interfaz gráfica para esta plataforma y Qt se usa en otras plataformas. Se admiten los principales estándares web (el navegador pasa las pruebas Acid3), HTTP/1.1 y HTTPS. La interfaz gráfica está diseñada en un estilo clásico y admite pestañas.

Fuente: opennet.ru

Añadir un comentario