Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
BeiträgeC++

Unterstützung von C++Builder und Plattformen

David Millington (Senior Product Manager), Atanas Popov (General Manager, Developer Tools), Kyle Wheeler (General Manager, C++)

Im Laufe des letzten Jahres haben uns viele Kunden nach unseren Plänen gefragt, die plattformübergreifende Multi-Device-Unterstützung in C++Builder fortzusetzen. Wir möchten Ihnen ein Update zu unseren Plänen geben.

Plattform-Übersicht

Wir haben die VCL-Arbeiten für C++Builder gegenüber FMX priorisiert, wodurch wir bei der Plattformunterstützung in Verzug geraten sind. Derzeit wird C++Builder 10.4 unterstützt:

  • Windows 32 und 64-Bit in VCL und FMX
  • iOS 64-Bit in FMX
  • Android 32-Bit in FMX

Diejenigen, die am meisten betroffen sind, sollten das Folgende bereits wissen, aber um es klarzustellen: Am 1. August tritt Googles Frist für 32-Bit-Anwendungen in Kraft und wenn Sie Ihre Apps im Play Store weiterhin aktualisieren möchten, müssen Sie sie als Android 64-Bit neu kompilieren. C++Builder unterstützt diese Plattform derzeit nicht. Wir werden bis zum 1. August keine Android 64-Bit-Unterstützung liefern, auch nicht in C++Builder 10.4.1 (2020.)

Es ist erwähnenswert, dass 32-Bit-Android-Anwendungen nach wie vor voll funktionsfähig sind – in der Tat haben wir vor einigen Tagen einen Hotfix für 10.4 veröffentlicht, der Probleme mit der 32-Bit-Ausnahmebehandlung von C++ Android behebt. Android-Geräte unterstützen nach wie vor 32-Bit-Apps; nur der Play Store hat die 64-Bit-Beschränkung, was bedeutet, dass hauseigene Anwendungen oder per Sideload geladene Anwendungen weiterhin voll funktionsfähig sind.

Wir haben auch keine 64-Bit-Unterstützung für macOS für 2020 geplant. Wenn wir dies tun, werden wir wahrscheinlich direkt zur Unterstützung von ARM (Apple Silicon) übergehen.

Wenn Android 64-Bit für Sie wichtig ist, ist RAD Studio mit Delphi voll kompatibel. Kontaktieren Sie uns noch heute, um einen Rabatt zu besprechen und den Wechsel zu vollziehen.

Kundenfeedback und Plattformen

Im März 2019 haben wir eine Kundenumfrage verschickt. Das allgemeine Feedback unserer C++Builder-Kunden in dieser Umfrage lautete, dass wir uns auf Windows und Windows-Qualität konzentrieren sollten: Compiler-Qualität, STL und IDE (einschließlich Code-Vervollständigung).

Die Mehrheit unserer C++Builder-Kunden zielt nur auf Windows ab und verwendet die VCL. Sie tun dies wegen der Leistung der VCL und der nativen Steuerelemente sowie der neuen Steuerelemente, die wir bereitstellen; außerdem hat Microsoft den Druck erzeugt, auf Windows 10 zu aktualisieren, und unsere Windows 10-Unterstützung ist für diejenigen, die Apps migrieren, oder für diejenigen, die nach einer hochwertigen UI-App-Umgebung für Windows 10 suchen, sehr nützlich.

Die Strategie, auf die uns das gebracht hat, war klar: Wir wollten uns auf Windows konzentrieren und sicherstellen, dass es Ihre Erwartungen erfüllt, bevor wir an anderen Plattformen arbeiten. Aus diesem Grund haben wir die macOS Catalina-Unterstützung von der Roadmap entfernt und arbeiten seitdem an der Windows-Qualität vor der Android 64-Bit-Unterstützung.

Windows-Qualität

Wir sind uns sehr bewusst, dass seit unserem Clang-Upgrade im November 2018 die Qualität für Windows, einschließlich der IDE-Tools, nicht so ist, wie wir es uns wünschen.

Was ist also unser Plan? Was adressieren wir?

Wir haben seit langem bestehende Probleme mit der Code-Vervollständigung, dem Linker, einigen STL-Klassen und einigen Compiler-ICEs. Außerdem gibt es IDE-Produktivitätsfunktionen, die wir bereitstellen möchten, um sicherzustellen, dass C++Builder andere IDEs in Bezug auf die Produktivität übertrifft. Unser Ziel für Windows ist das Folgende:

Für Qualität:

  • Um voll funktionsfähige Code-Vervollständigung und andere Code Insight-Funktionen bereitzustellen
  • Vollständige Behebung aller Linker-Probleme, möglicherweise durch einen völlig neuen Linker
  • Behebung von STL-Problemen
  • Exzellente C++-Kompatibilität mit gängigen C++-Bibliotheken, d. h. hervorragende Kompatibilität mit anderen Toolchains

Für Funktionen:

  • Bereitstellung weiterer Codewerkzeuge, wie z. B. Refactorings, durch die Integration von Visual Assist, d. h. C++Builder wird über stärkere Produktivitätswerkzeuge verfügen als sogar Visual Studio
  • Unterstützung von C++17 oder höheren Sprachen
  • Wesentlich schnellere, beschleunigte Kompiliergeschwindigkeit, insbesondere für große Projekte

Das ultimative Ziel ist es, sicherzustellen, dass (a) die Dinge so funktionieren, wie Sie es wünschen und erwarten, und (b) wir sowohl mit allgemeinem C++ kompatibel sind (was Ihnen hilft) als auch andere Tools in der Produktivität übertreffen. Unsere Bibliotheken, wie auch die VCL, sind weltweit führend – wenn die Produktivität der IDE ebenfalls auf diesem Niveau liegt, wird C++Builder eine bedeutende Kraft werden.

Wir sind zwar noch nicht so weit, aber diese Strategie erklärt unseren Fokus und das, was wir seit dieser Umfrage erreicht haben. Lassen Sie uns auf das eingehen, was wir geliefert haben und was wir geplant haben, mit einigen Kommentaren, die sie im Lichte des oben Gesagten erklären.

Verbesserungen

In der Zeit seit der Umfrage haben wir einiges erreicht:

  • Windows 64-Bit C++17, was bedeutet, dass Sie Windows 32- und 64-Bit mit modernem C++ ansprechen können
  • Eine moderne Version von Boost (bis dahin haben wir Boost 1.55 ausgeliefert): Boost 1.68 für 10.3, und heute Boost 1.70 für 10.4
  • Eine große Anzahl an Compiler-Stabilität, RTL-Methoden, STL-Fixes, Linker-Fixes und mehr für die gesamte Toolchain, einschließlich Kompatibilität mit dem klassischen Compiler, was bedeutet, dass ein Upgrade vom alten klassischen auf das moderne Clang viel einfacher ist als früher
  • Eine Reihe von beliebten Open-Source-Bibliotheken auf GetIt. Diese sind nicht nur einfach zu benutzen, sie waren auch großartige Testfälle, um RTL oder andere Bereiche zu finden, in denen wir nicht mit anderen Toolchains kompatibel waren. (Wir verwenden oft POSIX-Methoden oder -Ansätze in unseren Headern, sogar unter Windows; außerdem sind viele Header in gängigen C++-Bibliotheken so geschrieben, dass sie von bestimmten Compilern ausgehen).
    Dies schließt libsimdpp, Eigen, NemaTode, SDL 2 und andere ein. Durch diese Arbeit wurden viele Kompatibilitätsprobleme behoben, so dass Sie viel mehr Möglichkeiten haben, externe C++-Bibliotheken und -Quellen einzubinden
  • Aktualisierte CMake-Unterstützung zur Verbesserung von Funktionen wie z. B. Resource Linking sowie zur automatischen Handhabung von Konfigurationen für andere Compiler für unsere Toolchain – was wiederum die Kompatibilität erhöht
  • Ein komplett neuer Debugger für Windows 64-Bit, der sowohl Debugging-Probleme für Clang als auch eine ganze Klasse von allgemeinen Problemen beim Debuggen von C++ im Allgemeinen behebt. Dies macht das Debuggen mit Clang auf Augenhöhe mit dem Debuggen mit Classic für Win64.

Für die Zukunft sind geplant:

  • Linker-Fixes, einschließlich Änderungen an der Speicherung und Verknüpfung von Debug-Formaten, wodurch die Speicherbelastung beim Verknüpfen von Debug-Builds reduziert wird. In der Forschung sind deutlich größere Änderungen am Linker.
  • Visual Assist für C++Builder, Hinzufügen von Refactorings und anderen Tools zur IDE
  • Aktualisierte STL, Beseitigung von STL-Bugs
  • CMake-Integration in die IDE
  • Korrigierte Code-Vervollständigung für C++
  • Parallele Kompilierung, die die Zeit, die für die Erstellung Ihres Projekts benötigt wird, in Abhängigkeit von der Anzahl der zur Verfügung stehenden CPUs verringert – d.h. 4x, 8x oder noch schneller

Zusammenfassung

Unsere C++Builder-Kunden haben uns gebeten, uns auf Windows und Qualität zu konzentrieren, und genau das tun wir jetzt. Wir konzentrieren uns darauf, Ihnen qualitativ hochwertige Windows-Entwicklung zu bieten, insbesondere mit einem Fokus auf IDE-Produktivität, um unserer bestehenden UI-Produktivität zu entsprechen, sowie auf die Behebung wichtiger Probleme. Dies bedeutet, dass wir im kurzfristigen Zeitrahmen (6-9 Monate) keine Android 64-Bit- oder macOS-Unterstützung haben werden. Wir arbeiten jedoch an einigen wichtigen Verbesserungen für Windows – und haben diese auch bereits geliefert. Weitere Punkte, wie die Integration von Visual Assist, sind spannend, um C++Builder einen Produktivitätsvorsprung vor anderen IDEs zu verschaffen. Wir verstehen, dass diese Priorisierung einige von Ihnen negativ beeinflussen könnte, wofür wir uns entschuldigen. Wir sind der Meinung, dass die Konzentration auf Qualität und Windows heute das Richtige ist, um sicherzustellen, dass wir Ihnen das Produkt geben, das Sie wollen und brauchen.

Sobald wir von den Qualitätsverbesserungen und dem Funktionsumfang für die Windows-Entwicklung überzeugt sind, werden wir die Landschaft neu bewerten und entsprechende Schritte unternehmen, um andere Plattformen und Funktionen zu berücksichtigen. Bleiben Sie dran für kommende Releases und melden Sie sich mit weiterem Feedback oder Wünschen!

Hinweis: Diese Pläne und Roadmap stellen unsere Absichten zu diesem Zeitpunkt dar, aber unsere Entwicklungspläne und Prioritäten können sich ändern. Dementsprechend können wir keine Zusagen oder andere Formen der Zusicherung geben, dass wir letztendlich einige oder alle der beschriebenen Produkte im Zeitplan oder in der Reihenfolge, wie beschrieben, oder überhaupt veröffentlichen werden. Diese allgemeinen Angaben zu Entwicklungszeitplänen oder „Produkt-Roadmaps“ sollten nicht als irgendeine Form der Verpflichtung interpretiert oder ausgelegt werden, und die Rechte unserer Kunden auf Upgrades, Updates, Erweiterungen und andere Wartungsversionen werden ausschließlich im jeweiligen Software-Lizenzvertrag festgelegt.


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Kommentieren

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

IN THE ARTICLES