Kross (KDE)

Kross (KDE)

Kross is the new scripting framework for KDE 4, the latest version of the K Desktop Environment. Originally Kross was designed for use in Koffice but eventually became the official scripting framework in KDE 4. Kross is designed to provide full scripting power for users of KDE applications, with a language of "their own choice"; and make it easy for developers targeting the KDE platform to enable their application with support for "multiple scripting languages" (without themselves needing to be proficient in any of them).

The Kross scripting framework is not a scripting language itself. It merely serves to plug into KDE the support for other, already existing scripting languages. Currently supported are: Python, Ruby, JavaScript and the Falcon Programming Language. Addition of other scripting languages is made easy by the modular architecture of the framework.

Kross provides the following advantages over other approaches to enable scripting for desktop applications or desktop environments:
* The user is free to pick and use his/her favorite language for the scripting efforts
* The application developer does not need to know specifics about a scripting languages
* Other scripting languages can be easily added by writing a module/plugin for Kross

Comparison with other scripting frameworks


=

* Kross currently has fewer supported scripting languages.
* Kross is built on top of Qt/KDE. This allows access to Qt/KDE things without needing extra effort to wrap themhttp://www.kexi-project.org/wiki/wikiview/index.php?Scripting#Why_not_SIP_SWIG_ (accessed 2007-05-16)] .
* Applications supporting Kross are said to not require as much code as to support SWIG.
* With SWIG, the set of supported scripting languages is determined at the time of compiling the application: each supported language must either have code in the application to invoke that language’s interpreter, and/or have a shared library specific to that application–language pair whereas Kross doesn't need to know until runtime.

AppleScript

Compared to AppleScript’s Open Scripting Architecture (OSA):
* OSA can be used with IPC (Apple events), allowing a script to be in a separate process, whereas Kross scripts always run in the same process as the main application. In practical terms, using IPC allows a script to interface between several already-running applications; Kross does not.:(IPC is not technically necessary for one script to access code from many applications at once: a script can link against library forms of those applications, such as the libraries produced by SWIG.)
* While Kross allows the scripter to write scripts in a language of their choice, AppleScript is one given language, which can though be called from within other (scripting) languages.
* Kross always requires code added to the application explicitly for Kross, whereas many Mac OS X applications have basic scriptability just because of their choice of GUI toolkit (Cocoa) (see AppleScript in Mac OS X). (Dogtail and other GUI testing/automation tools also have this property.) “Basic scriptability” here means at least being able to click on buttons and menus and access information provided to accessibility software such as Screen readers.

Kross does not currently have any provision for running untrusted scripts, i.e. does not allow restricting what scripts can do. Kross developer Sauer [http://dot.kde.org/1168284615/ The Road to KDE 4: New KOffice Technologies ] ] suggests either using a language with good sandbox support (such as by using the experimental Java plugin) or using approaches to increase the trust in scripts, such as using signed scripts [http://www.kexi-project.org/wiki/wikiview/index.php?Scripting#Security_issues] .

Applications using Kross

*KDevelop
*Kexi
*Kopete
*Krita
*KSpread
*KWord
*Plasma
*SuperKaramba

External links

* [http://kross.dipe.org/ Kross home page (documentation for developers)]
* [http://dot.kde.org/1152490640/ Interview with Kross developer]
* [http://techbase.kde.org/Development/Tutorials/Kross-Tutorial Kross tutorial]
* [http://conference2006.kde.org/conference/talks/2.php aKademy 2006 conference talk on Kross]
* [http://www.englishbreakfastnetwork.org/apidocs/apidox-kde-4.0/kdelibs-apidocs/kross/html/namespaceKross.html Kross Namespace Reference]

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Kross (KDE) — Pour les articles homonymes, voir Kross. Kross est un cadre de scriptage utilisé dans la suite bureautique KOffice, et qui prévoit une intégration plus large dans l environnement de bureau KDE4. Kross a été conçu pour : apporter un système… …   Wikipédia en Français

  • Kross — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom.  Pour les articles homophones, voir Cross, Cros et Crosse. Kross peut faire référence à : David Kross, acteur allemand Jaan Kross …   Wikipédia en Français

  • KDE Software Compilation 4 — KDE Plasma Desktop 4.7 Developer(s) KD …   Wikipedia

  • KDE — Software Compilation …   Википедия

  • KDE — Un bureau sous KDE 4.7 …   Wikipédia en Français

  • Kde — Un bureau sous KDE 4.2 …   Wikipédia en Français

  • KDE 4 — Une capture d écran de KDE 4.3 KDE 4 est la dernière version majeure de l environnement de bureau KDE, sortie le 11 janvier 2008. L équipe de développement de KDE avait pour but de sortir KDE 4 vers début 2007 pour qu il soit inclus… …   Wikipédia en Français

  • KDE Games — Тип компьютерные игры Автор KDE e.V. Разработчики сообщество[1] Написана на C, C++ Интерфейс графический (Qt) …   Википедия

  • KDE Display Manager — (KDM) KDM …   Wikipédia en Français

  • KDE Education Project — Environnement GNU/Linux, Solaris, FreeBSD …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”