![Libraries Update | Embarcadero RAD Studio Delphi C++Builder Blogs libraries update](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2023/05/Libraries-Update-1249382.png?resize=1140%2C694&ssl=1)
RAD Studioの今後の動向に注目している方の中には、C++言語への再フォーカスという観点で紹介しているC++Builderの開発者必見!! 「注目いただきたいプレビューを紹介」のブログを既にご覧いただいている方もいるかもしれません。今回のブログでは、C++Builderのエキサイティングなアップデートに続いて、製品の他の分野、特に VCL と FireMonkey UI ライブラリに関する計画について何点か情報を共有させていただきたいと思います。
FireMonkeyの新しい基盤: Skia
RAD Studio のマルチデバイス、クロスプラットフォーム UI ライブラリは、スタイルを使用して UI のレンダリングを抽象化するというコンセプトに基づいています。スタイルは、いくつかのプリミティブなグラフィックオブジェクトと要素を使用して実装され、FireMonkey によって DirectX から Metal まで、さまざまなグラフィックドライバにマッピングされます。
近年、この分野では、FireMonkeyがサポートする同じプラットフォームのネイティブドライバの上で動作しながら、より複雑なプリミティブで、より高い抽象度を提供するライブラリが登場しています。
このライブラリは「Skia」と呼ばれ、あらゆる種類の2Dグラフィックアプリケーションに驚異的なパワーを提供し、パフォーマンスなどの性能面でも大きな注目を集めています。
Skiaは、GoogleのChromeブラウザをはじめとして、現在最も成功しているマルチデバイス アプリケーションの一部を支えています。
現在、Skia4Delphi ライブラリを使用することで、Skia を使用して FireMonkey アプリケーションを強化することができます。このライブラリも GetIt で直接入手できます。RAD Studioの将来のバージョンでは、SkiaとSkia4Delphiをより深く、そしてすぐに使用できるような統合が予定されています。RAD Studioの製品の一部にすることで、よりスムーズなエクスペリエンスを提供し、FireMonkeyのエコシステムを代表するライブラリになりえます。また統合するメリットとしては、特にAndroidでのレンダリングの高速化だけでなく、Skiaベースのドライバを使用した場合に利用可能な多くの追加機能とコンポーネントが提供されているため、RAD Studioでもこれらの優秀な機能を享受できることです。
Skiaをサポートする一環として、FireMonkeyのGPUドライバとして使用するだけでなく、FireMonkeyやVCLライブラリ向けの特定のUIコントロールも提供する予定です。
![SkLabeldecorated | Embarcadero RAD Studio Delphi C++Builder Blogs sklabel decorated](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2023/05/SkLabel_decorated-4868899.png?resize=611%2C405&ssl=1)
(上図の例では、SkLabel コントロールは、オブジェクトインスペクタで確認できるように、異なるテキスト属性を持つ 1 つのラベルの複数のセクションをサポートしています。)
VCLのモダナイゼーション: MDIの復活
エンバカデロでは、多くのお客様が既存のVCLアプリケーションを継続して維持し、モダナイゼーションすなわちアプリの最新化のご要望があることを十分に理解しています。そのためVCLライブラリは、HighDPIのサポート、洗練されたスタイル アーキテクチャ、新しいバージョンのプラットフォーム コントロールの使用、WinRT APIの統合、MSIX 展開のサポート、WebView2コントロール(EdgeブラウザのChromiumベースのエンジン)の統合など、アプリケーションのモダナイゼーションのための強力なサポートを継続的に提供しています。
ここ数年、エンバカデロではMDIモデル(Multiple Document Interface)のサポートを積極的に行っておりませんでした。MDIモデルは比較的時代遅れのUIパラダイムで、コンテナのメインウィンドウにホストされた複数のウィンドウ(同じ種類のコンテンツまたは異なる種類のコンテンツを表示)を持つことに基づいています。ただ古いスタイルではありますが、いまだに効果的であり、多くのお客様がMDIモデルを長期間使用し、ユーザー向けのトレーニングも継続して行っているという理由から、今後もMDIを使い続けたいというご要望があることも理解しています。ただVCLのMDIモデルを使用することの欠点の 1つは、このライブラリ自体がWindowsプラットフォームサポートのラッパーであるため、例えば、HighDPIモニターをサポートする上で多くの問題が発生します。
![rad12mdilight | Embarcadero RAD Studio Delphi C++Builder Blogs rad12 mdilight](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2023/05/rad12_mdilight-3200521.png?resize=488%2C471&ssl=1)
![rad12mdidark | Embarcadero RAD Studio Delphi C++Builder Blogs rad12 mdidark](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2023/05/rad12_mdidark-1508395.png?resize=516%2C468&ssl=1)
(上図は、高DPIのVCLスタイルをサポートしたMDIアプリケーションを、Glow VCLスタイルとAqua Light Slate VCLスタイルで表示した場合の例)
これまでの広範な調査とエンジニアリングのレビューを行った結果、主要なプラットフォームの問題を洗い出し、VCL MDIモデルを再構築する価値があると判断いたしました。エンバカデロでは、コアのプラットフォームAPIに基づいていながらも、ほとんどのプラットフォームの問題を回避、そして対処してきました。さらにMDIフォーム(または一般的なフォーム)をタブベースのUIでホストする新しいオプションを導入しています(下図を参照ください)。MDI UIをご利用のお客様にとって、次のリリースはとても新鮮で、アプリケーションに新しい息吹を吹き込むことになるでしょう。特に、HighDPIのサポートとVCLスタイルのサポートの両方に重点を置いており、既存のVCLのモダナイゼーション機能をMDIアプリケーションでも利用することができます。
![rad12mditabs | Embarcadero RAD Studio Delphi C++Builder Blogs rad12 mditabs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2023/05/rad12_mditabs-9680606.png?resize=750%2C403&ssl=1)
(上図は、タブベースの新しいMDIモデルの例)
まとめ
エンバカデロの開発部門は現在、ライブラリ、IDE、コンパイラ、プラットフォームアップデート、データベースアクセスに加えて、他にも多くの内容に取り組んでいます。RAD Studio の次のリリースでは、C++ 開発者にとっては大規模なリリースになりますが、Delphi開発者にとっても、すべての製品分野で強化された非常に重要なリリースとなります。
今後、数ヶ月以内に現在よりも詳細なRAD Studio の次のリリースに関する情報を発表していきますが、まずはPremiumサブスクリプションのお客様を対象とした早期ベータアクセスを開始する予定ですので、どうかご期待ください。
最後にこのブログで紹介している情報は、あくまで現時点でのRAD Studioの将来バージョンに実装する機能の予定となりますので、記載されている内容をすべてコミットするものではありません。どうか予めご了承ください。
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition