Delphi(ソフトウェア)

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
Delphi
Embarcadero Delphi 10.4Sydney製品のロゴとIcon.svg
VCLデザイナーとDarkTheme.pngを使用したDelphi10.4IDEのスクリーンショット
Delphi 10.4のスクリーンショット、アプリケーションの作成に使用されているビジュアルフォームエディタ
原作者ボーランドコードギアエンバカデロ
開発者エンバカデロテクノロジーズ
安定リリース
RAD Studio11アレクサンドリア[1] ウィキデータでこれを編集する / 2021年9月9日; 4ヶ月前 (9 September 2021)
で書かれている主にDelphi(Object Pascal)
オペレーティング・システムWindows10で実行されます; [2] Windows 10LinuxmacOSAndroidiOSを対象としています
タイプソフトウェア開発デザイナーIDEコンパイラRTL
ライセンスフリーミアム
Webサイトembarcadero .com / products / delphi

Delphiは、 Object Pascalプログラミング言語のDelphi方言を使用するソフトウェア製品であり、デスクトップ、モバイルWeb、およびコンソールソフトウェアの迅速なアプリケーション開発のための統合開発環境(IDE)を提供します[3]。現在EmbarcaderoTechnologiesによって開発および保守されています。

Delphiのコンパイラは、 Microsoft WindowsmacOSiOSAndroid、およびLinuxx64 )用のネイティブコードを生成します。[4] [5] [6]

Delphiには、コードエディタ、ビジュアルデザイナ、統合デバッガ、ソースコード管理コンポーネント、およびサードパーティプラグインのサポートが含まれています。コードエディタは、Code Insightコード補完)、Error Insight(リアルタイムのエラーチェック)、およびリファクタリングを備えています。ビジュアルフォームデザイナには、純粋なWindows開発用のVisual Component Library(VCL)またはクロスプラットフォーム開発用のFireMonkey (FMX)フレームワークのいずれかを使用するオプションがあります。データベースのサポートは重要な機能であり、FireDAC(データベースアクセスコンポーネント)によって提供されます。 Delphiは、高速なコンパイル速度、ネイティブコード、および開発者の生産性で知られています。[要出典]

Delphiは元々、TurboPascalの後継としてWindows用の迅速なアプリケーション開発ツールとしてBorlandによって開発されました。Delphiは、既存の言語に完全なオブジェクト指向プログラミングを追加し、言語はジェネリック、匿名メソッドクロージャ、およびネイティブコンポーネントオブジェクトモデル(COM)のサポートをサポートするように成長しました。

Delphiとそれに対応するC ++であるC ++ Builderは相互運用可能であり、RADStudioという名前で共同販売されています。Professional、Enterprise、およびArchitectの各エディションがあり、より高いエディションにはより多くの機能がより高い価格で提供されます。Professionalのほとんどの機能を備えた無料のCommunityエディションもありますが、収益の少ないユーザーと企業に限定されています。[7]

機能

Delphiは、Rapid Application Development(RAD)をサポートしています。卓越した機能は、ビジュアルデザイナーと2つのアプリケーションフレームワークWindows用のVCLとクロスプラットフォーム開発用の FireMonkey(FMX)です。

Delphiは、Turbo Pascalの後継として、Anders HejlsbergがBorland(現在はIDERA)用に作成したPascalベースのプログラミング言語ObjectPascalを使用しています。Windows、Linux、iOS、Androidを含む多くのプラットフォームへの ネイティブクロスコンパイルをサポートしています。

Microsoft Windowsの開発をより適切にサポートし、他のソフトウェア開発ツールで開発されたコードと相互運用するために、Delphiは、参照カウントクラスの実装を備えたコンポーネントオブジェクトモデル(COM)の独立したインターフェイスをサポートし、多くのサードパーティコンポーネントをサポートします。インターフェイスの実装は、クラスのフィールドまたはプロパティに委任できます。メッセージハンドラは、処理するメッセージの整数定数でクラスのメソッドにタグを付けることによって実装されます。[要出典]

データベース接続は、VCLデータベース対応およびデータベースアクセスコンポーネントを通じて広範囲にサポートされています。

それ以降のバージョンには、アップグレードおよび拡張されたランタイムライブラリルーチンが含まれており、一部はコミュニティグループFastCodeによって提供されています。

特徴

Delphiは、使いやすく、元々は以前のObject Pascal言語に基づいていることを目的とした、強く型付けされた 高級プログラミング言語を使用しています。 Pascalは元々、「当時知られている基本的な構造を簡潔かつ論理的な方法で表現するのに適した」汎用言語として開発され、「その実装は、既存のFORTRANコンパイラと効率的かつ競争力のあるものでした」[8]が、低水準ではありません。レベルのプログラミング機能またはハードウェアへのアクセス。 Turbo Pascalとその子孫(Delphiを含む)は、ハードウェアと低レベルプログラミングへのアクセスをサポートし、アセンブリ言語やその他の言語で記述されたコードを組み込む機能を備えています。 Delphiのオブジェクト指向クラスベースおよびインターフェイスベースのポリモーフィズムのみを備えています。[9]メタクラスはファーストクラスのオブジェクトです。オブジェクトは実際には(Javaのように)オブジェクトへの参照であり、Delphiは暗黙的に参照を解除するため、通常、オブジェクトへのポインタにメモリを手動で割り当てたり、他の言語で必要となる同様の手法を使用したりする必要はありません。専用の参照カウント文字列タイプと、nullで終了する文字列があります。

文字列は、関数を使用するのではなく、「+」演算子を使用して連結できます。専用の文字列型の場合、Delphiはプログラマの介入なしにメモリ管理を処理します。Borland Developer Studio 2006以降、メモリリークを特定する機能があります。

Delphiには統合IDEが含まれています。 Delphi製品はすべて、ほとんどのソースコードを含むランタイムライブラリ(RTL)とビジュアルコンポーネントライブラリ(VCL)が付属しています。サードパーティコンポーネント(完全なソースコードが含まれる場合もあります))およびIDEまたは他のDelphi関連の開発タスクを強化するためのツールが利用可能であり、一部は無料です。IDEには、翻訳者に展開できる作成済みプログラムのローカリゼーションと翻訳のためのGUIが含まれています。この目的のためのより多くの機能を備えたサードパーティのツールもあります。VCLフレームワークは、バージョン間の高レベルのソース互換性を維持します。これにより、既存のソースコードを新しいDelphiバージョンに簡単に更新できます。サードパーティのライブラリは通常、ベンダーからの更新が必要ですが、ソースコードが提供されている場合は、新しいバージョンでの再コンパイルで十分な場合があります。VCLは、依存性注入または制御の反転を早期に採用しました。; 開発者が拡張可能な再利用可能なコンポーネントモデルを使用します。クラスヘルパーを使用すると、RTLまたはVCLの元のソースコードを変更せずに、コアRTLおよびVCLクラスに新しい機能を導入できます。

コンパイラーは最適化されており、シングルパスコンパイラーです。オプションで、 DLLを必要としない単一の実行可能ファイルにコンパイルできます。Delphiは、標準DLL、ActiveX DLL、COM自動化サーバー、およびWindowsサービスも生成できます。

Delphi2005以降のDelphiIDEは、メソッド抽出や、ソースコードからUMLモデル を作成したり、モデルに加えられた変更を通じてソースを変更したりする機能などのリファクタリング機能をますますサポートしています。

Delphiには、Web上にコミュニティがあり、従業員も積極的に参加しています。

下位互換性

Delphiは、下位互換性が100%に近い言語の1つです。Delphiの新しいリリースはそれぞれ、既存のコードの再利用を可能にするために可能な限り下位互換性を維持しようとしますが、新しい機能、新しいライブラリ、および改善により、新しいリリースの下位互換性が100%未満になる場合があります。

2016年以降、Delphiの新しいリリースが6か月ごとに行われ、新しいプラットフォームがほぼ2番目のリリースごとに追加されています。[10]

フレームワーク

Delphiは、ビジュアルアプリケーション開発用にVCLとFireMonkey(FMX)の2つのフレームワークを提供しています。

  • Visual Component Library(VCL)は、純粋なWindowsアプリケーションを開発するためのフレームワークです。VCLは長年のフレームワークであり、Delphiの最初のリリースに含まれ、それ以来積極的に開発されています。
  • FireMonkey(後にFMXと略記)は、Delphi XE2の一部として、Windows以外のプラットフォーム用の組み込みコンパイラの追加セットとともに2011年にリリースされました。FireMonkeyは、Windows、macOS、iOS、Android、およびLinux(x64)用のクロスプラットフォームフレームワークです。FireMonkeyのGUI部分は、主にDirect3DとOpenGLに基づいています。FireMonkeyはVCLと互換性がありません。それらは2つの別個のフレームワークです。ただし、FireMonkeyアプリケーションでは、非ビジュアルコードユニットをVCLアプリケーションと簡単に共有できるため、プラットフォーム間で多くのコードを簡単に移植または共有できます。

相互運用性

Delphiとそれに対応するC ++であるC ++ Builderは、相互運用可能です。これらは多くのコアコンポーネント、特にIDE、VCLおよびFMXフレームワーク、およびランタイムライブラリの多くを共有していますさらに、プロジェクトで共同で使用することもできます。たとえば、C ++ Builder 6以降では、DelphiとC ++のソースコードを1つのプロジェクトに組み合わせることができますが、C ++ BuilderでコンパイルされたパッケージはDelphi内から使用できます。2007年に、これらの製品は、DelphiとC ++ Builderの共有ホストであるRADStudioとして共同でリリースされ、どちらかまたは両方で購入できます。Rioから始めて、Pythonとの相互運用性もあります。

歴史

ロードマップ

Embarcaderoは、将来の開発計画を説明する「ロードマップ」を公開しています。最新のものは2020年11月に公開されました。[11] 2020年11月のロードマップで参照されているバージョン10.5は、11.0に名前が変更されました。

