David Millington (director de producto sénior), Atanas Popov (director general, herramientas de desarrollo), Kyle Wheeler (director general, C ++)
Durante el año pasado, muchos clientes nos preguntaron sobre nuestros planes para continuar con el soporte multiplataforma y multidispositivo en C ++ Builder. Nos gustaría brindarle una actualización de nuestros planes.
Table of Contents
Descripción general de la plataforma
Priorizamos el trabajo de VCL para C ++ Builder frente a FMX, lo que nos retrasa en nuestro soporte de plataforma. Actualmente, C ++ Builder 10.4 admite:
- Windows 32 y 64 bits en VCL y FMX
- iOS de 64 bits en FMX
- Android de 32 bits en FMX
Los más afectados ya deberían saber lo siguiente, pero para ser claros: el 1 de agosto, la fecha límite de Google para las aplicaciones de 32 bits entrará en vigencia y si desea continuar actualizando sus aplicaciones en Play Store, deberá volver a compilarlas. como Android de 64 bits. Actualmente, C ++ Builder no es compatible con esta plataforma. No ofreceremos compatibilidad con Android de 64 bits antes del 1 de agosto, ni en C ++ Builder 10.4.1 (2020.)
Vale la pena señalar que las aplicaciones de Android de 32 bits todavía son completamente funcionales; de hecho, lanzamos una revisión para 10.4 que resuelve problemas de manejo de excepciones de Android de 32 bits de C ++ hace unos días . Los dispositivos Android aún admiten aplicaciones de 32 bits; Solo Play Store tiene la limitación de 64 bits , lo que significa que las aplicaciones internas o las aplicaciones de carga lateral siguen siendo completamente funcionales.
Tampoco hemos programado la compatibilidad con macOS de 64 bits para 2020. Cuando lo hagamos, es probable que pasemos directamente a la compatibilidad con ARM (Apple Silicon).
Si Android de 64 bits es importante para usted, RAD Studio con Delphi es totalmente compatible. Contáctenos hoy para discutir un descuento y hacer el cambio.
Plataformas y comentarios de los clientes
En marzo de 2019, enviamos una encuesta a los clientes. Los comentarios generales de nuestros clientes de C ++ Builder en esa encuesta fueron para pedirnos que nos centráramos en Windows y la calidad de Windows: calidad del compilador, STL e IDE (incluida la finalización del código).
La mayoría de nuestros clientes de C ++ Builder se dirigen únicamente a Windows y utilizan VCL. Lo hacen gracias al rendimiento de VCL y los controles nativos, y los nuevos controles que ofrecemos; Además, Microsoft ha creado presión para actualizar a Windows 10 y nuestro soporte de Windows 10 es muy útil para las aplicaciones que migran o para aquellos que buscan un entorno de aplicaciones de interfaz de usuario de alta calidad para Windows 10.
La estrategia en la que esto nos puso fue clara: centrarse en Windows y asegurarse de que cumpliera con sus expectativas, antes de trabajar en otras plataformas. Por esta razón, eliminamos la compatibilidad con macOS Catalina de la hoja de ruta y, desde entonces, hemos estado trabajando en la calidad de Windows antes que en la compatibilidad con Android de 64 bits.
Calidad de Windows
Somos muy conscientes de que desde nuestra actualización de Clang en noviembre de 2018, la calidad para Windows, incluidas las herramientas IDE, no ha sido lo que queremos ofrecer.
Entonces, ¿cuál es nuestro plan? ¿A qué nos dirigimos?
Tenemos problemas de larga data en torno a la finalización del código, el vinculador, algunas clases STL y algunos ICE de compiladores. Además, existen características de productividad IDE que queremos proporcionar para garantizar que C ++ Builder supere a otros IDE en términos de productividad. Nuestro objetivo para Windows es el siguiente:
Por calidad:
- Para proporcionar finalización de código completamente funcional y otras características de Code Insight
- Para resolver completamente todos los problemas del vinculador, posiblemente a través de un vinculador completamente nuevo
- Para resolver problemas de STL
- Para proporcionar una excelente compatibilidad de C ++ con las bibliotecas comunes de C ++, lo que significa que tenemos una excelente compatibilidad con otras cadenas de herramientas.
Para características:
- Para proporcionar más herramientas de código, como refactorizaciones, mediante la integración de Visual Assist, lo que significa que C ++ Builder tendrá herramientas de productividad más sólidas que incluso Visual Studio.
- Para proporcionar compatibilidad con el lenguaje C ++ 17 o superior
- Para proporcionar una velocidad de compilación mucho más rápida y acelerada, especialmente para proyectos grandes
El objetivo final aquí es asegurar que (a) las cosas funcionen como usted quiere y espera, y (b) ambos somos compatibles con C ++ general (lo que le ayuda) y superamos a otras herramientas en productividad. Nuestras bibliotecas, como la VCL, son líderes en el mundo: tener la productividad IDE también en ese nivel hará que C ++ Builder sea una fuerza significativa.
Si bien aún no hemos llegado allí, esa estrategia explica nuestro enfoque y lo que hemos logrado desde esa encuesta. Analicemos tanto lo que hemos entregado como lo que hemos planeado, con algunos comentarios que los expliquen a la luz de lo anterior.
Mejoras
En el tiempo transcurrido desde esa encuesta, hemos entregado:
- Windows de 64 bits C ++ 17, lo que significa que puede apuntar a Windows de 32 y 64 bits con C ++ moderno
- Una versión moderna de Boost (hasta entonces, enviamos Boost 1.55): Boost 1.68 para 10.3 y Boost 1.70 para 10.4 hoy
- Una gran cantidad de estabilidad del compilador, métodos RTL, correcciones de STL, correcciones de vinculadores y más para la cadena de herramientas en general, incluida la compatibilidad con el compilador clásico, lo que significa que la actualización del Clang clásico antiguo al moderno es mucho más fácil de lo que solía ser.
- Varias bibliotecas de código abierto populares en GetIt. Además de facilitar su uso, han sido excelentes casos de prueba para encontrar RTL u otras áreas en las que no éramos compatibles con otras cadenas de herramientas. (A menudo usamos métodos o enfoques POSIX en nuestros encabezados, incluso en Windows; además, muchos encabezados en bibliotecas de C ++ comunes están escritos para asumir compiladores específicos). Esto incluye libsimdpp, Eigen, NemaTode, SDL 2 y otros, y resolvió muchos problemas de compatibilidad. problemas a través de ese trabajo, lo que le brinda una capacidad mucho mayor para incorporar bibliotecas externas de C ++ y fuentes
- Se actualizó el soporte de CMake para mejorar características como la vinculación de recursos, así como el manejo automático de configuraciones para otros compiladores para nuestra cadena de herramientas, lo que nuevamente aumenta la compatibilidad.
- Un depurador completamente nuevo para Windows de 64 bits, que abordó problemas de depuración para Clang, una clase completa de problemas comunes que depuran C ++ en general. Esto hace que la depuración con Clang esté a la par con la depuración con Classic para Win64.
En el futuro, planeamos ofrecer:
- Correcciones del vinculador, incluidos cambios en el almacenamiento y vinculación del formato de depuración, lo que reduce la carga de memoria al vincular compilaciones de depuración. Se están investigando cambios significativamente mayores en el enlazador.
- Visual Assist para C ++ Builder, agregando refactorizaciones y otras herramientas al IDE
- STL actualizado, eliminando errores de STL
- Integración de CMake en el IDE
- Finalización de código fijo para C ++
- Compilación en paralelo, lo que reduce el tiempo que lleva construir su proyecto en función de cuántas CPU tiene disponibles, es decir, 4x, 8x o incluso más rápido
Resumen
Nuestros clientes de C ++ Builder nos han pedido que nos centremos en Windows y la calidad, y eso es lo que estamos haciendo. Nos estamos enfocando en brindarle desarrollo de Windows de alta calidad, especialmente con un enfoque en la productividad de IDE para igualar nuestra productividad de UI existente, así como en resolver problemas importantes. Esto significa que no tendremos soporte para Android de 64 bits o macOS en el corto plazo (6-9 meses). Sin embargo, estamos trabajando, y ya hemos entregado, algunas mejoras importantes para Windows. Otros elementos, como la integración de Visual Assist, son interesantes para hacer que C ++ Builder lidere la productividad de otros IDE. Entendemos que esta priorización puede afectar a algunos de ustedes de manera negativa, por lo que nos disculpamos. Creemos que centrarse en la calidad y Windows es lo correcto hoy para asegurarnos de ofrecerle el producto que desea y necesita.
Una vez que tengamos confianza en las mejoras de calidad y el conjunto de características para el desarrollo de Windows, reevaluaremos el panorama y tomaremos los pasos apropiados para abordar otras plataformas y características. ¡Esté atento a los próximos lanzamientos y manténgase en contacto con otros comentarios o solicitudes!
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 liberaremos alguno o todos los productos descritos en el cronograma o en el orden descrito, o en absoluto. Estas indicaciones generales de programas 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