Delphiといえば、Visual Basicなどと並んでRADツールの草分けだ。ボタンやテキストボックスといったコンポーネントをフォーム上にドラッグ&ドロップし、プロパティの変更と少々のコード記述で簡単に素早くアプリケーション開発が行える。高速動作というメリットを活かしつつ、バージョンアップごとにIDEの強化を続けてきたDelphiには数多くの根強いファンがいる。
そのDelphiの新しい製品バリエーションが「Delphi for PHP」だ。RADツールの特徴やIDEの操作性はそのままに、Delphi for PHPでは「PHPアプリケーション」の開発が可能となっている。Delphiライクに作成されたアプリケーションはPHPコードの形式で出力され、PHPが導入されたWebサーバ上でWebアプリケーションとして実行される。テキストコーディング中心の世界にビジュアルツールの要素を持ち込むのがDelphi for PHPの役割だ。
今回はDelphi for PHPの開発者であり、Delphi製品を扱うEmbarcadero Technologiesのパートナー企業でもあるQadram Software最高経営責任者(CEO)のJose Leon氏にDelphi for PHPの狙いとゴールについて話を聞いた。
Delphi for PHPは、Leon氏が設立したQadram Softwareが開発したPHPアプリケーション開発向けのIDEだ。もともとは独立系ソフトウェア企業のQadramが開発したDelphiライクなPHP開発ツールという位置付けだったが、Embarcadero Technologiesが買収したCodeGear(旧Borlandの開発ツール部門)との正式なパートナー提携により、「Delphi for PHP」という名称で改めて製品がリリースされた経緯がある。製品開発自体はQadramが行っているが、マーケティングやローカライズはEmbarcaderoが担当しており、2008年春に初の日本語マルチランゲージ対応版として「Delphi for PHP 2.0」がリリースされている。
--Delphi for PHPのアプリケーション開発環境は?
Leon氏: 製品自体はIDEとクラスライブラリ(VCL for Windows)の2つで成り立っている。従来のPHPでは、コードは上から下に向かって順番に実行され、1つのアプリケーション作成に大量のコード記述が必要だった。Delphi for PHPは、PHP開発の世界でドラッグ&ドラップでのアプリケーション開発環境を提供する唯一のソリューションだ。コード記述もWindowsで一般的なイベントハンドラを利用でき、Zend FrameworkやExtJSなど用意されたコンポーネントを組み合わせてアプリケーションを構築する。また記述したコードのカプセル化も可能だ。これに加え、IDEに統合されたデバッガやプロファイラが利用できる。デバッガではステップ実行やファンクションコールのトレース、プロファイラでは各ラインの実行時間を計測してボトルネックの発見が可能になる。インタフェースのビジュアル開発の基本はページコンポーネントと呼ばれるもので、従来のDelphiのようにプロパティやメソッド、イベントを指定し、生成されるコードはWebブラウザによってレンダリング可能なHTMLとなる。
また、こうした開発環境を支えるのが補助コンポーネントやサードパーティのツール群だ。VCL for PHPではほとんどの既存コードのラッピングが可能で、OpenGridはjQueryを組み合わせてデータ表示や編集を可能にし、Flash技術をベースにしたOpenChartで美麗なグラフを表示できる。ユーザーはこれら機能を意識せずに利用できる点でメリットがある。またJomitech.comのPlatinumGridやsteema.comのTeeChartなど、サードパーティからもDelphi for PHPを支援する製品コンポーネントやツールが提供されている。
--Delphi for PHPを開発した理由は? また、数あるWeb開発環境の中でなぜPHPなのか?
Leon氏: カスタマーからの要望だ。当時、私はDelphi 7を使って開発を行っていた。だが要件にあったWebアプリケーションはDelphiで作れるようなものではなかった。そうしたなか、いろいろ探していたところで見つけたのがPHPだ。そのほかにもJavaなども検討したが、十分なパフォーマンスを提供するものではなかった。またPHPは当初からクロスプラットフォームを実現しており、開発には適していると考えた。PHPの世界におけるDelphi for Windowsの環境を提供したいというのが最初のきっかけだ。
--Delphi for PHPの利用で既存のPHPプログラマにどのようなメリットが提供されるのか?
Leon氏: 3点ある。1つはデバッガが統合されたIDEが提供されること。2つめはライフコンポーネントと呼ばれる部品群をテンプレートに組み込むことで、開発環境を強化できること。最後に、これら提供されるコンポーネントを組み合わせてビジュアルツールでデスクトップ風のアプリケーションを作り上げられる点だ。従来までのPHPアプリケーション開発では長いコードをひたすら延々と記述せねばならず、こうした問題を解消できる。
--では逆に既存のDelphiデベロッパに対し、どのように製品を訴求していくのか? またこうした開発者がすぐに適応できるものなのか?
Leon氏: 既存のDelphi for Windowsデベロッパは、まさにわれわれがターゲットとしている顧客だ。提供されるクラスライブラリ群はDelphi for Windowsと同じで、Delphiに慣れた開発者であればすでにIDEでのビジュアル開発に親しんでおり、もともとの素養がある。まさにうってつけのソリューションだといえるだろう。
--開発者がDelphi for PHPを利用するのに必要な動作環境は?
Leon氏: PHP 5以上の実行環境があれば、プラットフォームを選ばない。LinuxはもちろんWindows上でも動作する。既存のPHPプログラマであれば強力なIDEを利用できるようになるし、既存のDelphiプログラマであれば従来のノウハウをそのまま活用できる。またデスクトップ向けアプリケーションを開発していた人たちが、これを機にWebアプリケーションの世界に入ってくることも想定している。また現時点で動作環境はWindowsのみとなっている。**