Qt 6.4 ya disponible, con soporte mejorado para WebAssembly, entre otros

Qt 6.4

Cinco meses después de la tercera actualización, The Qt Company ha anunciado el lanzamiento de Qt 6.4. De lo primero que mencionan como novedad, se destaca el soporte para WebAssembly, lo que significa que WASM se puede usar me forma más exhaustiva. La librería incluye otras novedades, pero, por su naturaleza, muchas de ellas son cambios que notaremos más al usar las cosas que funciones con las que cambiaremos nuestra forma de trabajar.

Lo que personalmente me llama un poco la atención es que la segunda novedad que mencionan es algo con «estilo iOS». Está claro que Apple sabe diseñar, pero lo que sorprende es que se reconozca que se han basado en ellos para incluir algo en una librería como esta. A continuación tenéis una lista con las novedades más destacadas de Qt 6.4.

Novedades más destacadas de Qt 6.4

  • Soporte para WebAssambly.
  • Nuevos módulos de avance tecnológico de Qt HTTP Server y Qt Quick 3D Physics.
  • Qt TextToSpeech ha llegado a Qt 6.
  • El módulo Qt HTTP Server facilita la incorporación de un servidor HTTP en las aplicaciones, con soporte opcional de TLS.
  • Qt Quick 3D Physics en forma de «tech preview» proporciona una API de simulación física de alto nivel para interactuar con cuerpos rígidos y mallas estáticas.
  • Para los que estén en la versión Qt Commercial, Qt 6.4 también trae un nuevo módulo Qt VNC Server.
  • Se han añadido varias API a Qt Core.
  • Muchas mejoras de Qt Quick (aquí es donde se menciona a iOS).
  • QSSlServer se ha añadido a Qt Network como un servidor que únicamente las comunicaciones a través de TLS.
  • Qt Quick 3D ofrece una vista previa de soporte de baking lightmap.
  • Mejora de la representación de la sombra para Qt Quick 3D.
  • La API de HTML5 de acceso al sistema de archivos para el Qt WebEngine, y animaciones más suaves en Qt Quick.

Qt 6.4 ha sido anunciado hace apenas unas horas, lo que significa que cualquier interesado puede usar su código. Y cuando digo «cualquier interesado», en un principio estoy hablando de desarrolladores. Con el paso del tiempo, las diferentes distribuciones Linux añadirán los nuevos paquetes a sus repositorios, y lo mismo harán los desarrolladores que quieran usar esta librería.

from Linux Adictos https://ift.tt/Skr7U48
via IFTTT

Llega la décima versión de Rust for Linux, lista para su inclusión en Linux 6.1

Controladores Rust en Linux

Hace unas pocas semanas compartimos aquí en el blog la noticia sobre la confirmación que se realizó durante la Open Source Summit Europe, por parte de Linus Torvalds anunció que, salvo problemas imprevistos, se incluirán los parches para respaldar el desarrollo del controlador Rust en el kernel Linux 6.1, que se espera que se lance en diciembre.

La razón de hacer mención de ello, es que Miguel Ojeda, autor del proyecto Rust-for-Linux dio a conocer hace poco el lanzamiento de la decima propuesta de los componentes para el desarrollo de controladores de dispositivos Rust para que los desarrolladores del kernel de Linux los consideren.

Como tal esta es la undécima edición de los parches, teniendo en cuenta la primera versión publicada (sin número de versión). Linus Torvalds aprobó la inclusión de la compatibilidad con Rust en el kernel de Linux 6.1, a menos que surjan problemas imprevistos.

Cabe mencionar que el desarrollo está financiado por Google y el ISRG (Internet Security Research Group), que es el fundador del proyecto Let’s Encrypt y promueve HTTPS y el desarrollo de tecnologías para aumentar la seguridad de Internet.

Algunos de los beneficios de obtener soporte de Rust en el kernel son facilitar la escritura de controladores de dispositivos seguros al reducir las posibilidades de errores de memoria y alentar a los nuevos desarrolladores a involucrarse en el kernel.

«Rust es una de esas cosas que creo que traerá caras nuevas… nos estamos volviendo viejos y grises», dijo Linus.

Las notas de la versión de Linux 6.0 brindan una actualización sobre el progreso del proyecto Rust para Linux: existe un grupo de trabajo relacionado, está disponible un controlador preliminar para medios de almacenamiento NVMe desarrollado con dicho lenguaje, así como un controlador para un servidor previsto para el protocolo de red 9P.

Aprovechando la mención sobre la versión 6.1 del kernel Linus también anunció que la versión 6.1 del kernel mejorará algunas de las partes más antiguas y fundamentales del kernel, como la función printk().

En cuanto a lo relacionado con esta nueva propuesta de los parches Rust, al igual que la última versión de los parches, la décima versión se reduce al mínimo, suficiente para construir un módulo kernel simple escrito en Rust.

Las diferencias con la versión anterior se reducen a correcciones menores, reemplazando sizeof con ARRAY_SIZE en kallsyms.c y adaptando parches al kernel v6.0-rc7.

El soporte de Rust aún debe considerarse experimental. Sin embargo,
El soporte es lo suficientemente bueno como para que los desarrolladores del kernel puedan comenzar a trabajar en el.

Se espera que el parche mínimo, que se ha reducido de 40 000 líneas de código a 13 000 líneas de código, facilite la adopción de la compatibilidad con Rust en el núcleo. Después de brindar un soporte mínimo, se planea aumentar gradualmente la funcionalidad existente, transfiriendo otros cambios de la rama Rust-for-Linux.

Los cambios propuestos hacen posible el uso de Rust como segundo lenguaje para desarrollar controladores y módulos del kernel. El soporte de Rust se presenta como una opción que no está habilitada de forma predeterminada y no da como resultado la inclusión de Rust entre las dependencias de compilación requeridas para el kernel.

El uso de Rust para desarrollar controladores le permitirá crear controladores mejores y más seguros con un esfuerzo mínimo, sin problemas como acceder a un área de memoria después de liberarla, desreferenciar punteros nulos y desbordamientos de búfer.

El manejo seguro de la memoria se proporciona en Rust en tiempo de compilación mediante la verificación de referencias, el seguimiento de la propiedad del objeto y la vida útil del objeto (alcance), así como mediante la evaluación de la corrección del acceso a la memoria durante la ejecución del código.

Rust también brinda protección contra desbordamientos de enteros, requiere la inicialización obligatoria de los valores de las variables antes de su uso, maneja mejor los errores en la biblioteca estándar, aplica el concepto de referencias y variables inmutables de forma predeterminada, ofrece tipado estático fuerte para minimizar los errores lógicos.

Finalmente si estás interesado en poder conocer más al respecto sobre la nota, puedes consultar las listas de correo sobre el tema, en el siguiente enlace.

from Linux Adictos https://ift.tt/8F0LBU4
via IFTTT