Delphiは、RAD(Rapid Application Development)をサポートするソフトウェアです。 ビジュアルデザイナーや、Windows用のVCLとクロスプラットフォーム開発用のFireMonkey(FMX)という2つのアプリケーションフレームワークが大きな特徴です。
Delphiは、Turbo Pascalの後継として、Anders Hejlsberg氏がBorland社(現IDERA社)のために開発したPascalベースのプログラミング言語「Object Pascal」を採用しています。
Delphiは、Microsoft Windows向けの開発をサポートし、他のソフトウェア開発ツールで開発されたコードとの相互運用性を高めるために、参照カウントされたクラスの実装を持つCOM(Component Object Model)の独立したインターフェイスをサポートし、多くのサードパーティコンポーネントをサポートしています。 インターフェースの実装は、クラスのフィールドやプロパティに委ねることができます。 メッセージ ハンドラは、クラスのメソッドに、処理するメッセージの整数定数をタグ付けすることで実装されます。
データベース接続は、VCL のデータベース対応コンポーネントとデータベース アクセス コンポーネントによって広範囲にサポートされています。
最近のバージョンでは、コミュニティグループのFastCodeによって提供された、アップグレードされた拡張ランタイムライブラリルーチンが含まれています。
CharacteristicsEdit
Delphiは、使いやすいことを目的とした、強型化された高レベルプログラミング言語を使用しており、元々は初期のObject Pascal言語をベースにしています。 Pascalは、「当時知られていた基本的な構造を、簡潔かつ論理的に表現するのに適した」汎用言語として開発され、「その実装は効率的で、既存のFORTRANコンパイラに対抗できるものでなければならない」とされていましたが、低レベルのプログラミング機能やハードウェアへのアクセスはありませんでした。 Turbo Pascalとその子孫であるDelphiは、ハードウェアへのアクセスと低レベルのプログラミングをサポートしており、アセンブリ言語や他の言語で書かれたコードを組み込むことができる。 Delphiのオブジェクト指向は、クラスベースとインターフェースベースのポリモーフィズムのみを特徴とする。 メタクラスはファーストクラスのオブジェクトである。 オブジェクトは実際には(Javaのように)オブジェクトへの参照であり、Delphiはこれを暗黙のうちに非参照にするので、通常、オブジェクトへのポインタのために手動でメモリを割り当てたり、他のいくつかの言語が必要とする同様の技術を使用する必要はない。
文字列は、関数ではなく「+」演算子を使用して連結できます。 専用の文字列型では、Delphi はプログラマーの介入なしにメモリ管理を行います。
Delphi には、統合された IDE があります。
Delphi には、統合された IDE があります。Delphi 製品には、ランタイム ライブラリ (RTL) と Visual Component Library (VCL) が付属しており、ほとんどのソース コードが含まれています。 また、IDEを強化するためのサードパーティ製コンポーネント(ソースコード付きの場合もあります)や、その他のDelphi関連の開発作業のためのツールが提供されており、一部は無償で提供されています。 IDEには、作成したプログラムをローカライズおよび翻訳するためのGUIが含まれており、翻訳者に配布することができます。この目的のために、より多くの機能を備えたサードパーティのツールもあります。 VCLフレームワークは、バージョン間で高いレベルのソース互換性を維持しているため、既存のソースコードを新しいバージョンのDelphiに更新することが容易です。 サードパーティのライブラリは通常、ベンダーによるアップデートが必要ですが、ソースコードが提供されている場合は、新しいバージョンで再コンパイルすれば十分です。 VCLは、依存性の注入や制御の反転をいち早く採用し、開発者が拡張可能な再利用可能なコンポーネントモデルを使用しています。 クラス ヘルパーを使えば、RTL や VCL の元のソース コードを変更することなく、RTL や VCL のコア クラスに新しい機能を導入することができます。
コンパイラは最適化されたシングル パスです。 オプションで、DLL を必要としない単一の実行ファイルにコンパイルすることができます。
Delphi 2005以降のDelphi IDEでは、メソッド抽出などのリファクタリング機能や、ソースコードからUMLモデルを作成したり、モデルに加えられた変更によってソースを修正する機能がますますサポートされています。
DelphiにはWeb上にコミュニティがあり、社員も積極的に参加しています。
後方互換性
Delphiの各新しいリリースでは、既存のコードを再利用できるように可能な限り後方互換性を維持しようとしていますが、新しい機能、新しいライブラリ、改良により、新しいリリースでは後方互換性が100%でなくなることがあります。
2016年以降、Delphiは半年ごとに新しいリリースを行っており、およそ2回目のリリースごとに新しいプラットフォームが追加されています。
FrameworksEdit
Delphiには、ビジュアルアプリケーション開発のためのVCLとFireMonkey(FMX)という2つのフレームワークがあります。
- VCL (Visual Component Library) は、純粋な Windows アプリケーションを開発するためのフレームワークです。VCL は、Delphi の最初のリリースに含まれており、それ以来、積極的に開発されている長年のフレームワークです。 FireMonkeyは、Windows、macOS、iOS、Android、Linux(x64)に対応したクロスプラットフォームのフレームワークです。 FireMonkeyのGUI部分は、主にDirect3DとOpenGLに基づいています。 FireMonkey は、VCL とは互換性がなく、2 つの独立したフレームワークです。
相互運用性
DelphiとそのC++版であるC++Builderは相互運用性があります。 IDE、VCL および FMX フレームワーク、ランタイム ライブラリの多くなど、多くのコア コンポーネントを共有しています。 さらに、これらはプロジェクトで共同使用することができます。 例えば、C++Builder 6以降では、DelphiとC++のソースコードを1つのプロジェクトにまとめることができ、C++BuilderでコンパイルしたパッケージをDelphi内で使用することができる。 2007年には、DelphiとC++Builderの共有ホストであるRAD Studioとして両製品が共同でリリースされ、どちらか一方または両方を購入することができます。