von Marco Cantu, David Millington und Sarina DuPont
Table of Contents
Einführung
Das Embarcadero RAD Studio-Produktmanagementteam aktualisiert regelmäßig die Produktentwicklungs-Roadmap für Delphi, C ++ Builder und RAD Studio. Wie Sie in unserem offiziellen Roadmap-Blogbeitrag sehen können, haben wir gerade eine neue Version der Roadmap veröffentlicht, die die wichtigsten Funktionen abdeckt, die wir für die nächsten 12 Monate geplant haben. Zusammen mit den offiziellen Roadmap-Folien wollten wir mit diesem zusätzlichen Blog-Beitrag weitere Details, Informationen und Einblicke bieten. Es kann nützlich sein, die Folien als Referenz zu öffnen, während Sie die erweiterten Informationen lesen, die wir hier bereitstellen.
In unserer Roadmap finden Sie die wichtigsten Funktionen, die wir für das Kalenderjahr 2021 geplant haben. Bevor wir zu den Details unserer aktualisierten Roadmap gelangen, möchten wir noch einmal zusammenfassen, was wir bisher geliefert haben.
Anfang dieses Jahres haben wir 10.4 Sydney veröffentlicht. Die Version 10.4 wurde von unseren Kunden sehr gut angenommen und beinhaltete die erste Lieferung unserer vollständigen Neufassung der Delphi Code Insight-Engine, die jetzt auf der Language Server-Protokollarchitektur basiert, einem neuen Debugger für C ++ Win64, der eine sehr langjährige Kundenanfrage adressierte und neue Delphi-Sprachfunktionen wie benutzerdefinierte verwaltete Datensätze. Wir haben auch den Anwendungsfall von VCL-Stilen durch die Unterstützung von HighDPI-Monitoren und das Styling pro Steuerung erheblich erweitert.
Wir haben die Version 10.4 in Sydney mit 10.4.1 im September 2020 weiterverfolgt, die sich hauptsächlich auf die Qualität und weitere Verbesserungen der in 10.4 bereitgestellten Funktionen konzentrierte, insbesondere auf die neu hinzugefügte Delphi LSP-Unterstützung. 10.4.1 enthält über 800 Qualitätsverbesserungen, einschließlich mehr als 500 Qualitätsverbesserungen für öffentlich gemeldete Probleme im Embarcadero-Qualitätsportal.
Bevor wir uns mit den Versionen 10.4.2 und 10.5 befassen, wollten wir hervorheben, dass 10.4 / 10.4.1 eine unserer beliebtesten Veröffentlichungen ist und mehr Downloads als 10.3 und 10.2 bietet. Dies ist besonders beeindruckend inmitten von COVID-19. Wir führen den Erfolg sowohl auf die Veröffentlichung als auch auf unser verstärktes Engagement mit Technologiepartnern zurück, die weiterhin mit unserem Team zusammenarbeiten, um neue Funktionen zu aktualisieren und zu entwickeln. Wir möchten uns auch bei Ihnen, unseren Kunden, für das großartige Feedback bedanken, das Sie dem Produktteam gegeben haben, in Bezug auf Funktionen, die hinzugefügt werden sollen, und Bereiche, auf die wir uns hinsichtlich der Qualität konzentrieren sollen, und für Ihre Teilnahme in unseren Beta-Programmen (was einer der Vorteile eines Abonnements ist).
Derzeit arbeiten wir an der Version 10.4.2, die für den ersten Teil des Kalenderjahres 2021 geplant ist und in der Roadmap und in diesem Kommentar-Blogbeitrag beschrieben wird. Einige Zeit vor der Veröffentlichung erwarten wir, dass RAD Studio-, Delphi- und C ++ Builder-Kunden mit einem aktiven Update-Abonnement zum Betatest für die kommende Version eingeladen werden. Die Beta 10.4.2 ist eine NDA-Beta, bei der die Teilnehmer unsere Geheimhaltungsvereinbarung unterzeichnen müssen, bevor sie an der Beta teilnehmen können. Die Möglichkeit, Betas beizutreten und frühzeitig im Entwicklungszyklus Feedback zum Produktmanagement zu geben, ist einer der Vorteile der Aktualisierung des Update-Abonnements.
Für 10.5 planen wir die Einführung einer neuen Zielplattform für Delphi, macOS ARM (basierend auf Apple Silicon-CPUs), umfangreichen Arbeiten zur Unterstützung von IDE HighDPI, C ++ – Toolchain-Erweiterungen und vielen weiteren zusätzlichen Funktionen und Qualitätsverbesserungen. Siehe unten für weitere Details.
RAD Studio Roadmap Timeline
Bevor wir zu den Details der Funktionen kommen, an denen das Entwicklungsteam heute arbeitet oder für die Zukunft recherchiert, werfen wir einen Blick auf die Zeitleiste der kommenden Versionen, wie auf der Hauptfolie der Roadmap gezeigt:
Davids Kommentar zu 10.4.2 Plänen
Delphi Code Insight
Wie Marco oben schrieb, haben wir uns in 10.4.1 stark auf Qualität konzentriert. Dies wird in 10.4.2 fortgesetzt. Ein wichtiger Bereich ist das neue Delphi Code Insight (auch bekannt als Delphi LSP). 10.4.2 enthält nicht nur viele Korrekturen und Optimierungen sowie weniger häufig verwendete Code Insight-Funktionen, die wir nicht verwendet haben enthalten in der ersten Version aber auch einige neue oder deutlich verbesserte Funktionen bei der Code-Vervollständigung. Zum Beispiel planen wir, unter anderem bei gedrückter Strg-Taste auf „geerbt“ zu klicken und die Vervollständigung in den Verwendungsklauseln zu überarbeiten.
C ++ Code Insight
C ++ setzt auch das Thema der fortlaufenden Qualitätsarbeit fort, wobei der Schwerpunkt auf zwei Bereichen liegt.
Für alle C ++ – Kunden ist eine vollständige Überarbeitung der C ++ – Code-Vervollständigung bei Verwendung der Clang-Compiler am auffälligsten. In 10.3 mussten wir beim Upgrade auf C ++ 17 die von der IDE verwendete Code-Vervollständigungstechnologie ersetzen. Seit seiner Einführung haben wir die Code-Vervollständigung in jeder Version verbessert und Anwendungsfälle behandelt, bei denen bestimmte Codemuster oder Projekt-Setups Probleme bei der Vervollständigung verursachen können.
Für 10.4.2 haben wir uns entschlossen, die Code-Vervollständigung für C ++ vollständig zu überarbeiten, um die Entwicklerproduktivität zu gewährleisten, nach der Kunden suchen. C ++ – Kunden sollten feststellen, dass die Vervollständigung und Navigation von Code zuverlässig und gut funktioniert.
Wir haben sogar einige schwierigere Fälle angesprochen, z. B. die Vervollständigung in einer Header-Datei (viel schwieriger als in einer CPP-Datei)! Das Endergebnis sollte alles sein, wonach Sie uns gefragt haben.
C ++ – Qualitäts- und Ausnahmebehandlung
Der andere wichtige Qualitätsfokus für C ++ in 10.4.2 liegt auf der Ausnahmebehandlung.
Die Ausnahmebehandlung ist ein komplexer Bereich, der eine enge Zusammenarbeit zwischen dem Compiler und RTL erfordert, um ordnungsgemäß zu funktionieren. Es gibt übliche Konventionen für Ausnahmen, z. B. niemals zuzulassen, dass eine Ausnahme eine Modulgrenze überschreitet (z. B. in einer DLL ausgelöst, aber in einer EXE-Datei abgefangen), aber diese werden manchmal aus guten Gründen nicht immer befolgt. In C ++ müssen wir C ++ – Ausnahmen, Betriebssystemausnahmen und SEH behandeln, nicht zu vergessen auch die Ausnahmebehandlung von Delphi.
In 10.4.2 haben wir das Ausnahmebehandlungssystem überarbeitet. Wenn wir uns der Veröffentlichung nähern, freuen wir uns auf einen Blog-Beitrag, in dem die von uns unterstützten Szenarien aufgeführt sind. Intern sehen wir derzeit einige große Verbesserungen!
IDE
Neben dem Fokus auf die Code-Vervollständigung für beide Sprachen sind für die IDE weitere Arbeiten für 10.4.2 geplant.
In 10.3 haben wir die beiden aktuellen Themen eingeführt, einen hellen und einen dunklen Stil (tatsächlich wurde ein dunkler Stil, obwohl er sich erheblich unterscheidet, erstmals in 10.2.3 eingeführt. Dies war eine unserer beliebtesten Funktionen.) Der helle Stil ist überwiegend hellblau. In dieser Version fügen wir einen dritten Stil hinzu, bei dem für die Hauptfarben traditionelles Grau und nicht Blau verwendet wird. Betrachten Sie es als einen Retro-Stil für diejenigen, die es mögen, wie die IDE in der 2010-XE7-Ära aussah, ein Rückruf zum klassischen Look. Wir glauben auch, dass es für diejenigen nützlich sein kann, die spezielle Sehkraftanpassungen benötigen.
Wir planen auch weitere Qualitätsarbeiten in Bezug auf Desktop-Layouts, Layouts mit mehreren Monitoren, Formularentwurf und ähnliche Bereiche. Dazu gehört, dass Sie Ihr Formular im Formular-Designer gleichzeitig mit dem Öffnen des Codes für dieses Formular entwerfen können. Aufgrund von Rückmeldungen war dies der häufigste Grund für die Verwendung des alten, nicht angedockten Designers, den wir in 10.4.1 entfernt haben, und wir freuen uns, dass Sie mit dem modernen Designer sowohl Code als auch Design in einer Formeinheit erstellen können.
Schließlich möchten wir das Migrationstool für Einstellungen verbessern, um die RAD Studio-Einstellungen von Version zu Version (z. B. von 10.3 auf 10.4) zu verschieben und Ihre Konfiguration beim Wechsel zu einer Update-Version (z. B. von 10.4.1 auf 10.4.2) besser beizubehalten ). Wir planen, für jedes Szenario spezifische voreingestellte Konfigurationen hinzuzufügen und zusätzlich zu den heute berücksichtigten Registrierungseinstellungen Konfigurationsdateien aufzunehmen.
Marcos Kommentar zu 10.4.2 Plänen
In Bezug auf die Zielbetriebssysteme konzentrieren wir uns derzeit auf die Verbesserung der vorhandenen Plattformen, die in 10.4.x unterstützt werden, und es gibt zwei Schwerpunkte, an denen wir für 10.4.2 arbeiten.
Das erste ist Teil unseres kontinuierlichen Fokus auf Windows als unser Hauptziel. Auf dem Microsoft-Betriebssystem folgen wir genau der aktuellen Microsoft-Anweisung zur Vereinheitlichung der WinRT-API und der traditionellen Win-API über Project Reunion. Project Reunion (https://github.com/microsoft/ProjectReunion) umfasst verschiedene Technologien, wobei die ersten WinUI 3, WebView2 und MSIX sind.
Das WebView2-Steuerelement ist eine neue Windows-Plattformkomponente, in die Edge Chromium eingebettet ist. Wir haben diese Funktion in 10.4 mit der VCL-Komponente TEdgeBrowser unterstützt.
Der zweite Baustein wird die Unterstützung für das MSIX-Verpackungsformat sein, das wir für 10.4.2 planen. MSIX ist der Nachfolger von APPX, einem Ziel, das wir derzeit im Rahmen der Integration von RAD Studio IDE Desktop Bridge anbieten. Es ist für den Microsoft Store und die Unternehmensbereitstellung gedacht.
Ein weiterer Bereich unserer verbesserten Unterstützung für die Windows-Plattform und insbesondere für VCL-Anwendungen ist die Hinzufügung von zwei neuen Steuerelementen, die unseren Kunden helfen sollen, die Benutzeroberfläche ihrer Anwendungen zu modernisieren und zu verbessern. Wir arbeiten an neuen VCL Native Windows-Steuerelementen, damit Sie Ihren Kunden eine modernere Benutzeroberfläche bieten können:
- Eine davon ist eine hochoptimierte virtuelle Listenansicht, mit der Sie eine große Anzahl von Elementen mit einer flexiblen Kombination aus Text und Grafiken anzeigen können. Das Steuerelement basiert lose auf dem Ansatz des vorhandenen DBCtrlGrid-Steuerelements, erfordert jedoch keine Datenquelle. Es wird die Verwendung von Live-Bindungen unterstützen.
- Die andere neue VCL-Komponente, die wir hinzufügen, ist ein numerisches Eingabesteuerelement, ähnlich dem WinUI NumberBox-Plattformsteuerelement. Dieses Steuerelement bietet eine einfachere und reibungslosere numerische Eingabe unter Berücksichtigung verschiedener Formate (Ganzzahlen, Gleitkommazahlen, Währungswerte) und einschließlich der Auswertung einfacher Ausdrücke.
Der zweite Teil unserer Verbesserungen konzentriert sich auf die derzeit unterstützten Zielplattformen. Wir planen die vollständige Kompatibilität mit neuen Versionen von Betriebssystemen, die von Apple und Google veröffentlicht wurden, nachdem RAD Studio 10.4.1 veröffentlicht wurde. Obwohl Sie diese Plattformen heute gezielt einsetzen können, gibt es einige offene Probleme, die wir ordnungsgemäß angehen möchten (und nicht über Problemumgehungen). Das Ziel ist die vollständige Unterstützung für:
- iOS 14 und iPadOS 14 (Delphi und C ++)
- macOS 11.0 Big Sur (Intel) (Delphi)
- Android 11 (Delphi)
In Bezug auf die Qualität werden wir in 10.4.2 (wie in 10.4.1) weiterhin erhebliche Anstrengungen in Bezug auf Stabilität, Leistung und Qualität unternehmen. Wir planen, von Kunden gemeldete Probleme zu beheben und Eskalationen in vielen Bereichen des Produkts zu unterstützen. Zu den Tools und Bibliotheken, auf die wir uns besonders konzentrieren werden, gehören zusätzlich zu den zuvor von David aufgeführten:
- Der Delphi-Compiler (für alle Plattformen) verbessert seine Robustheit und Abwärtskompatibilität, konzentriert sich jedoch besonders auf die Leistung des Compilers (und Linkers), um die Kompilierungszeit für große Projekte zu verkürzen und die LSP-Engine (die den Compiler verwendet, zu beschleunigen) den Quellcode analysieren).
- Die SOAP-Clientbibliothek zusammen mit dem WSDL-Importtool, das den Clientcode generiert, der für die Schnittstelle mit SOAP-Servern verwendet wird
- Die Parallel Programming Library (PPL) bietet eine hervorragende Abstraktion der verschiedenen Plattformen und Threading-Funktionen für Multi-Core-CPUs in Bezug auf Aufgaben, Zukunft und Parallel-for-Loops
- Die mehrschichtigen Webdienstlösungen sind Teil von RAD Studio und bieten Verbesserungen sowohl für RAD Server als auch für die ältere DataSnap-Engine sowie allgemeine Verbesserungen für die HTTP- und REST-Clientbibliotheken. Wir werden uns auch weiterhin auf unsere Azure- und AWS-Cloud-Unterstützung konzentrieren.
- VCL-Stile und HighDPI-Stile werden zusammen mit VCL im Allgemeinen besondere Aufmerksamkeit erhalten
- Für die FireMonkey-Bibliothek werden die TMemo-Komponenten (sowohl in der Plattform- als auch in der gestalteten Version), der in 10.4 eingeführte Metal GPU-Bibliothekstreiber und die Überarbeitung der Sensorverwaltung unter Android weiter verbessert, um eine bessere Unterstützung für eine Vielzahl von Android-Geräten zu bieten.
RAD Studio 10.5
Als Referenz ist hier noch einmal die Haupt-Roadmap-Folie:
Davids Kommentar zu 10.5 Plänen
Benutzererfahrung
Wir haben eine Reihe großartiger neuer Funktionen, auf die sich viele Kunden freuen und die für 10.5 geplant sind.
Erstens planen wir volle Unterstützung für hohe DPI in der IDE. Die VCL unterstützt seit einigen Releases hohe DPI-Werte, und die RAD Studio-IDE, die hauptsächlich die VCL verwendet, unterstützt jetzt auch hohe DPI-Werte. Dies stellt sicher, dass es auf allen modernen hochauflösenden Bildschirmen gestochen scharf wiedergegeben wird, auch wenn Sie Fenster über Bildschirme mit unterschiedlichen Auflösungen und Maßstäben bewegen.
Der VCL-Formular-Designer ist eines der wichtigsten Tools, die Sie beim Erstellen Ihrer App verwenden. Der Designer möchte schnell eine Benutzeroberfläche erstellen, die dem Aussehen Ihrer App sehr nahe kommt, im Gegensatz zu UI-Tools, die eine Benutzeroberfläche nur in Textform beschreiben und keine unmittelbare Rückkopplungs- / Iterationsschleife bieten. In 10.5 planen wir, dieses Element so zu erweitern, dass es dem Aussehen Ihrer App beim Ausführen ähnelt, indem wir dem Designer Unterstützung im VCL-Stil hinzufügen. Wenn also eines Ihrer Steuerelemente so gestaltet ist, werden Sie es auch im Designer sehen.
Der FMX-Formulardesigner ist ebenfalls ein wichtiges Werkzeug beim Erstellen einer plattformübergreifenden Anwendung. Wir planen, einige der Design-Tools des VCL-Designers, wie z. B. Ausrichtungshilfen, zu verwenden, um sicherzustellen, dass der Designer über die Produktivitätsfunktionen verfügt, die Sie benötigen.
Wir planen außerdem, uns auf die Integration der Quellcodeverwaltung der IDE zu konzentrieren, um die Zusammenarbeit Ihres Teams zu unterstützen. Darüber hinaus planen wir einige Verbesserungen bei der Darstellung der IDE bei der ersten Ausführung, um den Neulingen in Delphi und C ++ Builder den Einstieg zu erleichtern.
Schließlich verwenden viele Kunden Delphi oder C ++ Builder auf einem dedizierten Build-Server. Neben der Quellcodeverwaltung, Tests und ähnlichen Methoden empfiehlt es sich, offizielle Builds auf einem bestimmten Computer oder einer bestimmten VM durchzuführen. Derzeit müssen Sie zur Installation von RAD für einen Build-Server die vollständige IDE installieren. Dies sollte jedoch nicht erforderlich sein, da für das Erstellen nur die Befehlszeilentools erforderlich sind. Wir planen ein Installationsszenario speziell für Build-Server.
C ++ Builder
In 10.4.0 haben wir einen neuen Debugger für C ++ Win64 eingeführt. Dies bezog sich auf eine häufige Kundenanfrage, insbesondere weil wir „Formatierer“ einbezogen haben, mit denen der Inhalt von STL-Containern oder einer beliebigen Datenstruktur, einschließlich Ihrer eigenen, einfach bewertet werden kann. Dies war ein völlig neuer Debugger, keine neue Version der zuvor verwendeten. In 10.5 planen wir einen ähnlichen neuen Ersatz für ein anderes Kernwerkzeug, den Linker. Wie der Debugger wird dies für Win64 sein.
Sie werden hier einen Fokus auf 64-Bit-Windows bemerken. Viele Kunden verwenden Clang, um auf Win64 abzuzielen, und wir möchten sicherstellen, dass unsere Werkzeuge gleich oder besser sind als die Werkzeuge, die Sie vom klassischen Compiler gewohnt sind. Darüber hinaus beschäftigen sich viele Menschen ausschließlich mit 64-Bit, wobei 32-Bit-Apps aktualisiert werden und neue Apps nur 64-Bit sind.
Visual Assist ist eine erstaunliche Produktivitätserweiterung für Visual C ++, die Code-Vervollständigung, Refactorings und mehr bietet. Wir haben nach verschiedenen Möglichkeiten gesucht, um es in C ++ Builder zu integrieren, und planen dies in 10.5.
Schließlich planen wir auch, Delphi / C ++ Interop zu verbessern. Die Verwendung von zwei Sprachen ist ein großer Produktivitätsschub und einer der Hauptgründe für die Verwendung von C ++ Builder oder RAD Studio. Dies ist eine Arbeit, um diese Integration zu verbessern. Es sollte eine reibungslosere Integration mit RTL-Funktionen ermöglichen.
Delphi Debugger
In 10.4 haben wir einen völlig neuen Debugger für C ++ Win64 (siehe oben) eingeführt, der auf LLDB basiert. Letztendlich wollen wir auf allen Plattformen denselben Debugger verwenden – heute verwenden wir eine Mischung aus verschiedenen Debuggern. Der Schlüssel dazu ist das Hinzufügen eines Delphi-Sprach-Frontends zur LLDB, mit dem Sie die Delphi-Syntax beispielsweise im Dialogfeld „Auswerten / Ändern“ auswerten können. Wir planen, die erste Plattform mit LLDB mit diesem neuen Frontend in 10.5 einzuführen.
Marcos Kommentar zu 10.5 Plänen
Plattformen
In Bezug auf die Windows-Plattform planen wir, wie bereits erwähnt, Unterstützung für die verschiedenen Technologien anzubieten, die Teil von Microsoft Project Reunion sind. Insbesondere in der Version RAD Studio 10.5 freuen wir uns darauf, die Unterstützung für modernes Windows UX über die WinUI 3-Bibliothek zu integrieren. Gemäß der Roadmap von Microsoft für die Bibliothek sollte es möglich sein, die Komponenten dieser Bibliothek in einer nativen Anwendung zu verwenden, die auf der klassischen API basiert und Formulare und Steuerelemente verschiedener Typen mischt. Die tatsächlichen Details hängen davon ab, was die Bibliothek in Bezug auf die Integration in native Anwendungen liefern wird. Derzeit planen wir jedoch, diese Bibliothek mit neuen spezifischen Steuerelementen in die VCL zu integrieren.
Apropos Plattformen: Wir möchten ein neues Ziel für Delphi-Anwendungen hinzufügen: einen neuen Compiler für die ARM-basierte Version des macOS-Betriebssystems mit Apple-Hardware, die von Apple Silicon-CPUs unterstützt wird. Während Sie Intel-Anwendungen ausführen können, besteht das Ziel darin, eine native ARM-Anwendung für die neue Generation von Macs zu haben.
Dies wird eine bedeutende Erweiterung von Delphi sein, einschließlich eines neuen Compilers, Aktualisierungen der Laufzeitbibliothek und der verschiedenen Bibliotheken auf hoher Ebene. Wir haben auch vor, die Delphi-Sprachsyntax für alle Plattformen zu erweitern und die Leistung des vom Compiler unter Windows generierten mathematischen Verarbeitungscodes zu verbessern, um Anwendungen bei der numerischen Verarbeitung zu beschleunigen.
Wir werden auch weiterhin an der Gesamtproduktqualität arbeiten und planen, einige Subsysteme auszuwählen, auf die wir uns konzentrieren möchten. Diese Entscheidung treffen wir, indem wir das Kundenfeedback für die aktuelle Version und die kommenden Updates bewerten.
Zusammenfassung
Wir haben einige großartige Pläne für die kommenden Versionen von Delphi, C ++ Builder und RAD Studio! Von aufregenden Änderungen an der Code-Vervollständigung für beide Sprachen bis hin zu einer IDE mit hoher DPI, Produktivitätsverbesserungen beim Codieren und Entwerfen, Windows-Benutzeroberfläche und neuen VCL-Komponenten, Delphi-Debugging, Apple Silicon (M1) -Unterstützung für Delphi, Qualitätsarbeit für die Compiler, Delphi und C ++ RTL, SOAP, Multi-Tier und mehr, ein neuer Linker für C ++ – die kommenden Versionen enthalten einige wirklich aufregende Arbeiten. Wir können es kaum erwarten, sie zu Ihnen zu bringen!
Hinweis: Diese Pläne und Roadmap stellen unsere Absichten zum jetzigen 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 beschriebenen Reihenfolge oder überhaupt freigeben. Diese allgemeinen Hinweise auf Entwicklungspläne oder „Produkt-Roadmaps“ sollten nicht als Verpflichtung interpretiert oder ausgelegt werden, und die Rechte unserer Kunden auf Upgrades, Updates, Verbesserungen und andere Wartungsversionen werden nur in der geltenden Softwarelizenzvereinbarung festgelegt .
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition