Blog par Laurent Navarro
Je vous propose aujourd’hui la traduction de ce post de l’équipe Embarcadero C++ Builder https://community.idera.com/develope…tforms-support.
J’ai fais de mon mieux pour la traduction, mais elle peut cependant être imparfaite, n’hésitez pas à vous reporter à la version originale en cas de doute.
Cet article traite de la situation actuelle du support multiplateforme de C++ Builder. Cet article à été publié le 31/7/2020, la veille de la date limite imposée sur le Play store pour n’accepter que les applications 64 bits.
Le problème étant que C++ Builder ne fourni pas pour l’instant de support Android 64 bits et qu’il n’en fournira pas à court terme, ce qui pose des problèmes à ceux qui on fait le pari de C++ Builder pour leurs applications Android. Les alternative proposées sont la migration sous Delphi (qui lui supporte bien Android 64 bits) ou la distribution des applications par d’autres moyen que le Play store (ce qui est envisageable pour des applications internes ou auprès d’un nombre de clients restreint).
Cet article donne aussi des précisions sur les évolutions récentes et à venir de C++ Builder.
Laurent NAVARRO – MVP C++ Builder
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 en termes de prise en charge multiplateforme et multi-appareils dans C ++ Builder. Nous aimerions vous fournir une mise à jour de nos plans.
Aperçu du support des plateformes
Nous avons priorisé le travail sur la VCL pour C ++ Builder plutôt que sur FMX, ce qui nous met en retard sur la prise en charge des plateformes.
Actuellement, C ++ Builder 10.4 prend en charge :
- Windows 32 et 64 bits avec VCL et FMX
- iOS 64 bits avec FMX
- Android 32 bits avec FMX
Les plus impacté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 pour 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 (prévu en 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, ce n’est que le Play Store qui a la limitation 64 bits, ce qui signifie que les applications internes ou les applications téléchargées 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 dès 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 auprès des clients. Le retour global de nos clients C++ Builder dans cette enquête était de nous demander de nous concentrer sur Windows et la qualité sous Windows : qualité du compilateur, de la STL et de l’IDE (y compris la complétion du code).
La majorité de nos clients C++ Builder ciblent uniquement Windows, en utilisant la VCL. Ils le font en raison des performances de la VCL, des contrôles natifs et des nouveaux contrôles que nous proposons. De plus, Microsoft a mis la 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 implique est claire : se concentrer sur Windows et s’assurer que cela répond à vos attentes, avant de travailler sur d’autres plateformes. Pour cette raison, nous avons supprimé la prise en charge de macOS Catalina de la feuille de route et nous travaillons depuis sur la qualité pour 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 de l’IDE, n’a pas été ce que nous souhaitons offrir.
Alors quel sont nos plans ? Que traitons nous ?
Nous avons des problèmes de longue date concernant la complétion du code, l’éditeur de liens (linker), certaines classes STL et certains ICE (Internal Compiler Error) du compilateur. De plus, nous souhaitons intégrer des fonctionnalités de productivité dans l’IDE pour garantir que C ++ Builder surpasse les autres IDE en termes de productivité.
Nos objectifs pour Windows sont les suivants :
Pour la qualité :
- Fournir une complétion de code entièrement fonctionnelle et d’autres fonctionnalités de Code Insight
- Résoudre complètement tous les problèmes liés à l’édition des liens, éventuellement via un nouveau linker
- Résoudre les problèmes de la STL
- Fournir une excellente compatibilité C ++ avec les bibliothèques C ++ les plus populaires, ce qui signifie que nous aurons une excellente compatibilité avec d’autres chaînes d’outils
Pour les fonctionnalités :
- Fournir d’autres outils de code, tels que des refactorisations, grâce à l’intégration de Visual Assist, ce qui signifie que C ++ Builder aura des outils de productivité encore plus puissants que Visual Studio
- Fournir une prise en charge du langage C ++ 17 ou supérieur
- 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 l’espérez, et que (b) nous sommes compatibles avec le C ++ général (ce qui vous aide) et surpassons les autres outils en termes de productivité. Nos bibliothèques, comme la VCL, sont parmi les meilleures au monde – avoir une productivité de l’IDE du même niveau sera un atout pour C ++ Builder.
Bien que nous n’en soyons pas encore là, cette stratégie explique notre objectif et ce que nous avons réalisé depuis cette enquête. Regardons 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 du C++ moderne
- Une version moderne de Boost (jusque-là, nous avions livré Boost 1.55) : Boost 1.68 pour 10.3 et aujourd’hui Boost 1.70 pour 10.4
- De nombreuses améliorations de stabilité du compilateur, de méthodes RTL, de correctifs STL, de correctifs du linker, et plus encore pour la chaine de compilation dans son ensemble, y compris la compatibilité avec le compilateur classique, ce qui signifie que la mise à niveau de l’ancien compilateur classique vers le plus moderne Clang est beaucoup plus facile qu’auparavant
- Un certain nombre de bibliothèques open source populaires sont disponibles sur GetIt. En plus de les rendre faciles à utiliser, ces intégrations ont été d’excellents cas de test pour mettre en lumière des problèmes de compatibilité avec la RTL ou d’autres domaines avec les autres chaînes de compilations. (Nous utilisons souvent des méthodes ou des approches POSIX dans nos en-têtes, même sous Windows, alors que de nombreux .h dans les bibliothèques C ++ populaires sont écrits pour supporter des compilateurs spécifiques). Cela inclut libsimdpp, Eigen, NemaTode, SDL 2 et d’autres, et a permis de résoudre de nombreux problèmes de compatibilités par le biais de ce travail, ce qui améliore la capacité d’utilisation de bibliothèques et des sources C ++ externes
- Mise à jour de la prise en charge de CMake pour améliorer les fonctionnalités telles que la liaison des ressources, ainsi que la gestion automatique des configurations pour d’autres compilateurs pour notre chaîne de compilation- augmentant à nouveau la compatibilité
- Un tout nouveau débogueur pour Windows 64 bits, qui a résolu à la fois les problèmes de débogage de Clang, et toute une catégorie de problèmes courants de débogage de C ++ en général. Cela rend le débogage avec Clang pour Win64 au même niveau que le débogage qu’avec le compilateur classique.
À l’avenir, nous prévoyons de fournir :
- Des correctifs de l’éditeur de liens, y compris les modifications apportées au stockage et à la liaison du format de débogage, réduisant l’utilisation de mémoire lors de la génération en mode debug. Des changements beaucoup plus importants dans l’éditeur de liens sont en cours d’investigation.
- Visual Assist pour C ++ Builder, ajout de refactorisations et d’autres outils à l’IDE
- Mise à jour de la STL, suppression de bogues STL
- L’intégration de CMake dans l’IDE
- Des corrections de la complétion du code pour C ++
- La compilation parallèle, afin de réduire 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
Résumé :
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’IDE pour conserver la productivité UI existante tout en travaillant 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 un outil à la pointe en termes de productivité par rapport aux autres IDE.
Nous comprenons que cette hiérarchisation peut avoir un impact négatif pour 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 nous assurer de vous fournir le produit que vous voulez et dont vous avez besoin.
Une fois que nous aurons validé les améliorations de la qualité et l’ensemble des fonctionnalités pour le développement Windows, nous réévaluerons la situation et prendrons les mesures appropriées pour aborder d’autres plates-formes et fonctionnalités. Restez à l’écoute des 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 sur 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 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.