David Millington (Senior Product Manager), Atanas Popov (General Manager, Developer Tools), Kyle Wheeler (General Manager, C ++)
Au cours de l’année écoulée, de nombreux clients nous ont posé des questions sur nos projets de poursuivre la prise en charge multiplateforme multi-appareils dans C ++ Builder. Nous aimerions vous fournir une mise à jour sur nos plans.
Table of Contents
Aperçu de la plateforme
Nous avons priorisé le travail de VCL pour C ++ Builder vers FMX, ce qui nous met en retard sur notre support sur le support de plate-forme. Actuellement, C ++ Builder 10.4 prend en charge:
- Windows 32 et 64 bits en VCL et FMX
- iOS 64 bits dans FMX
- Android 32 bits dans FMX
Les plus touchés devraient déjà savoir ce qui suit, mais pour être clair: le 1er août, la date limite de Google pour les applications 32 bits entrera en vigueur et si vous souhaitez continuer à mettre à jour vos applications sur le Play Store, vous devrez les recompiler. comme Android 64 bits. C ++ Builder ne prend actuellement pas en charge cette plate-forme. Nous ne fournirons pas de support Android 64 bits d’ici le 1er août, ni dans C ++ Builder 10.4.1 (2020.)
Il convient de noter que les applications Android 32 bits sont toujours entièrement fonctionnelles – en fait, nous avons publié un correctif pour 10.4 résolvant les problèmes de gestion des exceptions C ++ Android 32 bits il y a quelques jours . Les appareils Android prennent toujours en charge les applications 32 bits; seul le Play Store a la limitation 64 bits , ce qui signifie que les applications internes ou les applications chargées de côté restent pleinement fonctionnelles.
Nous n’avons pas non plus prévu de prise en charge de macOS 64 bits pour 2020. Lorsque nous le ferons, nous passerons probablement directement à la prise en charge d’ARM (Apple Silicon).
Si Android 64 bits est important pour vous, RAD Studio avec Delphi est entièrement compatible. Contactez-nous aujourd’hui pour discuter d’une réduction et effectuer le changement.
Commentaires des clients et plateformes
En mars 2019, nous avons envoyé une enquête client. Le retour global de nos clients C ++ Builder dans cette enquête était de nous demander de nous concentrer sur la qualité Windows et Windows: qualité du compilateur, STL et IDE (y compris l’achèvement du code).
La majorité de nos clients C ++ Builder ciblent uniquement Windows, en utilisant la VCL. Ils le font en raison des performances de VCL, des contrôles natifs et des nouveaux contrôles que nous proposons; De plus, Microsoft a créé une pression pour mettre à niveau vers Windows 10 et notre prise en charge de Windows 10 est très utile pour les applications qui migrent ou pour ceux qui recherchent un environnement d’application d’interface utilisateur de haute qualité pour Windows 10.
La stratégie que cela nous a mise en place était claire: se concentrer sur Windows et s’assurer qu’il répondait à vos attentes, avant de travailler sur d’autres plates-formes. Pour cette raison, nous avons supprimé la prise en charge de macOS Catalina de la feuille de route et depuis, nous travaillons sur la qualité de Windows avant la prise en charge d’Android 64 bits.
Qualité Windows
Nous sommes très conscients que depuis notre mise à niveau de Clang en novembre 2018, la qualité pour Windows, y compris les outils IDE, n’a pas été ce que nous voulons offrir.
Alors quel est notre plan? Que faisons-nous face?
Nous avons des problèmes de longue date concernant la complétion du code, l’éditeur de liens, certaines classes STL et certains ICE du compilateur. De plus, nous souhaitons fournir des fonctionnalités de productivité IDE pour garantir que C ++ Builder surpasse les autres IDE en termes de productivité. Notre objectif pour Windows est le suivant:
Pour la qualité:
- Pour fournir une complétion de code entièrement fonctionnelle et d’autres fonctionnalités de Code Insight
- Pour résoudre complètement tous les problèmes liés à l’éditeur de liens, éventuellement via un nouvel éditeur de liens
- Pour résoudre les problèmes de STL
- Pour fournir une excellente compatibilité C ++ avec les bibliothèques C ++ courantes, ce qui signifie que nous avons une excellente compatibilité avec d’autres chaînes d’outils
Pour les fonctionnalités:
- Pour fournir des outils de code supplémentaires, tels que des refactorisations, en intégrant Visual Assist, ce qui signifie que C ++ Builder aura des outils de productivité plus puissants que même Visual Studio
- Pour fournir une prise en charge du langage C ++ 17 ou supérieur
- Pour fournir une vitesse de compilation beaucoup plus rapide et accélérée, en particulier pour les grands projets
Le but ultime ici est de s’assurer que (a) les choses fonctionnent comme vous le souhaitez et que vous vous en attendez, et (b) nous sommes à la fois compatibles avec le C ++ général (ce qui vous aide) et surpassons les autres outils de productivité. Nos bibliothèques, comme la VCL, sont à la pointe du monde – avoir une productivité IDE également à ce niveau fera de C ++ Builder une force significative.
Bien que nous n’en soyons pas encore là, cette stratégie explique notre objectif et ce que nous avons accompli depuis cette enquête. Examinons à la fois ce que nous avons livré et ce que nous avons prévu, avec quelques commentaires qui les expliquent à la lumière de ce qui précède.
Améliorations
Depuis cette enquête, nous avons livré:
- Windows 64 bits C ++ 17, ce qui signifie que vous pouvez cibler Windows 32 et 64 bits avec C ++ moderne
- Une version moderne de Boost (jusque-là, nous avons livré Boost 1.55): Boost 1.68 pour 10.3 et Boost 1.70 pour 10.4 aujourd’hui
- Un grand nombre de stabilité du compilateur, de méthodes RTL, de correctifs STL, de correctifs de liens, et plus encore pour l’ensemble de la chaîne d’outils, y compris la compatibilité avec le compilateur classique, ce qui signifie que la mise à niveau de l’ancien classique au moderne Clang est beaucoup plus facile qu’auparavant.
- Un certain nombre de bibliothèques open source populaires sur GetIt. En plus de les rendre faciles à utiliser, ils ont été d’excellents cas de test pour trouver RTL ou d’autres domaines où nous n’étions pas compatibles avec d’autres chaînes d’outils. (Nous utilisons souvent des méthodes ou des approches POSIX dans nos en-têtes, même sous Windows; également, de nombreux en-têtes dans les bibliothèques C ++ communes sont écrits pour supposer des compilateurs spécifiques.) Cela inclut libsimdpp, Eigen, NemaTode, SDL 2 et d’autres, et a résolu de nombreuses compatibilités problèmes par le biais de ce travail, ce qui vous permet d’apporter des bibliothèques et des sources C ++ externes
- Mise à jour de la prise en charge de CMake pour améliorer des fonctionnalités telles que la liaison de ressources, ainsi que la gestion automatique des configurations pour d’autres compilateurs pour notre chaîne d’outils – augmentant à nouveau la compatibilité
- Un tout nouveau débogueur pour Windows 64 bits, qui a résolu les problèmes de débogage pour Clang, toute une classe de problèmes courants de débogage de C ++ en général. Cela rend le débogage avec Clang au même niveau que le débogage avec Classic pour Win64.
À l’avenir, nous prévoyons de fournir:
- Correctifs de l’éditeur de liens, y compris les modifications apportées au stockage et à la liaison du format de débogage, réduisant la charge mémoire lors de la liaison des versions de débogage. En cours de recherche, des changements significativement plus importants dans l’éditeur de liens.
- Visual Assist pour C ++ Builder, ajout de refactorisations et d’autres outils à l’EDI
- Mise à jour de la STL, suppression des bogues STL
- Intégration de CMake dans l’EDI
- Correction de l’achèvement du code pour C ++
- Compilation parallèle, réduisant le temps nécessaire à la construction de votre projet en fonction du nombre de processeurs dont vous disposez, c’est-à-dire 4x, 8x ou même plus rapide
Sommaire
Nos clients C ++ Builder nous ont demandé de nous concentrer sur Windows et la qualité, et c’est ce que nous faisons. Nous nous concentrons sur la fourniture d’un développement Windows de haute qualité pour vous, en particulier en mettant l’accent sur la productivité de l’EDI pour correspondre à la productivité de notre interface utilisateur existante, ainsi que sur la résolution de problèmes importants. Cela signifie que nous n’aurons pas de support Android 64 bits ou macOS à court terme (6-9 mois). Cependant, nous travaillons et avons déjà apporté d’importantes améliorations à Windows. D’autres éléments, comme l’intégration de Visual Assist, sont intéressants pour faire de C ++ Builder une avance sur la productivité des autres IDE. Nous comprenons que cette hiérarchisation peut avoir un impact négatif sur certains d’entre vous, ce dont nous nous excusons. Nous pensons que se concentrer sur la qualité et Windows est la bonne chose aujourd’hui pour garantir que nous vous fournissons le produit que vous voulez et dont vous avez besoin.
Une fois que nous aurons confiance dans les améliorations de la qualité et l’ensemble des fonctionnalités pour le développement Windows, nous réévaluerons le paysage et prendrons les mesures appropriées pour aborder d’autres plates-formes et fonctionnalités. Restez à l’écoute pour les prochaines versions et restez en contact avec d’autres commentaires ou demandes!
Remarque: Ces plans et feuille de route représentent nos intentions à cette date, mais nos plans de développement et nos priorités sont susceptibles de changer. En conséquence, nous ne pouvons offrir aucun engagement ou autre forme d’assurance que nous publierons finalement tout ou partie des produits décrits dans le calendrier ou dans l’ordre décrit, ou pas du tout. Ces indications générales sur les calendriers de développement ou les «feuilles de route des produits» ne doivent pas être interprétées ou interprétées comme une forme quelconque d’engagement, et les droits de nos clients aux mises à niveau, mises à jour, améliorations et autres versions de maintenance seront définis uniquement dans le contrat de licence du logiciel applicable.