29 de mayo de 2023

Lo que viene en las bibliotecas Delphi y C++Builder

Si está siguiendo lo que sucede en torno a RAD Studio, es probable que haya visto el anuncio en términos de un enfoque renovado del lenguaje C++, What's Coming for C++Builder: An Amazing PreviewComo seguimiento de las emocionantes actualizaciones de C++Builder, compartimos algunos detalles sobre lo que Embarcadero ha planeado para las otras partes del producto, en particular, las bibliotecas de interfaz de usuario VCL y FireMonkey.

Una nueva base para FireMonkey: Skia

La biblioteca de interfaz de usuario multiplataforma y multidispositivo de RAD Studio se basa en el concepto de abstracción de la representación real de los elementos de la interfaz de usuario mediante estilos. Los estilos se implementan utilizando algunos objetos y elementos gráficos primitivos, asignados por FireMonkey a diferentes controladores gráficos, desde DirectX hasta Metal.

En los últimos años, ha surgido una biblioteca en este espacio, que ofrece un mayor nivel de abstracción con primitivas más complejas mientras trabaja sobre la misma plataforma que los controladores nativos compatibles con FireMonkey. Esta biblioteca se llama Skia y brinda una potencia increíble para aplicaciones gráficas 2D de todo tipo, junto con un enfoque significativo en el rendimiento. Skia impulsa algunas de las aplicaciones multidispositivo más exitosas de la actualidad, comenzando con el navegador Chrome de Google .

Es posible usar Skia para potenciar las aplicaciones FireMonkey hoy en día, usando la biblioteca Skia4Delphi , que también está disponible directamente en GetIt . Lo que viene en futuras versiones de RAD Studio es una integración profunda y lista para usar de Skia y Skia4Delphi: al hacerlo parte del producto, ofreceremos una experiencia más fluida y lo convertiremos en un ciudadano de primera clase en el ecosistema de FireMonkey. Las ventajas incluirán un renderizado más rápido, específicamente en Android, pero también una serie de características y componentes adicionales disponibles al usar un controlador basado en Skia.

Tenga en cuenta que, como parte del soporte de Skia, no solo planeamos usarlo como un controlador de GPU FireMonkey, sino que también planeamos incluir controles de interfaz de usuario específicos para FireMonkey e incluso para la biblioteca VCL.

(El control SkLabel admite varias secciones de una sola etiqueta con diferentes atributos de texto, como puede ver en el Inspector de objetos)

Modernización de VCL: el regreso del MDI

En un frente totalmente diferente, sabemos que muchos de nuestros clientes tienen aplicaciones VCL existentes que desean mantener activas y modernizar. La biblioteca VCL ha brindado continuamente un sólido soporte para la modernización de aplicaciones, como soporte HighDPI, una arquitectura de estilo sofisticada, el uso de versiones más nuevas de los controles de la plataforma, la integración de la API de WinRT, el soporte de la implementación de MSIX y la integración de WebView2. control (el motor basado en Chromium del navegador Edge). 

En los últimos años, nos hemos alejado del soporte para el modelo MDI ( Interfaz de documentos múltiples ). Este es un paradigma de interfaz de usuario relativamente desactualizado, basado en tener varias ventanas (que muestran el mismo tipo de contenido o tipos diferentes) alojadas en una ventana principal de contenedor. Por mucho que sea de estilo antiguo, el modelo MDI puede ser efectivo y muchos de nuestros clientes lo han usado durante mucho tiempo, han capacitado a sus usuarios en torno a él y, por estas razones, prefieren seguir usándolo. Una de las desventajas de usar el modelo VCL MDI es que es un envoltorio alrededor del soporte de la plataforma Windows, y ese soporte tiene muchos problemas en los monitores HighDPI, por ejemplo.

 
Una aplicación MDI con soporte completo de estilo en High DPI, que se muestra usando el estilo Glow VCL (a la izquierda) y el estilo Aqua Light Slate VCL (a la derecha)

Después de una extensa investigación y revisión de ingeniería, Embarcadero decidió que valía la pena intentar solucionar todos los problemas principales de la plataforma y volver a trabajar en el modelo VCL MDI. Si bien aún se basa en la API de la plataforma central, se ha solucionado y abordado la mayoría de los problemas de la plataforma. Además, presenta una nueva opción para alojar formularios MDI (o cualquier formulario en general) en una interfaz de usuario basada en pestañas, como puede ver a continuación. Para cualquiera de los clientes que utilicen la interfaz de usuario de MDI, la próxima versión ofrecerá una bocanada de aire fresco, inyectando nueva vida a las aplicaciones. En particular, Embarcadero se ha centrado tanto en la compatibilidad con HighDPI como en la compatibilidad con estilos VCL, por lo que puede adoptar todas las funciones de modernización de VCL existentes también para aplicaciones MDI.

(arriba) El nuevo modelo MDI basado en pestañas

Y mucho más

Hay mucho más en lo que Embarcadero R&D está trabajando actualmente, en términos de bibliotecas, IDE, compiladores, actualizaciones de plataforma y acceso a bases de datos. El próximo lanzamiento de RAD Studio será un gran lanzamiento para los desarrolladores de C++, pero también será un lanzamiento muy significativo para los desarrolladores de Delphi, con mejoras en todas las áreas de productos.

Estén atentos para obtener más información en los próximos meses y con acceso beta temprano, comenzando con clientes con una suscripción Premium activa.

Descargo de responsabilidad: Todas las nuevas características y mejoras discutidas en esta publicación de blog para futuras versiones de RAD Studio no se confirman hasta que se completen y se lancen en GA.

https://blogs.embarcadero.com/whats-coming-in-delphi-and-cbuilder-libraries/

No hay comentarios.: