Delphi / C++Builder / RAD Studioの新バージョン、10.4 Sydneyが先週リリースされました。10.4は、Windows 10 VCLデスクトップアプリケーションの開発、マルチデバイス開発、生産性サポート機能などの強化が含まれており、アプリケーションパフォーマンスを最適化しつつ、コーディング作業やそのメンテナンスに費やす時間を削減します。
Delphi / C++Builder / RAD Studioのアップデートサブスクリプション(または上位のサポートプログラム)に加入している方は、my.embarcadero.com からインストーラをダウンロードできます。ぜひ、ご利用ください。
Table of Contents
10.4の新機能
さて、新機能の概要ですが、以下のビデオに日本語字幕を付けております。こちらがサマリーとしては最適でしょう。
以下は、新機能のまとめです。
Delphiの新機能
- Delphi向けCode Insightの大幅な改善
- RAD Studio 10.4では、Delphiのコーディングツールに対するここ数年での最大の改善点として、LSP(Language Server Protocol)のDelphi向け実装を使用した、コード入力支援機能「Code Insight」のアップデートを提供します。LSPは、コード補完、ナビゲーションなど、コード入力支援に関連する計算処理を提供する共通テクノロジーです。IDEは、別プロセスで実行されるLSPにコード入力支援に関する処理を依存することで、コード補完処理のためにIDEをブロックすることがなくなり、その結果もより精度の高いものとなります。10.4では、数百万行のコードからなる大規模プロジェクトで作業する場合でも、コード入力支援で高いパフォーマンスを発揮できるので、開発者は、開発者に生産性の大幅な向上を体感できるでしょう。
- 新しい言語機能:カスタム マネージド レコ―ド
- 新たに追加されたDelphi言語機能として、Delphiのレコード型に、カスタム初期化/ファイナライズ、コピー演算子のサポートが追加されました。開発者は、レコードの生成、コピー、破棄でカスタムコードを記述できるようになります。これにより、Delphiのレコード型にさらに機能が追加され、クラスと比較しても効率性の高いデータ型として使用できるようになります。
- 共通のメモリ管理
- Delphiのメモリ管理機構は、すべてのサポートプラットフォーム(モバイル、デスクトップ、サーバー)で、従来型のオブジェクトメモリ管理の方式に統一されました。ARC(Automatic Reference Counting:自動参照カウント)と比較して、既存コードとの互換性が高く、コンポーネント、ライブラリ、エンドユーザーアプリケーションで、よりシンプルなコーディングが可能になります。ARCモデルは、文字列管理やインターフェイス型の参照向けに、すべてのプラットフォームで残されます。
- C++向けには、この変更はC++コード内でのDelphiスタイルのクラスの生成や定義が、ヒープに割り当てられるC++クラスと同様の通常のメモリ管理に従うこととなり、複雑性が大幅に低減することを意味します。
C++Builderの新機能
- C++ライブラリサポートの拡張
- 10.4では、さまざまな人気のC++ライブラリをC++Builder向けに移植し、C++Builder内で利用できるように最適化しました。 これには、すでにサポートされているEigenなどに加え、ZeroMQ、SDL2、SOCI、libSIMDpp、Nematodeなどのライブラリが含まれます(GetItパッケージマネージャからダウンロード可能)。
- C++向けWin 64デバッガとリンカ
- 10.4では、新しいWindows 64-bit C++向けデバッガが導入されました。LLDBをベースとした新しいデバッガは、64-bitアプリケーションのデバッグ時の安定性を大幅に改善し、C++やDelphiの文字列型のほか、STLコレクション(std::vectorやstd::mapなど)など、複雑なデータ型の評価やインスペクトをサポートしています。新しいデバッガでは、従来とは異なるデバッグ情報のフォーマットを使用しています。これにより、より安定したデバッグが可能となり、従来よりも強力なデータの評価/インスペクトを実現しています。
- ツールチェインのパフォーマンスと品質改善
- Dinkumware STLにおける数多くの改善
- いくつかの主要なRTLメソッドと関連する機能の改善(主に共通C++ライブラリとの互換性を改善するために実施)
- CMakeサポートの改善
- 数多くの品質改善と安定性向上
VCLによるWindows向け開発の新機能
- High DPI向けVCLスタイルの変更
- 10.4では、High DPIおよび4Kモニターサポート向けに、VCLスタイルアーキテクチャが大幅に拡張され、VCLフォーム上のすべてのUIコントロールは、フォームが表示されるモニターの適切な解像度に合わせて自動的にサイズ変更されます。スタイルAPIもアップデートされ、High DPIスタイルをサポートしました。
- 各UI要素は、マルチスケールバージョンのライブラリから任意のDPIに対応するようにスケーリングされるため、すべてのモニターで鮮明なUI要素を実現できます。
- 新しいHigh DPI スタイル
- 数多くのビルトイン/プレミアムVCLスタイルをアップデート。新しいHigh DPIスタイル モードをサポートすることで、あらゆるモニター向けに、完成度の高いアプリケーションのデザインを可能にしました。
- コントロールごとのVCLスタイル設定
- VCLアプリケーション開発者は、複数のVCLスタイルを、単一のアプリケーション内の異なるフォーム、あるいは同じフォーム上の異なるビジュアルコントロールに適用できるようになりました。これには、プラットフォームデフォルトテーマとの両立も含みます。その結果、スタイル設定にさらなる柔軟性が加わるだけでなく、スタイルをサポートしていないサードパーティコントロールを、スタイル付きVCLアプリケーションで使用可能にする効果も得られます。
- 新しいVCLコンポーネント「Edge Browserコントロール」
- 10.4に新たに搭載されたTEdgeBrowserを用いれば、VCLアプリケーションで、Chromiumベースの新しいMicrosoft Edge WebView2を使用できます。これにより、よりモダンでセキュアなHTMLエンジンを利用できるようになります。
- 従来のTWebBrowserコンポーネントは、既存のInternet ExplorerベースのエンジンとEdgeブラウザを切り替えて利用できます。稼働環境でEdgeブラウザが利用可能かを判断して、自動的に切り替えることも可能です。
- 新しいVCLコンポーネント「TTitleBarPanel」と「CustomTitleBar」プロパティ
- 新しいTTitleBarPanelコントロールとTForm.CustomTitleBarプロパティにより、VCLフォームのネイティブWindowsタイトルバーのカスタマイズが可能になりました。これにより、Office、Explorer、Google Chrome などのアプリケーションと同様の、最新の拡張タイトルバーを構築できます。
- 新しいVCLコンポーネント – マルチ解像度をサポートするイメージコンポーネント
-
- 新しいTVirtualImageがマルチ解像度/DPIスケーリングをサポート。従来のTImageコンポーネントと置き換えることで、高品質なイメージスケーリングと表示が可能になります。
-
- Windows APIのアップデート
- 強力なWindowsプラットフォーム統合をさらに向上させるため、多くの API宣言の拡張と追加を実施
FireMonkeyプラットフォームの主な強化ポイント
macOSおよびiOS向けMetal Driver GPUサポート:
- FireMonkey Metal APIサポートにより、Appleが規定する要件へのスムーズな移行と、ネイティブパフォーマンスによる高速な画面描画が可能になります。Metal APIサポートは、DelphiでmacOSプラットフォーム向け、DelphiおよびC++BuilderでiOS向けに提供されます。
Storyboard Launch Screenのサポート:
- RAD Studio 10.4のIDEでAppleの新しいLaunch Screen Storyboardの機能要件に対応しました。
ネイティブコントロールのアップグレード:
-
- iOS向けTWebBrowserコントロールを新たにWKWebView APIを使用して実装。macOS向けMedia Playerコントロールの実装には、AVFoundationを使用するようになりました。Windowsプラットフォーム向けスタイル付きTMemoコンポーネントの新しいFMX実装を提供し、IMEサポートの改善と追加の機能強化を加えました。
- EnterpriseおよびArchitect版では、Linux GUIアプリケーション構築に用いるFMXLinuxの統合機能を利用可能。
- iOS向けTWebBrowserコントロールをWKWebView APIを使用して実装
- macOS向けMedia Playerコントロールの実装にAVFoundationを使用
- FireMonkeyフレームワークは、サポートOSの最新バージョンをターゲットとした開発をサポートします。
ランタイムライブラリの主要な強化ポイント
- 並列プログラミングライブラリの強化:PPL(Parallel Programming Library:並列プログラミングライブラリ)のパフォーマンスと安定性を大幅に強化。最新のマルチコアCPUの性能をさらに発揮できます。
- FireDACデータベースアクセスの強化:PFireBird、PostgreSQL、SQLiteのドライバを更新。SQLite組み込みデータベース向けには、静的リンクと動的リンクが選択できるようになりました。
- クラウドサポートの拡張:HTTPおよびRESTクライアントライブラリを、追加のHTTPS機能を搭載してアップデート。また、Amazon AWSサービスのサポートも拡張されました。
- LiveBindingのパフォーマンス強化:
- VCLとFireMonkeyの双方に対して、Visual LiveBindingアーキテクチャと実装を、特にパフォーマンスにフォーカスして大幅に強化。その結果、一部のLiveBinding操作で10倍以上の高速化を実現しました。
- さらに、TDataSetにバインドされたVCL/FireMonkeyコントロールで、DisplayWidth、Alignment、EditMaskといった紐づけられたTFieldのプロパティを、自動的に適応する機能が加わりました。
IDEの主な機能強化ポイント
- GetItパッケージマネージャの強化:
- IDEのGetItパッケージマネージャを大幅に強化。パッケージをリリース日で並べ変えたり、インストールパッケージ、アップデートサブスクリプションユーザー向けのコンテンツ、アップデートが提供されているパッケージなどの基準でフィルタリングできるようになりました。
- オンライン/オフラインで共通のインストーラを提供:
- 10.4では、GetItインストーラテクノロジーを使用した統合インストーラを導入しました。これにより、(インターネット接続環境での)オンラインインストールと、(ISOイメージを用いた)オフラインインストールの双方で、単一のインストーラを使用するようになりました。オンラインとオフラインインストールのいずれでも、プログラミング言語とターゲットプラットフォームの選択を任意に選択可能。言語サポート、ヘルプリソースなど、インストールセットはいつでも追加/削除可能です。
- コードエディタの改善:コードエディタに、数多くの生産性向上のための改善を加えました。エディタのステータスバー上のファイルコードページやフォントサイズなどの新しい設定項目が加わりました。
- IDEと主要なダイアログでは、新しいTCustomTitleBarコントロールを使用して、タイトル バー上の検索/設定が可能になりました。これにより、ネイティブのルック&フィールと Windows DWMの動作が実現されています。
RAD Studio 10.4では、1,000を超える品質改善とパフォーマンス向上を実施しています。これには、Quality Portalでお客様から寄せられた700件以上の問題に対する修正が含まれます。
品質改善に関する主なフォーカスエリアには、以下の項目が含まれます。
- Visual Live Binding: パフォーマンスの改善と新機能
- AppTetheringの品質
- 並列プログラミングライブラリの品質と機能強化
- C++ツールチェイン(コンパイラ、リンカ、デバッガ)
- RTLパフォーマンスといくつかの新機能(バッファリング、FreeAndNil)
- FireDACドライバーのアップデート(SQLiteなど)
- HTTP、REST、Cloud、SOAPクライアントの改善
10.4発売記念キャンペーン
さて、今回RAD Studio 10.4 Sydneyの発売を記念して、2020年6月25日まで、Eショップ限定のキャンペーンを実施します。最新バージョンの購入にぜひご活用ください。