「Delphi」のその他の用法については「デルファイ」をご覧ください。
Delphi開発元Borland International (1-3)
Inprise Corporation (4、5)
Borland Software Corporation (6-Turbo)
CodeGear (2007、2009)
Embarcadero Technologies (2010 以降)
初版1995年
最新版RAD Studio 12 Athens / 2023年11月8日 (6か月前) (2023-11-08)[1]
対応OSMicrosoft Windows 11[2]
対応言語日本語、英語、フランス語、ドイツ語
種別統合開発環境
ライセンスプロプライエタリ・ライセンス
公式サイトwww.embarcadero.com/jp/products/delphi
Delphi(デルファイ)は、コンソール (CUI)、デスクトップ (GUI)、Web、モバイルアプリケーション開発のための統合開発環境 (IDE) である。
DelphiのコンパイラはObject Pascalの独自拡張 (Delphi 言語) を用いて、プラットフォーム毎にネイティブコードを生成する。開発環境としてサポートされているのはMicrosoft Windowsのみだが、アプリケーション配置の対応プラットフォーム(ターゲット環境)はWindows (x86/x64)、macOS (x64/ARM64)、iOS (ARM64)、Android (ARM32/ARM64)、Linux (x64) となっている。
元々DelphiはボーランドがTurbo Pascal / Borland Pascalの後継として開発したWindows用のRADツールである。C++Builderとは多くのコアコンポーネント、特にIDEとVisual Component Library (VCL) を共有していたが、RAD Studioの前身となるBorland Developer Studio 2006の登場まではそれぞれ独立した製品だった。
2006年にボーランドの開発ツール部門がコードギアとして完全子会社化され、2008年にエンバカデロ・テクノロジーズに買収された。2015年10月に、上記エンバカデロ・テクノロジーズがアイデラ(英語版)により買収される発表がなされた[3]。
本項では Delphi Prism として開発されていた 「Embacardero Prism(エンバカデロ プリズム)」 についても述べる。 DelphiはWindows、macOS、iOS、Android、Linux向けアプリケーションを開発するための統合開発環境 (IDE) である。 「コンポーネント」と呼ばれるソフトウェア部品を 「フォーム」 や 「データモジュール」 に貼り付ける手法により、ユーザインタフェースやアプリケーションロジックの設計を視覚的に行え、ソフトウェアの開発を迅速に行える。またコンポーネント自体も Delphi で開発可能であり、その開発環境自身も利用者(開発者)のニーズに従って拡張可能である。コンポーネント指向プログラミング
概要
Delphiで使われるコンポーネントのフレームワークには「Visual Component Library (VCL)」、「Component Library for Cross Platform (CLX)」、「FireMonkey(英語版) (FMX)」がある。このフレームワークを用いてC++言語でのWindows向けソフトウェア開発を実現したものが「C++Builder」である。
VCLは最初期のDelphiから存在するWindows専用のフレームワークであり、Windows APIおよびWindowsコントロール(UI部品)を抽象化したものである。
Object Pascal (Delphi) / C++ (C++Builder) 言語でのLinuxソフトウェア開発を可能にした製品として「Kylix」がある。これはCLXフレームワークによるマルチプラットフォームアプリケーション作成を行うもので、WindowsではDelphi / C++Builderを、LinuxではKylixを用いてマルチプラットフォームアプリケーション開発を行うものだった。しかしながらLinuxのデスクトップ環境のサポートの難しさから安定した品質を提供できず、Kylix 3を最後に開発を終了しており、DelphiでのCLXサポートもDelphi 7が最後となっている。
Delphi XE2以降、FireMonkeyフレームワークによるマルチプラットフォームアプリケーション開発に対応し、最新版ではWindows、macOS、iOS、Android、Linux向けのアプリケーションを作成することが可能となっている。ただし、開発環境としてのDelphiは依然としてWindows上でしか動作しない。
GUIプログラミングでは、オブジェクトのイベントの処理をイベントハンドラーに委譲 (delegation) するスタイルの設計パターン(Observer パターン)を採用することが多い。このような場合、例えばJavaでは継承(インターフェイスの実装)を使用するが、Delphiはメソッドポインタの機能によって委譲をサポートしている(メソッドポインタはのちにC#/VB.NETのデリゲートにも引き継がれた)。