For faster navigation, this Iframe is preloading the Wikiwand page for Kross.

Kross

Kross(クロス)は、Linux用デスクトップ環境であるKDE Software Compilation 4 (KDE 4) に搭載されているスクリプトフレームワークである。本来はKOffice用に設計されていたが結果的にはKDE 4の公式フレームワークとなった。ユーザーが自らが選択するスクリプト言語で最大限のスクリプトの力を提供することを目的に開発された。Krossを使うことで開発者は、KDEプラットフォームを視野に入れながら、アプリケーションに複数のスクリプト言語を優先順位を付けることなくサポートさせることが容易になる。

Krossスクリプティングプラットフォーム自体はスクリプト言語ではなく、既にシステム上にあるスクリプト言語をKDEにサポートさせることを目的としている。現在サポートされている言語はPythonRubyJavaScript、Falconプログラミング言語の4つである。また他のスクリプト言語も容易に追加できる。

デスクトップアプリケーションもしくはデスクトップ環境のスクリプティングを可能にする他のアプローチと比較して、Krossには以下のような利点がある。

  • ユーザーは自分の好きなスクリプト言語を使うことが出来る。
  • アプリケーションの開発者は各スクリプト言語の仕様を知る必要が無い。
  • プラグインにより他のスクリプト言語を容易に追加できる。

他のスクリプトプラットフォームとの比較

[編集]
  • サポートしているスクリプト言語はSWIGより少ない。
  • KrossはQtの上に開発されており、Qt関連のモジュールをラッピングすることなくそれらにアクセスできる[1]
  • Krossをサポートするアプリケーションは、SWIGをサポートするアプリケーションよりも少ないコードで済む[1]
  • SWIGではアプリケーションのコンパイル時において、サポートされるスクリプト言語が確定される。つまり、サポートされる言語のコードもしくは、アプリケーションの言語に合った共有ライブラリをアプリケーションにあらかじめ組み込んでおかなくてはならない。一方でKrossではアプリケーションを起動する際まで確定する必要は無い。

AppleScriptのオープン・スクリプティング・アーキテクチャ (OSA) と比較すると、

  • OSAはIPC (Apple event) により、各スクリプトがそれぞれのプロセスを有することが出来るが、Krossではスクリプトはメインアプリケーションと同じプロセスを共有することになる。それゆえ、Krossと異なり、OSAにおいてスクリプトは既に起動しているアプリケーション同士の橋渡しとなり得る。
(ちなみに、あるスクリプトが複数のアプリケーションのコードに同時にアクセスする際、IPCが必ずしも必要となるわけではない。スクリプトは、アプリケーションをライブラリとしてリンクさせることが出来る。例:SWIGによるライブラリ)
  • Krossはスクリプタに好きな言語でスクリプトを書かせられるのに対し、AppleScriptは他のスクリプト言語の枠内で呼び出すことが出来る一つの言語である。
  • 多くのmacOSアプリケーションではGUIツールキット (Cocoa) を選択するだけで、ボタンやメニューのクリック、またはスクリーンリーダー等のアクセシビリティソフトウェアに与えられたデータにアクセスするといった基本的なスクリプトが実行できるのに対し(Dogtail等のGUIテストツールも同様)、Krossではアプリケーションに追加されるコードは明示化される必要がある。

Krossは現在、信用性が疑わしいスクリプトであっても動作を制限しない。Krossの開発者であるSauerは[2]、(例えば実験的なJavaプラグインを用いる際には)サンドボックスを適切に用いるか、署名されたスクリプトを用いて信頼性を高めるよう勧めている[1]

Krossを用いているアプリケーション

[編集]

脚注

[編集]
  1. ^ a b http://www.kexi-project.org/wiki/wikiview/index.php?Scripting#Why_not_SIP_SWIG_ (accessed 2007-05-16)
  2. ^ The Road to KDE 4: New KOffice Technologies

外部リンク

[編集]
{{bottomLinkPreText}} {{bottomLinkText}}
Kross
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?