![b2ap35F00thumbnail5F00roadmapjpg | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/08/b2ap3_5F00_thumbnail_5F00_roadmap.jpg?resize=400%2C309&ssl=1)
por Marco Cantu, David Millington y Sarina DuPont
Table of Contents
Introducción
El equipo de administración de productos de Embarcadero RAD Studio actualiza periódicamente la hoja de ruta de desarrollo de productos para Delphi, C ++ Builder y RAD Studio. Como puede ver en nuestra publicación de blog sobre la hoja de ruta oficial, acabamos de lanzar una nueva versión de la hoja de ruta, que cubre las funciones clave que hemos planeado para los próximos 12 meses. Junto con las diapositivas oficiales de la hoja de ruta, queríamos ofrecer más detalles, información y conocimientos con esta publicación de blog adicional. Puede resultarle útil abrir las diapositivas como referencia mientras lee la información ampliada que proporcionamos aquí.
En nuestra hoja de ruta, puede encontrar las funciones clave que hemos planeado para el año calendario 2021. Antes de llegar a los detalles de nuestra hoja de ruta actualizada, queremos recapitular lo que hemos entregado hasta ahora.
A principios de este año, lanzamos 10.4 Sydney. La versión 10.4 fue muy bien recibida por nuestros clientes e incluyó la primera entrega de nuestra reescritura completa del motor Delphi Code Insight, ahora basado en la arquitectura del protocolo Language Server, un nuevo depurador para C ++ Win64, que abordó una solicitud de un cliente de larga data. y nuevas características del lenguaje Delphi, como registros administrados personalizados. También ampliamos significativamente el caso de uso de los estilos VCL con soporte para monitores HighDPI y estilo por control.
Hicimos un seguimiento de la versión 10.4 de Sydney con 10.4.1 en septiembre de 2020, que se centró principalmente en la calidad y mejoras adicionales de las funciones entregadas en 10.4, en particular, la compatibilidad con Delphi LSP recién agregada. 10.4.1 incluye más de 800 mejoras de calidad, incluidas más de 500 mejoras de calidad para problemas informados públicamente en el portal de calidad de Embarcadero.
Antes de entrar en detalles sobre las versiones 10.4.2 y 10.5, queríamos resaltar que 10.4 / 10.4.1 ha sido una de nuestras versiones más populares hasta la fecha, con más descargas en comparación con 10.3 y 10.2. Esto es especialmente impresionante en medio de COVID-19. Atribuimos el éxito tanto al lanzamiento como a nuestro mayor compromiso con los socios tecnológicos que continúan colaborando con nuestro equipo para actualizar y desarrollar nuevas funciones. También queremos agradecerles a ustedes, nuestros clientes, por los excelentes comentarios que han brindado al equipo de productos, en términos de características que le gustaría ver agregadas y áreas en las que le gustaría que nos enfocamos en calidad y su participación. en nuestros programas beta (que es uno de los beneficios de estar suscrito).
Actualmente, estamos trabajando en la versión 10.4.2, planificada para la primera parte del año calendario 2021 y detallada en la hoja de ruta y en esta publicación de blog de comentarios. En algún momento antes del lanzamiento, esperamos invitar a los clientes de RAD Studio, Delphi y C ++ Builder con una suscripción de actualización activa a unirse a las pruebas beta para el próximo lanzamiento. La versión beta 10.4.2 será una NDA beta, que requiere que los participantes firmen nuestro acuerdo de no divulgación antes de poder participar en la versión beta. Ser capaz de unirse a las versiones beta y participar en el suministro de comentarios a la gestión de productos al principio del ciclo de desarrollo es uno de los beneficios de estar al día con la suscripción de actualizaciones.
Para 10.5, planeamos presentar una nueva plataforma de destino para Delphi, macOS ARM (basado en CPU de Apple Silicon), trabajo significativo en torno al soporte IDE HighDPI, extensiones de cadena de herramientas C ++ y muchas otras características adicionales y mejoras de calidad. Consulte a continuación para obtener más detalles.
Cronología de la hoja de ruta de RAD Studio
Antes de llegar a los detalles de las funciones en las que el equipo de desarrollo está trabajando hoy o investigando para el futuro, echemos un vistazo a la línea de tiempo de los próximos lanzamientos como se muestra en la diapositiva principal de la hoja de ruta:
Comentario de David de los planes 10.4.2
Información del código Delphi
Como escribió Marco anteriormente, en 10.4.1 nos centramos mucho en la calidad. Eso continúa en 10.4.2, con un área de trabajo significativo que es el nuevo Delphi Code Insight (también conocido como Delphi LSP). No solo 10.4.2 incluirá muchas correcciones y ajustes, así como características de información de código menos utilizadas que no incluimos. incluir en la versión inicial, pero también algunas características nuevas o significativamente mejoradas en la finalización del código. Por ejemplo, planeamos agregar ctrl-clic en “heredado”, así como la finalización modificada en las cláusulas de “usos”, entre otras.
Información sobre el código C ++
C ++ también continúa el tema del trabajo continuo de calidad, con un enfoque en dos áreas.
Lo más notorio para todos los clientes de C ++ será una revisión completa de la finalización del código C ++ al usar los compiladores de Clang. En 10.3, cuando actualizamos a C ++ 17, tuvimos que reemplazar la tecnología de finalización de código que usaba el IDE. Desde su introducción, hemos mejorado la finalización del código en cada versión, abordando casos de uso en los que patrones de código específicos o configuraciones de proyectos podrían causar problemas de finalización.
Para 10.4.2, decidimos llevar a cabo una revisión completa de la finalización del código para C ++, para proporcionar la productividad de desarrollador que los clientes buscan. Los clientes de C ++ deberían encontrar que la finalización de código y la navegación funcionan bien y de manera confiable.
Incluso hemos abordado algunos casos más difíciles, como proporcionar la finalización en un archivo de encabezado (mucho más difícil que en un archivo .cpp). El resultado final debe ser todo lo que nos ha pedido.
Manejo de excepciones y calidad de C ++
El otro enfoque de calidad significativo para C ++ en 10.4.2 es el manejo de excepciones.
El manejo de excepciones es un área compleja que requiere una estrecha interoperabilidad entre el compilador y RTL para funcionar correctamente. Existen convenciones comunes para las excepciones, como nunca permitir que una excepción cruce el límite de un módulo (por ejemplo, ser lanzada en una DLL pero atrapada en un EXE), pero estas no siempre se siguen, a veces por buenas razones. En C ++, necesitamos manejar las excepciones de C ++, las excepciones del sistema operativo y SEH, sin olvidar también el manejo de excepciones de Delphi.
En 10.4.2, hemos revisado el sistema de manejo de excepciones. A medida que nos acercamos al lanzamiento, esperamos una publicación de blog que detalle los escenarios que admitimos. Internamente, ¡estamos viendo algunas grandes mejoras actualmente!
IDE
Además del enfoque en la finalización del código para ambos lenguajes, el IDE tiene algún otro trabajo planeado para 10.4.2.
En 10.3, presentamos los dos temas actuales, un estilo claro y oscuro (de hecho, un estilo oscuro, aunque significativamente diferente, se introdujo por primera vez en 10.2.3. Era una de nuestras características más populares). El estilo claro es predominantemente azul pálido. En esta versión, agregamos un tercer estilo, uno que utiliza el gris tradicional, no el azul, para los colores principales. Considérelo un estilo retro para aquellos a quienes les gusta cómo se veía el IDE en la era 2010-XE7, una devolución de llamada al aspecto clásico. También creemos que puede ser útil para quienes requieren adaptaciones especiales para la vista.
También planificamos un trabajo de calidad adicional en torno a diseños de escritorio, diseños de varios monitores, diseño de formularios y áreas similares. Esto incluye permitirle diseñar su formulario en el diseñador de formularios al mismo tiempo que tiene abierto el código para ese formulario. Según los comentarios, esta fue la razón más común para usar el antiguo diseñador desacoplado, que eliminamos en 10.4.1, y nos complace permitirle codificar y diseñar en una unidad de formulario utilizando el diseñador moderno.
Finalmente, queremos mejorar la herramienta de migración de configuraciones, para ayudar a mover la configuración de RAD Studio de una versión a otra (como de 10.3 a 10.4) y para preservar mejor su configuración al pasar a una versión de actualización (como de 10.4.1 a 10.4.2 ). Planeamos agregar configuraciones preestablecidas específicas para cada escenario e incluir archivos de configuración además de las configuraciones de registro consideradas hoy.
Comentario de Marco de los planes 10.4.2
En términos de sistemas operativos objetivo, actualmente estamos enfocados en mejorar las plataformas existentes compatibles con 10.4.xy hay dos áreas de enfoque en las que estamos trabajando para 10.4.2.
El primero es parte de nuestro enfoque continuo en Windows como nuestro objetivo principal. En el sistema operativo de Microsoft, estamos siguiendo de cerca la dirección actual de Microsoft de unificar la API WinRT y la API Win tradicional, a través de Project Reunion. Project Reunion (https://github.com/microsoft/ProjectReunion) comprende diferentes tecnologías, siendo las iniciales WinUI 3, WebView2 y MSIX.
El control WebView2 es un nuevo componente de la plataforma de Windows que incorpora Edge Chromium. Hemos brindado soporte para esta función en 10.4 con el componente TEdgeBrowser VCL.
El segundo bloque de construcción será el soporte para el formato de empaquetado MSIX que estamos planeando para 10.4.2. MSIX es el sucesor de APPX, un objetivo que ofrecemos actualmente como parte de la integración de RAD Studio IDE Desktop Bridge, y está diseñado para Microsoft Store y para implementación empresarial.
Otra área de nuestro soporte mejorado para la plataforma Windows, y en particular para las aplicaciones VCL, es la adición de dos nuevos controles destinados a ayudar a nuestros clientes a modernizar y mejorar la UX de sus aplicaciones. Estamos trabajando en nuevos controles nativos de Windows VCL, para que pueda proporcionar una interfaz de usuario más moderna a sus clientes:
- Una es una vista de lista virtual altamente optimizada, que le permitirá mostrar una gran cantidad de elementos con una combinación flexible de texto y gráficos. El control se basará libremente en el enfoque del control DBCtrlGrid existente, pero sin requerir una fuente de datos. Admitirá el uso de Live Bindings.
- El otro componente nuevo de VCL que estamos agregando es un control de entrada numérico, similar al control de plataforma WinUI NumberBox. Este control proporciona una entrada numérica más fácil y fluida, teniendo en cuenta diferentes formatos (enteros, números de coma flotante, valores de moneda) y también incluye la evaluación de expresiones simples.
La segunda parte de nuestras mejoras se centra en las plataformas de destino compatibles actualmente. Planeamos ofrecer compatibilidad total con las nuevas versiones de los sistemas operativos lanzados por Apple y Google después de que saliera RAD Studio 10.4.1. Si bien puede apuntar a estas plataformas hoy, hay algunos problemas abiertos que queremos abordar de manera adecuada (en lugar de soluciones alternativas). El objetivo es tener un soporte completo para:
- iOS 14 y iPadOS 14 (Delphi y C ++)
- macOS 11.0 Big Sur (Intel) (Delphi)
- Android 11 (Delphi)
En términos de calidad, continuaremos con un esfuerzo significativo en estabilidad, rendimiento y calidad en 10.4.2 (como hicimos en 10.4.1). Planeamos abordar los problemas reportados por los clientes y las escaladas de soporte en muchas áreas del producto. Las herramientas y bibliotecas en las que nos centraremos especialmente, además de las enumeradas anteriormente por David, incluyen:
- El compilador Delphi (para todas las plataformas) para mejorar su robustez y compatibilidad con versiones anteriores, pero un enfoque particular y profundo en el rendimiento del compilador (y enlazador) para reducir el tiempo de compilación para proyectos grandes y también acelerar el motor LSP (que utiliza el compilador para analizar el código fuente).
- La biblioteca del cliente SOAP junto con la herramienta de importación WSDL que genera el código del cliente que se utiliza para interactuar con los servidores SOAP.
- La biblioteca de programación paralela (PPL), que ofrece una gran abstracción de las diferentes plataformas y capacidades de subprocesamiento de CPU de múltiples núcleos, en términos de tareas, futuros y bucles for paralelos
- Las soluciones de servicios web de varios niveles forman parte de RAD Studio, con mejoras tanto en RAD Server como en el motor DataSnap más antiguo, y mejoras generales en las bibliotecas cliente HTTP y REST. También vamos a seguir centrándonos en nuestro soporte en la nube de Azure y AWS.
- Los estilos VCL y los estilos HighDPI recibirán una atención especial, junto con VCL en general.
- Para la biblioteca FireMonkey, continuamos mejorando los componentes TMemo (tanto en la plataforma como en las versiones con estilo), el controlador de la biblioteca Metal GPU introducido en 10.4 y la gestión de sensores de reelaboración en Android, para ofrecer un mejor soporte para una variedad de dispositivos Android.
RAD Studio 10.5
Como referencia, aquí está nuevamente la diapositiva principal de la hoja de ruta:
Comentario de David de los planes 10.5
Experiencia de usuario
Tenemos una serie de excelentes funciones nuevas, que muchos clientes esperan con ansias, planificadas para 10.5.
En primer lugar, planificamos el soporte completo de DPI alto en el IDE. El VCL ha admitido un DPI alto durante un par de versiones, y el IDE de RAD Studio, que utiliza principalmente el VCL, ahora también admitirá un DPI alto. Esto asegura que se renderizará nítidamente en todas las pantallas modernas de alta resolución, incluso cuando mueva ventanas a través de pantallas con diferentes resoluciones y escalas.
El diseñador de formularios VCL es una de las herramientas clave que utiliza al crear su aplicación. El objetivo del diseñador es crear rápidamente una interfaz de usuario viendo de cerca cómo se verá cuando se ejecute su aplicación, en contraste con las herramientas de interfaz de usuario que describen una interfaz de usuario solo en texto y no proporcionan un bucle de iteración / retroalimentación inmediata. En la versión 10.5, planeamos extender ese elemento de apariencia similar a cómo se verá su aplicación cuando se ejecute agregando soporte de estilo VCL al diseñador, de modo que cuando cualquiera de sus controles tenga estilo, también los verá en el diseñador.
El diseñador de formularios FMX es igualmente una herramienta clave cuando se crea una aplicación multiplataforma. Planeamos incorporar algunas de las herramientas de diseño que tiene el diseñador de VCL, como guías de alineación, para garantizar que el diseñador tenga las características de productividad que necesita.
También planeamos enfocarnos en la integración del control de fuente del IDE, para ayudar a la colaboración de su equipo. Además, planeamos algunas mejoras en la forma en que se presenta el IDE cuando se ejecuta por primera vez, para ayudar a los nuevos en Delphi y C ++ Builder a comenzar.
Finalmente, muchos clientes usan Delphi o C ++ Builder en un servidor de compilación dedicado. Junto con el control de código fuente, las pruebas y prácticas similares, es una buena práctica que las compilaciones oficiales se realicen en una máquina o VM específica. Actualmente, para instalar RAD para un servidor de compilación, debe instalar el IDE completo, pero esto no debería ser necesario, porque la compilación solo necesita las herramientas de línea de comandos. Planeamos un escenario de instalador específicamente para servidores de compilación.
Constructor de C ++
En 10.4.0, presentamos un nuevo depurador para C ++ Win64. Esto resolvió una solicitud común de los clientes, especialmente porque incluimos “formateadores”, una forma de evaluar fácilmente el contenido de los contenedores STL o cualquier estructura de datos, incluida la suya. Este era un depurador completamente nuevo, no una nueva versión del que usamos anteriormente. En la versión 10.5, planeamos un reemplazo nuevo similar para otra herramienta principal, el enlazador. Al igual que el depurador, será para Win64.
Notará un enfoque en Windows de 64 bits aquí. Muchos clientes están usando Clang para apuntar a Win64, y queremos asegurarnos de que nuestras herramientas estén a la par o sean mejores que las herramientas a las que puede estar acostumbrado del compilador clásico. Además, muchas personas están comenzando a mirar exclusivamente a 64 bits, con las aplicaciones de 32 bits actualizadas y las nuevas aplicaciones solo de 64 bits.
Visual Assist es una increíble extensión de productividad para Visual C ++, que brinda finalización de código, refactorizaciones y más. Hemos estado investigando varias formas de integrarlo en C ++ Builder y planeamos hacerlo en la versión 10.5.
Finalmente, también planeamos mejorar la interoperabilidad de Delphi / C ++. Poder usar dos lenguajes es un gran impulso de productividad y una de las razones clave para usar C ++ Builder o RAD Studio, y esto es un trabajo para pulir esa integración. Debería proporcionar una integración más fluida con las funciones RTL.
Depurador de Delphi
En 10.4, presentamos un depurador completamente nuevo para C ++ Win64 (mencionado anteriormente) basado en LLDB. En última instancia, nuestro objetivo es utilizar el mismo depurador en todas las plataformas; hoy utilizamos una combinación de depuradores diferentes. La clave para esto es agregar una interfaz de lenguaje Delphi a LLDB, que le permite evaluar la sintaxis de Delphi en, por ejemplo, el diálogo Evaluar / Modificar. Planeamos presentar la primera plataforma que usa LLDB con esta nueva interfaz en 10.5.
Comentario de Marco sobre los planes 10.5
Plataformas
Con respecto a la plataforma Windows, como se mencionó anteriormente, planeamos ofrecer soporte para las diversas tecnologías que forman parte de Microsoft Project Reunion. En particular, en la versión RAD Studio 10.5, esperamos integrar el soporte para Windows UX moderno a través de la biblioteca WinUI 3. De acuerdo con la hoja de ruta de Microsoft para la biblioteca, debería ser posible utilizar los componentes de esta biblioteca en una aplicación nativa basada en la API clásica, mezclando formas y controles de diferentes tipos. Los detalles reales dependerán de lo que ofrecerá la biblioteca en términos de integración con aplicaciones nativas, pero nuestro plan actual es integrar esta biblioteca en la VCL con nuevos controles específicos.
Hablando de plataformas, queremos agregar un nuevo objetivo para las aplicaciones Delphi: un nuevo compilador para la versión basada en ARM del sistema operativo macOS con hardware Apple impulsado por CPU Apple Silicon. Si bien puede ejecutar aplicaciones Intel, el objetivo es tener una aplicación ARM nativa para la nueva generación de Mac.
Esta será una extensión significativa de Delphi, que incluye un nuevo compilador, actualizaciones de la biblioteca en tiempo de ejecución y las diversas bibliotecas de alto nivel. También tenemos planes de expandir la sintaxis del lenguaje Delphi para todas las plataformas y mejorar el rendimiento del código de procesamiento matemático que genera el compilador en Windows, haciendo que las aplicaciones sean más rápidas en el procesamiento numérico.
También continuaremos trabajando en la calidad general del producto y planearemos seleccionar algunos subsistemas en los que enfocarnos, una decisión que tomaremos al evaluar los comentarios de los clientes sobre la versión actual y las próximas actualizaciones.
Resumen
¡Tenemos grandes planes para las próximas versiones de Delphi, C ++ Builder y RAD Studio! Desde cambios emocionantes para completar el código para ambos lenguajes, hasta un IDE de alto DPI, mejoras de productividad al codificar y diseñar, interfaz de usuario de Windows y nuevos componentes VCL, depuración de Delphi, soporte de Apple Silicon (M1) para Delphi, trabajo de calidad para los compiladores, Delphi y C ++ RTL, SOAP, multinivel y más, un nuevo enlazador para C ++: las próximas versiones contienen un trabajo realmente emocionante. ¡Estamos ansiosos por enviárselos!
Nota: Estos planes y la hoja de ruta representan nuestras intenciones a esta fecha, pero nuestros planes de desarrollo y prioridades están sujetos a cambios. En consecuencia, no podemos ofrecer ningún compromiso u otra forma de garantía de que finalmente lanzaremos alguno o todos los productos descritos en el cronograma o en el orden descrito, o en absoluto. Estas indicaciones generales de cronogramas de desarrollo o “hojas de ruta de productos” no deben interpretarse ni interpretarse como ninguna forma de compromiso, y los derechos de nuestros clientes a las actualizaciones, actualizaciones, mejoras y otras versiones de mantenimiento se establecerán únicamente en el acuerdo de licencia de software correspondiente. .
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition