Krossは、
KDE Software Compilation 4 (
KDE 4) デスクトップ環境に搭載された、強力なスクリプトフレームワークです。もともとKOffice向けに設計されましたが、その汎用性の高さから
KDE 4の公式フレームワークとなりました。Krossの最大の特長は、開発者がユーザーに多様な
スクリプト言語の選択肢を提供できる点にあります。これにより、ユーザーは自身の得意な言語でアプリケーションを拡張したり、自動化スクリプトを作成したりできます。
Krossの仕組み
Kross自体は特定の
スクリプト言語ではなく、システム上に存在する
スクリプト言語を
KDE環境で利用できるようにするプラットフォームです。現在、
Python、
Ruby、
JavaScript、Falconという4つの主要言語がサポートされており、プラグインを通じて他の言語も容易に追加できます。
Krossの利点
他のスクリプトプラットフォームと比較して、Krossには以下の明確な利点があります。
ユーザーの自由度: ユーザーは好みの
スクリプト言語を選択し、開発者は各言語の細かな仕様を意識する必要がありません。
柔軟な拡張性: プラグイン機構により、新しい
スクリプト言語のサポートを簡単に追加できます。
Qtとの親和性: Qt上に構築されているため、
Qt関連モジュールに直接アクセスでき、効率的な開発が可能です。
他のプラットフォームとの比較
SWIG (Simplified Wrapper and Interface Generator)との比較
Krossは
SWIGに比べてサポートする
スクリプト言語は少ないものの、
Qtとの連携においてよりシンプルで効率的な開発が可能です。
SWIGではコンパイル時にサポート言語が決定されるため、アプリケーションに予め組み込む必要がありますが、Krossでは起動時まで確定する必要はありません。これにより、アプリケーションの柔軟性が向上します。
Krossを利用するアプリケーションは、
SWIGを利用する場合よりも少ないコードで実現できます。
AppleScriptとの比較
AppleScriptのオープン・スクリプティング・アーキテクチャ (OSA) は、スクリプトが独立したプロセスで実行されるため、プロセス間の連携が可能です。一方でKrossでは、スクリプトはメインアプリケーションと同じプロセス内で実行されます。そのため、OSAのように異なるアプリケーション間の連携には不向きです。
AppleScriptは特定の言語として提供されますが、Krossは
スクリプト言語の選択をユーザーに委ねるため、より自由なスクリプト記述が可能です。
AppleScriptは、多くのmacOSアプリケーションでボタンクリックなどのGUI操作や、アクセシビリティデータへのアクセスをスクリプトで容易に行えますが、Krossではアプリケーションに明確なコードを追加する必要があります。
セキュリティ面では、Krossはスクリプトの動作を制限しないため、サンドボックス環境の利用や署名付きスクリプトの使用が推奨されています。
Krossを利用しているアプリケーション
Krossは、以下の
KDEアプリケーションで利用されています。
KWord (ワープロソフト)
KSpread (表計算ソフト)
Krita (ペイントソフト)
Kexi (データベースソフト)
SuperKaramba (デスクトップウィジェット)
Plasma (デスクトップ環境)
Kopete (インスタントメッセンジャー)
まとめ
Krossは、
KDEプラットフォームにおけるスクリプト環境を大きく変革するフレームワークです。開発者は様々な言語でのスクリプトサポートを容易に追加でき、ユーザーは好みの言語でアプリケーションを拡張できるため、開発者とユーザー双方に大きなメリットをもたらします。Krossを導入することで、アプリケーションの可能性が無限に広がります。
外部リンク
Krossホームページ(開発者向けドキュメント)
Kross開発者のインタビュー
Krossチュートリアル
akademy 2006 conferenceにおけるKrossの紹介
Kross名前空間リファレンス