Lazarusは、 Free Pascalコンパイラを使用した、クロスプラットフォーム対応の統合開発環境(IDE)であり、迅速なアプリケーション開発(RAD)を可能にします。その目的は、 Delphiにできる限り近いObject Pascal言語を用いた開発のための、使いやすい開発環境を提供することです。Lazarusは、異なるソフトウェアライセンスの下でリリースされる様々な部分を持つ、無料のオープンソースソフトウェアです。
Lazarusは、macOS、Linux、Windowsなど、さまざまなオペレーティングシステムプラットフォーム向けのデスクトップコンピュータ、モバイルデバイス、Webアプリケーション、 Webサービス、ビジュアルコンポーネント、関数ライブラリ用のネイティブコードコンソールおよびグラフィカルユーザーインターフェイス( GUI)アプリケーションを作成するためによく使用されます。[ 2 ]
あるプラットフォームでLazarusを使用して作成されたプロジェクトは、 Free Pascalコンパイラがサポートする他のプラットフォームでもコンパイルできます。デスクトップアプリケーションの場合、1つのソースコードでmacOS、Linux、Windowsをターゲットにすることができ、ほとんど、あるいは全く変更を加える必要がありません。例えば、Lazarus IDEは1つのコードベースから作成され、Raspberry Piを含むすべての主要プラットフォームで利用可能です。
Lazarusは、1999年2月に3人の開発者、Cliff Baeseman、Shane Miller、Michael A. Hessによって開始されました。彼らは以前、Free Pascal用のDelphiのようなIDEを構築するための初期のオープンソースプロジェクトであるMegidoプロジェクトに貢献しようとしましたが、内部の意見の相違とアーキテクチャ上の問題により解散しました。彼らはその挫折感から、同じ目標を達成するために独立したプロジェクトとしてLazarusを設立しました。このプロジェクトはSourceForgeでホストされ、メーリングリストとバージョン管理システムを通じてコミュニティの貢献者を集めました。Marc Weustinkは1999年8月に参加し、デバッガとコアコンポーネントの基礎的な貢献をしました。Mattias Gaertnerは2000年9月に参加し、それ以来IDEのコアの主要な貢献者の1人となっています。元の創設者はもはやプロジェクトに関わっていません。[ 3 ]
Lazarusは、 Delphiと同様に、リッチなユーザーインターフェイス、アプリケーションロジック、およびその他のサポートコード成果物を作成するためのWYSIWYG(見たままが得られる)開発環境を提供します。プロジェクト管理機能に加えて、Lazarus IDEは以下の機能も提供します。


LazarusはバックエンドコンパイラとしてFree Pascalを使用しています。Free Pascalはクロスコンパイルをサポートしているため、LazarusアプリケーションはWindows、Linux、macOSから、サポートされているFree Pascalコンパイルターゲットのいずれかにクロスコンパイルできます。組み込みデバイス(スマートフォン、PDA、ルーター、ゲーム機など)向けのアプリケーションは、あらゆるデスクトッププラットフォームからクロスコンパイルできます。
Lazarus は、 Lazarus Component Library (LCL)と呼ばれるクロスプラットフォーム アプリケーション フレームワークを提供しており、異なるプラットフォーム固有の実装を持つプログラマー向けに単一の統一されたインターフェイスを提供します。LCL を使用すると、システム依存の機能を明示的に使用しない限り、一度記述すればどこでもコンパイルできるアプリケーションを作成できます。LCL は元々 Delphi 6 のVisual Component Library (VCL) をモデルにしていますが、Windowsに限定されません。これは、共通ウィジェットクラスの定義とウィジェット セット固有の実装を分離することによって実現されます。各ウィジェット セットは、セットと直接やり取りするインターフェイスを提供することによってサポートされます。 [ 4 ]
開発者は、Lazarusが複数のデータベース管理システム(DBMS)をサポートできるようにするパッケージをインストールできます。プログラムは、コードまたはフォームに配置されたコンポーネントを介してDBMSとやり取りできます。
以下のDBMSは標準でサポートされています。
Lazarusは多くの点でDelphiに似ています。バージョン2.2.0以降、コンポーネントオブジェクトモデル(COM)をサポートしており、Delphiのネットワーク機能のほとんどを提供しています。ただし、パフォーマンスと機能セットには制限があります。
LazarusはDelphiがサポートしている以下の機能をサポートしていません。
LCL は VCL と完全な互換性はありません。そのため、変換を行わないと、利用可能な VCL ウィジェットの膨大なリポジトリにアクセスできません。変換作業は主に編集作業ですが、いくつかの根本的な違いがあります。移植時には、ライブラリ内のユニットの欠落が、LCL と VCL の非互換性よりもはるかに大きな問題となります。Delphi 用のコンポーネントは、Lazarus で動作するように変換できます。これは複雑になる可能性がありますが、FP 2.4.x に基づく 0.9.30 より古い Lazarus バージョンの場合よりは複雑ではありません。
Windowsでは、Lazarusはデバッグ情報を別ファイルではなく実行ファイル内に格納するため、デフォルトの実行ファイルサイズはDelphi 6または7の同等のものよりも大きくなります。バージョン0.9.30以降、Lazarusはコンパイラオプションを介して外部デバッグシンボルをサポートしています。これにより、プログラムファイルのサイズを大幅に削減できます。あるいは、デバッグ情報をEXEファイルから削除することもできます(例えば、UNIXstripコマンドの移植版を使用するなど)。
Free Pascalと同様に、Lazarus はフリーソフトウェアです。さまざまな部分が、 GPL、LGPL、MPL、および LGPL の修正版を含むさまざまなフリーソフトウェアライセンスの下で配布されています。 [ 7 ]生成された実行ファイルに静的に組み込まれる LCL は、LGPL の修正版の下でライセンスされており、独自のソフトウェアを含む生成されたソフトウェアに静的に組み込むことを許可する追加の権限が付与されています。
デザインタイムパッケージのインストールはIDEへのリンクと同等であるため、Mozilla Public LicenseでライセンスされているJEDIパッケージなど、GPLと互換性のないデザインタイムパッケージをプリインストールした状態でLazarus IDEを配布すると、ライセンス違反となります。ただし、これはLazarusを使用して独自のパッケージを開発することを禁止するものではありません。
Free Pascal向けIDEの開発は、1998年に「Megido」プロジェクトとして初めて試みられました。このプロジェクトが失敗に終わった後、開発者の一部はより柔軟な基盤に基づいた新たなプロジェクトを開始しました。「Lazarus」という名前は、Megidoのコンセプトの復活を暗示しています。これは、ヨハネによる福音書によれば、死後4日目にイエスによって蘇生されたベタニアのラザロに由来しています。
最初のLCLの暫定版は2001年にリリース準備が整いました。2003年には、Lazarusの最初のベータ版(0.9.0.3)がSourceForgeで公開されました。Lazarusバージョン1.0は2012年にリリースされました。大幅に機能強化されたLazarus 1.2は2014年にリリースされました。2014年3月時点で、SourceForgeからのダウンロード数は400万回を超えています。
{{cite web}}:欠落または空欄|title=(ヘルプ)