Als je volgt wat er gebeurt rond RAD Studio, heb je waarschijnlijk onze aankondiging gezien over een hernieuwde focus op de C++ taal, Wat komt er aan voor C++Builder: Een verbazingwekkende voorbeschouwing. Als vervolg op onze C++Builder updates, wilden we graag wat details delen over wat we gepland hebben voor de andere delen van het product, in het bijzonder onze VCL en FireMonkey UI bibliotheken.
Een nieuwe fundering voor FireMonkey: Skia
RAD Studio's multi-apparaat, cross-platform UI-bibliotheek is gebaseerd op het concept van het abstraheren van de werkelijke rendering van de UI-elementen, met behulp van stijlen. Stijlen worden geïmplementeerd met behulp van een aantal primitieve grafische objecten en elementen, die door FireMonkey worden toegewezen aan verschillende grafische stuurprogramma's, van DirectX tot Metal.
In de afgelopen jaren is er een bibliotheek opgedoken die een hoger abstractieniveau biedt met complexere primitieven terwijl het werkt bovenop dezelfde platform native stuurprogramma's die FireMonkey ondersteunt. Deze bibliotheek heet Skia en het biedt ongelooflijke kracht voor 2D grafische toepassingen van alle soorten, samen met een aanzienlijke prestatiegerichtheid. Skia voedt enkele van de meest succesvolle multi-apparaat toepassingen van dit moment, te beginnen met Google's Chrome-browser.
Het is mogelijk om Skia te gebruiken om FireMonkey-toepassingen te voeden, door gebruik te maken van de Skia4Delphi bibliotheek, die ook direct beschikbaar is in GetIt. Wat er in toekomstige versies van RAD Studio aan zit te komen is een diepe en out-of-the-box integratie van Skia en Skia4Delphi: Door het onderdeel te maken van het product, bieden we een soepelere ervaring en maken we het een eerste klas burger in het FireMonkey ecosysteem. De voordelen zijn onder andere snellere rendering, specifiek op Android, maar ook een aantal extra functies en componenten die beschikbaar zijn wanneer je een op Skia gebaseerd stuurprogramma gebruikt.
Merk op dat als onderdeel van de Skia ondersteuning, we niet alleen van plan zijn om het te gebruiken als een FireMonkey GPU driver, maar ook van plan zijn om specifieke UI besturingselementen voor FireMonkey en zelfs voor de VCL bibliotheek op te nemen.

(Het besturingselement SkLabel ondersteunt meerdere gedeelten van één label met verschillende tekstkenmerken, zoals je kunt zien in de Object Inspector)
VCL modernisering: De terugkeer van MDI
Op een heel ander vlak weten we dat veel van onze klanten bestaande VCL applicaties hebben die ze actief willen houden en willen moderniseren. De VCL-bibliotheek heeft voortdurend krachtige ondersteuning geboden voor de modernisering van toepassingen, zoals HighDPI-ondersteuning, een geavanceerde stylingarchitectuur, het gebruik van nieuwere versies van de platformbesturingselementen, de integratie van WinRT API, de ondersteuning van MSIX-implementatie en de integratie van het WebView2-besturingselement (de op Chromium gebaseerde engine van de Edge-browser).
De afgelopen jaren zijn we afgestapt van de ondersteuning voor het MDI-model (de Interface voor meerdere documenten). Dit is een relatief verouderd UI-paradigma, gebaseerd op het hebben van meerdere vensters (met hetzelfde type inhoud of verschillende typen) gehost in een container hoofdvenster. Hoe oud het ook is, het MDI-model kan effectief zijn en veel van onze klanten gebruiken het al heel lang, hebben hun gebruikers erop getraind en willen het daarom liever blijven gebruiken. Een van de nadelen van het gebruik van het VCL MDI model is dat het een wrapper is rond de ondersteuning van het Windows platform - en die ondersteuning heeft bijvoorbeeld veel problemen op HighDPI monitoren.

(boven) Een MDI-toepassing met volledige stylingondersteuning op hoge DPI, getoond met de Glow VCL-stijl (links) en de Aqua Light Slate VCL-stijl (rechts).
Na uitgebreid onderzoek en technische evaluatie hebben we besloten dat het de moeite waard was om een poging te doen om alle belangrijke platformproblemen te omzeilen en het VCL MDI-model te herwerken. Hoewel we nog steeds gebaseerd zijn op de kern API van het platform, hebben we de meeste platformproblemen omzeild en aangepakt. Daarnaast introduceren we een nieuwe optie voor het hosten van MDI-formulieren (of elk formulier in het algemeen) in een tabgebaseerde UI, zoals je hieronder kunt zien. Voor al onze klanten die gebruik maken van de MDI UI zal de volgende release een frisse wind laten waaien en applicaties nieuw leven inblazen. We hebben ons met name gericht op zowel HighDPI-ondersteuning als ondersteuning voor VCL-stijlen, zodat je alle bestaande VCL-moderniseringsfuncties ook voor MDI-toepassingen kunt gebruiken.

(boven) Het nieuwe op tabbladen gebaseerde MDI-model
En nog veel meer
Er is nog veel meer waar Embarcadero R&D momenteel aan werkt, op het gebied van bibliotheken, IDE, compilers, platform updates en databasetoegang. De volgende release van RAD Studio zal een enorme release zijn voor C++ ontwikkelaars, maar het zal ook een zeer belangrijke release zijn voor Delphi ontwikkelaars, met verbeteringen in alle productgebieden.
Blijf op de hoogte voor meer informatie in de komende maanden en vroege bètatoegang, te beginnen met onze klanten met een actief Premium-abonnement.
Disclaimer: Alle nieuwe functies en verbeteringen besproken in deze blog post voor toekomstige versies van RAD Studio zijn niet toegezegd totdat voltooid, en GA vrijgegeven.
Ben je geïnteresseerd in de nieuwste versie voor een speciale prijs?
