Wenn Sie die Entwicklungen rund um RAD Studio verfolgen, haben Sie wahrscheinlich unsere Ankündigung im Zusammenhang mit der Fokussierung auf die Sprache C++ gesehen: What’s Coming for C++Builder: Eine interessante Vorschau. Im Anschluss an unsere neuen C++Builder-Updates möchten wir Ihnen mitteilen, was wir für die anderen Teile des Produkts geplant haben, insbesondere für unsere VCL- und FireMonkey UI-Bibliotheken.
Eine neue Grundlage für FireMonkey: Skia
Die geräte- und plattformübergreifende UI-Bibliothek von RAD Studio basiert auf dem Konzept der Abstraktion des tatsächlichen Renderings der UI-Elemente mithilfe von Stilen. Stile werden mithilfe einiger einfacher grafischer Objekte und Elemente implementiert, die von FireMonkey auf verschiedene Grafiktreiber abgebildet werden, von DirectX bis Metal.
In den letzten Jahren hat sich in diesem Bereich eine Bibliothek herausgebildet, die eine höhere Abstraktionsebene mit komplexeren Grundelementen bietet und gleichzeitig auf denselben plattformeigenen Treibern arbeitet, die FireMonkey unterstützt. Diese Bibliothek heißt Skia und bietet eine unglaubliche Leistung für 2D-Grafikanwendungen aller Art, zusammen mit einem deutlichen Leistungsschwerpunkt. Skia ist die Grundlage für einige der erfolgreichsten Multi-Device-Anwendungen, angefangen bei Googles Chrome-Browser.
Es ist bereits heute möglich, Skia für FireMonkey-Anwendungen zu nutzen, indem man die Skia4Delphi-Bibliothek verwendet, die auch direkt in GetIt verfügbar ist. Was in zukünftigen Versionen von RAD Studio kommen wird, ist eine tiefe und sofort einsatzbereite Integration von Skia und Skia4Delphi: Indem wir es zum Bestandteil des Produkts machen, werden wir eine reibungslosere Bedienung bieten und es zu einem bevorzugten Element im FireMonkey-Ökosystem machen. Zu den Vorteilen gehören ein schnelleres Rendering, insbesondere auf Android, aber auch eine Reihe zusätzlicher Funktionen und Komponenten, die bei Verwendung eines Skia-basierten Treibers verfügbar sind.
Sie werden sehen, dass wir im Rahmen der Skia-Unterstützung nicht nur die Verwendung als FireMonkey-GPU-Treiber planen, sondern auch spezielle UI-Controls für FireMonkey und sogar für die VCL-Bibliothek.
(Das SkLabel-Steuerelement unterstützt mehrere Abschnitte eines einzelnen Etiketts mit unterschiedlichen Textattributen, wie Sie im Objektinspektor sehen können)
VCL-Modernisierung: Die Rückkehr von MDI
Wir wissen, dass viele unserer Kunden bestehende VCL-Anwendungen haben, die sie aktiv halten und modernisieren möchten. Die VCL-Bibliothek hat kontinuierlich starke Unterstützung für die Anwendungsmodernisierung geboten, wie z. B. HighDPI-Unterstützung, eine ausgefeilte Styling-Architektur, die Verwendung neuerer Versionen der Plattform-Steuerelemente, die Integration der WinRT-API, die Unterstützung der MSIX-Bereitstellung und die Integration des WebView2-Steuerelements (die Chromium-basierte Engine des Edge-Browsers).
Im Laufe der letzten Jahre haben wir uns von der Unterstützung des MDI-Modells (Multiple Document Interface) entfernt. Dabei handelt es sich um ein relativ veraltetes UI-Paradigma, das darauf basiert, dass mehrere Fenster (mit gleichem oder unterschiedlichem Inhalt) in einem Container-Hauptfenster untergebracht sind. So veraltet es auch sein mag, das MDI-Modell kann effektiv sein. Viele unserer Kunden haben es lange Zeit verwendet, ihre Benutzer darauf trainiert und würden es aus diesen Gründen am liebsten weiter verwenden. Einer der Nachteile der Verwendung des VCL-MDI-Modells ist, dass es eine Hülle um die Unterstützung der Windows-Plattform ist – und diese Unterstützung hat zum Beispiel viele Schwierigkeiten auf HighDPI-Monitoren.
(oben) Eine MDI-Anwendung mit voller Styling-Unterstützung bei hoher DPI, dargestellt mit dem VCL-Stil Glow (links) und dem VCL-Stil Aqua Light Slate (rechts)
Nach umfangreicher Analyse und technischer Überprüfung haben wir beschlossen, dass es sich lohnt, einen Versuch zu unternehmen, alle wichtigen Plattformfragen zu umgehen und das VCL-MDI-Modell zu überarbeiten. Obwohl es immer noch auf der Kern-API der Plattform basiert, haben wir die meisten Plattformfragen behoben und gelöst. Darüber hinaus führen wir eine neue Option für das Hosten von MDI-Formularen (oder generell von Formularen) in einer tab-basierten Benutzeroberfläche ein, wie Sie unten sehen können. Für alle unsere Kunden, die die MDI-Benutzeroberfläche verwenden, wird die nächste Version einen frischen Wind bringen – und den Anwendungen neues Leben einhauchen. Insbesondere haben wir uns auf die HighDPI-Unterstützung und die Unterstützung von VCL-Styles konzentriert, so dass Sie alle bestehenden VCL-Modernisierungsfunktionen auch für MDI-Anwendungen nutzen können.
(oben) Das neue, auf Registerkarten basierende MDI-Modell
Und Vieles mehr
Es gibt noch viel mehr, woran die Entwicklungsabteilung von Embarcadero derzeit arbeitet, und zwar in Bezug auf Bibliotheken, IDE, Compiler, Plattform-Updates und Datenbankzugriff. Das nächste Release von RAD Studio wird ein großes Release für C++-Entwickler sein. Aber auch für Delphi-Entwickler wird es ein sehr wichtiges Release sein, mit Verbesserungen in allen Produktbereichen.
Bleiben Sie dran, wenn Sie in den kommenden Monaten weitere Informationen und einen frühen Beta-Zugang erhalten möchten, zunächst für unsere Kunden mit einem aktiven Premium-Abonnement.
Haftungsausschluss: Alle neuen Funktionen und Verbesserungen, die in diesem Blogbeitrag für zukünftige Versionen von RAD Studio diskutiert werden, sind bis zur Fertigstellung und Freigabe nicht verbindlich.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition