mixiユーザー(id:65780217)

2022年01月30日03:32

63 view

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月に、上記エンバカデロ・テクノロジーズがアイデラにより買収される発表がなされた[2]。

本項では 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のデリゲートにも引き継がれた)。

Delphiではビジュアルエディター上でオブジェクトのイベントハンドラーを設定することもでき、変更はソースコードに反映される。逆にコードエディター上でイベントハンドラーを記述してメソッドポインタをバインドするとビジュアルエディターにも変更が反映される。この双方向の同期手法はTwo-Way-Toolsと呼ばれ、ボーランドの特許である(発明者はアンダース・ヘルスバーグ)。

Delphiはバージョン1から5までは順調にバージョンアップを繰り返し、それなりに人気もあったが、Delphi 6 / 7ではドキュメントの品質が明らかに低下し、Delphi 8以降.NET FrameworkやC#もサポートした巨大な開発ツール (RAD Studio) に発展したが、製品自体の品質が落ちてしまい、利用者を急速に失った。その後、Delphiはボーランドのツール部門買収などの混乱の中で低迷が続いていたが、エンバカデロ・テクノロジーズのもとでC#と.NET Frameworkのサポートを廃止しスリム化、Delphi 2009で再びWin32用のツールとして再出発を果たした。その後Unicodeサポートなど多くの機能拡張も行われ、macOS、iOS、Android、Linux向けのアプリケーション開発にも対応、品質も安定してきており、往年の実力を取り戻しつつある。
0 0

コメント

mixiユーザー

ログインしてコメントを確認・投稿する