Windows開発者に贈る
Kylixの全貌

大野 元久
ボーランド株式会社
2001/2/20

開発工程を一変させるビジュアル開発環境

 DelphiやVisual Basicのようなツールをご存じない方のために、ビジュアル開発という手法について簡単にご紹介しよう。

■コンポーネントベースの統合開発環境

 Visual C++などのソースコード主体のプログラミングツールでは、いわゆる「ウィザード」による支援はあるものの、本質的な動作はすべてプログラムコードで制御する。これに対して、ビジュアル開発ツールではコンポーネント(コントロール)と呼ばれる「部品」をフォームという場所に配置し、プロパティやイベントといった属性を割り当てることでアプリケーションを構築する。

 誤解を恐れずに説明するならば、コンポーネントをクラス、プロパティをデータメンバ、イベントはメンバ関数と思えばよい。C++では、プログラムでオブジェクトを生成するのに対して、Kylixではコンポーネントを配置することがオブジェクトを生成することになるのだ。また、Visual C++でダイアログベースのアプリケーションを開発したことがあれば、それに似たものも考えられる。

 Visual BasicやVisual C++では限られた部品かActiveXコントロールしか使えないが、Kylixのコンポーネントは「クラス」そのものであり、実行ファイル(ELF形式)に直接リンクされる。また、コンポーネントが「設計時にも動作する」という点は、ほかの開発ツールにはないKylixやDelphiの特徴である。Kylixのコンポーネントフレームワーク(CLX)については後述する。

 例えば、フォーム上にボタン(Button)と色を選択するダイアログ(ColorDialog)を配置して、フォーム自身の色を変更するプログラムを作成してみよう。画面1は、設計画面、リスト1は配置したボタンのためのイベントハンドラである。

画面1 Kylixによる開発。フォームにボタンなどのコンポーネントを配置するのが基本(画像をクリックすると拡大表示します)

procedure TForm1.Button1Click(Sender: TObject);
begin
  if ColorDialog1.Execute then
    Color := ColorDialog1.Color;
end;
リスト1 Button1のイベントハンドラ

 後は実行ボタンを押せば、プログラムが自動的にコンパイルされて実行される。もちろん、設計時だからといって中間コードやインタプリタが使われることはない。

画面2 画面1およびリスト1を実行したところ(画像をクリックすると拡大表示します)

 前述したとおり、KylixはDelphiの操作性を基本としているため、Delphiが持っている数多くの機能をそのまま利用できる。例えば、複数のターゲットを管理できるプロジェクトマネージャ、作業内容をコメントとして埋め込み、ウィンドウで一覧表示できるTo-Doリスト、ウィンドウの配置を状況ごとに記録しておける機能などがある。

 Kylixがオブジェクト指向プログラミングに沿って設計されていることは重要な点である。オブジェクト指向といっても難しく考えることはない。Kylixは、あまり意識せずにオブジェクト指向プログラミングの利点を活用できるように設計されている。例えば、Kylixではコンポーネントだけでなくフォームもクラスである。クラスを継承するように、フォームをビジュアルに継承することもできる。これは、開発グループ内でユーザーインターフェイスを統一したり、あらかじめある程度の機能を持たせた「拡張フォーム」を作成するときに役立つだろう。

■ソース編集を可能にする2Way-Tool

 また、Kylixが優れているのはビジュアル開発としての機能だけではない。Kylixには、Delphi以来の特徴として2Way-Toolという機能が実装されている。

 ソースコード主体の開発ツールに慣れ親しんだプログラマーが、ビジュアル開発に抵抗を感じる理由の1つに、ソースコードによる微妙な制御ができなくなるのではないかということがある。複数の文字列を一度に置換するというような処理は、ビジュアル開発よりテキストで処理する方が簡単だろう。いわゆるビジュアル開発ツールの多くは、ビジュアルに開発したものからソースコードを生成するという1方向(One-Way)のものがほとんどであるが、DelphiやKylixではソースコードとして入力した内容を開発環境が即座に理解し、ビジュアル開発に反映させるという機能がある。

 2Way-Tool機能は、コマンドライン中心の既存のLinux開発者やVisual C++のようなソースコード指向の開発ツールを使っていた人がビジュアル開発になじむのに大いに役立つだろう。プログラミングに使うコードエディタも、入力支援や構文強調表示など、大規模な開発に耐えうる機能を備えている。

■強力なソースレベルデバッガ

 Kylixが高度なソースレベルデバッガを備えている点も注目に値する。

 ソースレベルデバッガは現在のWindows開発者にとっては当たり前のものだが、Linux環境では、これまで満足なデバッグ環境はなかった。Kylixでは、コードエディタにブレークポイントを設定して、任意の場所でプログラムを停止できる。しかも、KylixのデバッガはDelphiをベースにしているため、機能も豊富だ。条件式が成り立つときだけ、あるいは指定した回数実行されたときだけ停止させることができるし、プログラムを停止させているときにツールチップで変数の内容を確認したり、適当な式を評価させることもできる。「printfデバッグ」に慣れていると、こうした便利なツールへの移行をためらってしまうこともあるが、実際に使ってみれば手放せないものとなるだろう。

2/4

Index
Windows開発者に贈る Kylixの全貌
  Kylixの正体
開発工程を一変させるビジュアル開発環境
コンポーネントベースの統合開発環境
ソース編集を可能にする2Way-Tool
強力なソースレベルデバッガ
  コンポーネントフレームワークCLX
BaseCLX
VisualCLX
DataCLX
NetCLX
  高速なネイティブコンパイラ
  Kylixのデータベース開発機能
  Apacheにも対応したインターネット開発
  KylixがLinuxを変える

Linux Square全記事インデックス


 Linux Squareフォーラム プログラミング関連記事
特集:オブジェクト指向に生まれ変わるPHP5[前編]
現在開発中のPHP5は、オブジェクト指向機能が大幅に強化される。次世代PHPはどのような言語になるのか?
特集:Windows開発者に贈る Kylixの全貌
注目の開発環境「Borland Kylix」がいよいよ見えてきた。ここに、英語版の発売を目前に控えたKylixの機能やアーキテクチャを紹介しよう
特集:Kylixプログラミング作法
GUIの構築やコンポーネントとコードの関係、 Object Pascalの仕様など。 これらの点を、実際に日本語ベータ版でプログラミングしながら分かりやすく解説
連載:PHP4で作るWeb-DBシステム(全5回)
PHPはWebサーバとデータベースを結びつけるものだ。そのためPHPでの開発を開始するには、OS、データベース、Webサーバ、そしてPHPと、多くのソフトウェアのインストールを行う必要がある
連載:ステップ・バイ・ステップ・シェルスクリプト(全7回)
Linuxの中でシェルスクリプトはネットワークの設定、デーモンの起動など重要な役割を果たしている。この連載では、シェルスクリプトで実用的なプログラムを組むことを目標にして、シェルの基本的な知識を説明する
連載:Kylix 3とDB2で作るWebサービス・アプリ(全5回)
Kylix 3とDB2 V8.1を使って、Webサービス・アプリを作ってみよう。トライアル版も用意されているので、実際に試しながら読んでほしい

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間