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); |
リスト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サービス・アプリを作ってみよう。トライアル版も用意されているので、実際に試しながら読んでほしい |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|