Si estás interesado en lo que está sucediendo en RAD Studio, es probable que hayas visto nuestro anuncio en términos de un enfoque renovado del lenguaje C++.
Como seguimiento de nuestras emocionantes actualizaciones de C++Builder, queríamos compartir algunos detalles sobre lo que hemos planeado para las otras partes del producto, en particular nuestras bibliotecas UI VCL y FireMonkey.
Una nueva base para FireMonkey: Skia
La biblioteca de interfaz de usuario multidispositivo y multiplataforma de RAD Studio se basa en el concepto de abstraer la representación real de los elementos de la interfaz de usuario, utilizando estilos. Los estilos se implementan utilizando algunos objetos y elementos gráficos primitivos, mapeados 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 soporta los controladores nativos de FireMonkey. Esta biblioteca se llama Skia y proporciona una potencia increíble para aplicaciones gráficas 2D de todo tipo, junto con un enfoque de rendimiento significativo. 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 aplicaciones FireMonkey hoy en día, utilizando 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 una representación más rápida, específicamente en Android, pero también una serie de características y componentes adicionales disponibles cuando se utiliza 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 se puede ver en el Inspector de objetos)
Modernización de VCL: El retorno de 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 proporcionado continuamente un fuerte soporte para la modernización de aplicaciones, como el soporte HighDPI, una arquitectura de estilo sofisticada, el uso de versiones más recientes de los controles de plataforma, la integración de la API de WinRT, el soporte de la implementación de MSIX y la integración del control WebView2 (el motor basado en Chromium del navegador Edge).
En los últimos años nos hemos alejado del soporte para el modelo MDI (la interfaz de documentos múltiples). Este es un paradigma de interfaz de usuario relativamente anticuado, basado en tener múltiples ventanas (que muestran el mismo tipo de contenido o diferentes tipos) 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 contenedor alrededor del soporte de la plataforma Windows, y ese soporte tiene muchos problemas en monitores HighDPI, por ejemplo.
Una aplicación MDI con compatibilidad total con estilos en DPI alto, que se muestra utilizando 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, hemos decidido que valía la pena intentar solucionar todos los problemas principales de la plataforma y volver a trabajar el modelo VCL MDI. Aunque todavía nos basamos en la API de la plataforma central, hemos trabajado y abordado la mayoría de los problemas de la plataforma.
Además, estamos introduciendo 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 nuestros clientes que utilicen la interfaz de usuario de MDI, la próxima versión ofrecerá un soplo de aire fresco, inyectando nueva vida en las aplicaciones. En particular, nos hemos centrado tanto en el soporte de HighDPI como en el soporte de estilos VCL, para que pueda adoptar todas las características de modernización de VCL existentes también para aplicaciones MDI.
El nuevo modelo MDI basado en pestañas
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. La próxima versión de RAD Studio será una gran versión para los desarrolladores de C ++, pero también será una versión muy significativa para los desarrolladores de Delphi, con mejoras en todas las áreas de productos..
Manténgase atento para obtener más información en los próximos meses y acceso beta temprano, comenzando con nuestros 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 publique GA.