関連ソフトウェア

  • RADStudioの前身であるBorlandEnterprise Studioは、複数の言語のサポートを含むソフトウェア開発スイートです。Borland Enterprise Studio for Windowsは、Delphiをサポートしています。[12]
  • Borland Kylix:Delphiに似ていますが、Linux用で、2001年にリリースされました。これは、Delphi製品ファミリにLinuxサポートを追加する最初の試みでした。[13] Kylixは、DelphiのVCLの代わりに、新しいCLXクロスプラットフォームフレームワーク(QTに基づく)を使用しました。 Kylixはバージョン3の後に廃止されました。現在、LinuxサポートはメインのDelphi製品に統合されており、FireMonkeyクロスプラットフォームフレームワークを使用しています。
  • InterBaseは、クライアント/サーバーまたは組み込み開発のためにDelphiおよびC ++ Builderにネイティブに統合される組み込み可能なSQLデータベースです。特徴的な機能により、管理要件の軽減、商用グレードのデータセキュリティ、ディザスタリカバリ、および変更の同期が実現します。また、ODBC、ADO、ADO.NETなどのデータベース接続プロトコル、さらにはJava by JDBC / ODBC BridgeまたはJavaタイプ4コネクタを使用して、市場のすべての主要な言語およびプラットフォームからアクセスできます。
  • JBuilderは、バージョンJBuilder2007以降のEclipseに基づくJava開発用のツールでした。
  • RadPHP(後にHTML5 Builderに置き換えられました)は、真のRAD機能を提供するPHP用のIDEでした。DelphiやVisualBasicと同様のフォームデザイナと、ApacheWebサーバーに基づく統合デバッガがあります。また、PHPに移植されたVCLライブラリも含まれています。他のIDEとは異なり、 AJAXなどのWeb2.0機能をサポートしますDelphi for PHPは、2007年3月20日に発表され、2010年10月にRadPHPに名前が変更され、Qadram Qstudioに基づいています。Embarcaderoは2011年1月にQadramを買収しました。
  • RemObjectsのOxygeneプログラミング言語(以前はChromeと呼ばれていました)から派生したDelphi Prism(後にEmbarcadero Prismと呼ばれます)。RADStudioではなくMicrosoftVisual StudioIDEで実行されました。その製品が製造中止になったときにDelphi.NETを置き換えるために、Embarcaderoによってライセンスが付与され、ブランドが変更されました。
  • Free Pascalは、 DelphiのObjectPascalコードのほとんどをサポートするオープンソースのPascalクロスプラットフォーム クロスコンパイラです。Free Pascalには、独自の言語拡張機能、複数のコンパイラ[言語構文]モードもあり、18以上のオペレーティングシステムと9つ以上のプロセッサアーキテクチャをサポートしています。[14] Lazarusは、FreePascalコンパイラを使用するクロスプラットフォームのRADIDEです。

注目すべきサードパーティライブラリ

  • FastCode –拡張されたランタイムライブラリとメモリマネージャ。
  • OpenWire(ライブラリ) –データフロー、イベント、および状態同期コンポーネントライブラリ。
  • Project Jedi(Delphiイノベーターの共同努力)– Delphi開発者コミュニティによる共同のオープンソースの取り組みで、Windows APIインターフェイス、追加のコンポーネントとコントロール、およびアルゴリズムとデータ構造の翻訳を提供します。
  • Teechart –チャートライブラリ。

参考文献

  1. ^ 「RADStudio11Alexandriaの可用性の発表」2021年9月10日2021年9月10日取得
  2. ^ 「インストールノート-オペレーティングシステム要件」2020年9月5日取得
  3. ^ ウィリアムブキャナン(2003年2月4日)。Delphiプログラミングをマスターするパルグレイブマクミラン。pp。10–。ISBN 978-1-137-17356-0
  4. ^ 「Delphi2010からXE6へのパフォーマンス比較(パート2)」RiversoftAVG 2016年3月9日取得
  5. ^ 「Delphiオタク:スピードのために造られた」2016年3月9日取得
  6. ^ 「Delphiが生きていることについてのハッカーニュースに関する議論」ハッカーニュース2016年3月9日取得
  7. ^ 「Delphi:アプリ開発製品エディション」エンバカデロ2021年3月13日取得 Delphi機能マトリックスのダウンロードリンク付き
  8. ^ 「パスカルの開発についての回想」(PDF)
  9. ^ Lingfeng Wang; ケイチェンタン(2006年1月20日)。現代の産業用自動化ソフトウェアの設計ジョン・ワイリー&サンズ。pp。113–。ISBN 978-0-471-77627-7
  10. ^ 「Delphi言語の機能とそれらが導入/非推奨になったバージョンのリスト」スタックオーバーフロー2016年3月9日取得
  11. ^ 「RADStudio 2020年11月ロードマップPM解説」blogs.embarcadero.com 2020年11月27日取得
  12. ^ 「BorlandEnterpriseStudio」2002-02-05にオリジナルからアーカイブされました2002年2月5日取得
  13. ^ 「Kylixはここにあります!」2020年9月5日取得
  14. ^ 「無料のPascalホームページ」freepascal.org 2016年4月27日取得

さらに読む

外部リンク