RAD Studio 10.4の新機能
RAD Studio 10.4では、ハイパフォーマンスなネイティブWindowsアプリケーション開発を強力にサポートする大幅な機能強化が加えられています。高速化したコード補完機能、マネージドレコードのサポートや並列プログラミングの強化など、最新のマルチコアCPUの性能を最大限活かしたプログラミングが可能。1000を超える品質/パフォーマンス改善にいくつもの新機能が搭載されています。
10.4 Release 1提供開始
いよいよRAD Studio 10.4 Sydneyがリリースされました。新バージョンでは、Windows開発に関する大幅な機能強化に加え、すべてのサポートプラットフォームにわたって生産性やパフォーマンスの強化が施されています。有効なアップデートサブスクリプションに加入しているユーザーは、最新のDelphi 10.4、C++Builder 10.4、RAD Studio 10.4をすぐにダウンロードできます。
10.4の詳細はこちら

RAD Studio 10.4の概要

VCLスタイルとHigh DPI対応ですぐれたビジュアルUIを構築

新しいネイティブWindows VCLコンポーネントとアップデートされたWindows API

クロスプラットフォームサポートの強化

RTLの強化によるコードのスピードアップ

Delphiの新機能
Delphi向けには、Object Pascal向けコード補完機能の改善、新しいカスタムマネージドレコード、共通メモリ管理、RTLのスピード改善、ツールチェインのパフォーマンスと品質改善などが提供されています。

C++Builderの新機能
C++向けには、C++ライブラリサポートの拡張、Windows 64-bit向けの新しいデバッガ、ツールチェインのパフォーマンスと品質向上などが提供されています。

IDEの強化による生産性の向上

Salient Features

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のレコード型にさらに機能が追加され、クラスと比較しても効率性の高いデータ型として使用できるようになります。


共通のメモリ管理
Delphiのメモリ管理機構は、すべてのサポートプラットフォーム(モバイル、デスクトップ、サーバー)で、従来型のオブジェクトメモリ管理の方式に統一されました。ARC(Automatic Reference Counting:自動参照カウント)と比較して、既存コードとの互換性が高く、コンポーネント、ライブラリ、エンドユーザーアプリケーションで、よりシンプルなコーディングが可能になります。ARCモデルは、文字列管理やインターフェイス型の参照向けに、すべてのプラットフォームで残されます。C++向けには、この変更はC++コード内でのDelphiスタイルのクラスの生成や定義が、ヒープに割り当てられるC++クラスと同様の通常のメモリ管理に従うこととなり、複雑性が大幅に低減することを意味します。
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サポートの改善
- 数多くの品質改善と安定性向上
- Windows APIのアップデート - 強力なWindowsプラットフォーム統合をさらに向上させるため、多くの API宣言の拡張と追加を実施
- データベースアクセスライブラリFireDACの全般的な機能強化を実施。FireBird、PostgreSQL、SQLiteのドライバを更新しました。SQLite組み込みデータベース向けには、静的リンクと動的リンクが選択できるようになりました。


High DPI向けVCLスタイルの変更
10.4では、High DPIおよび4Kモニターサポート向けに、VCLスタイルアーキテクチャが大幅に拡張され、VCLフォーム上のすべてのUIコントロールは、フォームが表示されるモニターの適切な解像度に合わせて自動的にサイズ変更されます。スタイルAPIもアップデートされ、High DPIスタイルをサポートしました。
各UI要素は、マルチスケールバージョンのライブラリから任意のDPIに対応するようにスケーリングされるため、すべてのモニターで鮮明なUI要素を実現できます。
新しいHigh DPI スタイルとコントロールごとのVCLスタイル設定
数多くのビルトイン/プレミアムVCLスタイルをアップデート。新しいHigh DPIスタイル モードをサポートすることで、あらゆるモニター向けに、完成度の高いアプリケーションのデザインを可能にしました。
VCLアプリケーション開発者は、複数のVCLスタイルを、単一のアプリケーション内の異なるフォーム、あるいは同じフォーム上の異なるビジュアルコントロールに適用できるようになりました。これには、プラットフォームデフォルトテーマとの両立も含みます。その結果、スタイル設定にさらなる柔軟性が加わるだけでなく、スタイルをサポートしていないサードパーティコントロールを、スタイル付きVCLアプリケーションで使用可能にする効果も得られます。


クロスプラットフォームサポートの強化
- macOSおよびiOS向けにMetal APIをサポート
- 最新のiOS SDKのサポートに加え、RAD Studio 10.4のIDEでAppleの新しいLaunch Screen Storyboardの機能要件に対応
- このリリースには、Windowsプラットフォーム向けスタイル付きTMemoコンポーネントの新しいFMX実装が含まれており、IMEサポートの改善と追加の機能強化を提供
- EnterpriseおよびArchitect版では、Linux GUIアプリケーション構築に用いるFMXLinuxの統合機能を利用可能
- iOS向けTWebBrowserコントロールをWKWebView APIを使用して実装
- macOS向けMedia Playerコントロールの実装にAVFoundationを使用
GetItパッケージマネージャの強化
10.4では、IDEのGetItパッケージマネージャを大幅に強化。
パッケージをリリース日で並び変えたり、インストールパッケージ、アップデートサブスクリプションユーザー向けのコンテンツ、アップデートが提供されているパッケージなどの基準でフィルタリングできるようになりました。


オンライン/オフラインで共通のインストーラを提供
10.4では、GetItインストーラテクノロジーを使用した統合インストーラを導入しました。これにより、(インターネット接続環境での)オンラインインストールと、(ISOイメージを用いた)オフラインインストールの双方で、単一のインストーラを使用するようになりました。
オンラインとオフラインインストールのいずれでも、プログラミング言語とターゲットプラットフォームの選択を任意に選択可能。言語サポート、ヘルプリソースなど、インストールセットはいつでも追加/削除可能です。
設計、構築、実行をサポート
RAD StudioのIDEは、単一コードベースでマルチプラットフォーム向けアプリケーションを構築するためのすべての開発サイクルをサポートしています。設計、実装、ビルド、配置、デバッグまで、すべての開発ステップを強力にサポートします。