Kross (software)

Last updated
Kross
Developer(s) KDE
Stable release
6.0.0 [1]   OOjs UI icon edit-ltr-progressive.svg / 28 February 2024;36 days ago (28 February 2024)
Repository invent.kde.org/frameworks/kross
Written in C++
License LGPL
Website api.kde.org/frameworks/kross/html/index.html

Kross is a scripting framework for KDE Frameworks. Originally Kross was designed for use in KOffice but eventually became the official scripting framework in KDE Software Compilation 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).

Contents

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, and 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:

Comparison with other scripting frameworks

SWIG: Simplified Wrapper and Interface Generator

AppleScript

Compared to AppleScript's Open Scripting Architecture (OSA):

(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.)

Kross does not currently have any provision for running untrusted scripts, i.e. does not allow restricting what scripts can do. Kross developer Sauer [3] 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. [4]

Applications using Kross

Related Research Articles

<span class="mw-page-title-main">KDE</span> Free software community

KDE is an international free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-known products include the Plasma Desktop, KDE Frameworks, and a range of cross-platform applications such as Amarok, digiKam, and Krita that are designed to run on Unix and Unix-like operating systems, Microsoft Windows, and Android.

<span class="mw-page-title-main">Calligra</span> Office suite made for KDE

Calligra Suite is a graphic art and office suite by KDE. It is available for desktop PCs, tablet computers, and smartphones. It contains applications for word processing, spreadsheets, presentation, databases, vector graphics, and digital painting.

<span class="mw-page-title-main">Qt (software)</span> Object-oriented framework for software development

Qt is cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">KDevelop</span> Integrated development environment

KDevelop is a free and open-source integrated development environment (IDE) for Unix-like computer operating systems and Windows. It provides editing, navigation and debugging features for several programming languages, and integration with build automation and version-control systems, using a plugin-based architecture.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

<span class="mw-page-title-main">KDE Software Compilation 4</span> Software

KDE Software Compilation 4 was the only series of the so-called KDE Software Compilation, first released in January 2008 and the last release being 4.14.3 released in November 2014. It was the follow-up to K Desktop Environment 3. Following KDE SC 4, the compilation was broken up into basic framework libraries, desktop environment and applications, which are termed KDE Frameworks 5, KDE Plasma 5 and KDE Applications, respectively.

This is a comparison of widget engines. This article is not about widget toolkits that are used in computer programming to build graphical user interfaces.

<span class="mw-page-title-main">KDE Plasma 4</span> Graphical environments provided by KDE

KDE Plasma 4 is the fourth generation of the KDE workspace environments. It consisted of three workspaces, each targeting a certain platform: Plasma Desktop for traditional desktop PCs and notebooks, Plasma Netbook for netbooks, and Plasma Active for tablet PCs and similar devices.

<span class="mw-page-title-main">K Desktop Environment 2</span> Free software

K Desktop Environment 2 was the second series of releases of the K Desktop Environment. There were three major releases in this series.

<span class="mw-page-title-main">Qt Creator</span> QT development environment

Qt Creator is a cross-platform C++, JavaScript, Python and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which encapsulates host OS GUI function calls. It includes a visual debugger and an integrated WYSIWYG GUI layout and forms designer. The editor has features such as syntax highlighting and autocompletion. Qt Creator uses the C++ compiler from the GNU Compiler Collection on Linux. On Windows it can use MinGW or MSVC with the default install and can also use Microsoft Console Debugger when compiled from source code. Clang is also supported.

<span class="mw-page-title-main">KOffice</span> Former office suite for the KDE Desktop Environment

KOffice was a free and open source office and graphics suite developed by KDE for Unix-like and Windows systems. KOffice contains a word processor (KWord), a spreadsheet (KSpread), a presentation program (KPresenter), and a number of other components that varied over the course of its development.

<span class="mw-page-title-main">KWord</span>

KWord is a deprecated word processor and a desktop publishing application, part of the KOffice suite. It has been obsoleted by Calligra Words of the Calligra Suite.

<span class="mw-page-title-main">KWrite</span> Text editor for KDE desktop environment

KWrite is a lightweight text editor developed by the KDE free software community. Since K Desktop Environment 3, Kwrite has been based on the Kate text editor and the KParts framework, allowing it to use many of Kate's features.

SIP is an open source software tool used to connect computer programs or libraries written in C or C++ with the scripting language Python. It is an alternative to SWIG.

<span class="mw-page-title-main">KDE Frameworks</span> Collection of libraries and software frameworks for the Qt framework

KDE Frameworks is a collection of libraries and software frameworks readily available to any Qt-based software stacks or applications on multiple operating systems. Featuring frequently needed functionality solutions like hardware integration, file format support, additional graphical control elements, plotting functions, and spell checking, the collection serves as the technological foundation for KDE Plasma and KDE Gear. It is distributed under the GNU Lesser General Public License (LGPL).

<span class="mw-page-title-main">KDE Gear</span> Set of applications and supporting libraries

The KDE Gear is a set of applications and supporting libraries that are developed by the KDE community, primarily used on Linux-based operating systems but mostly multiplatform, and released on a common release schedule.

<span class="mw-page-title-main">KDE Projects</span>

KDE Projects are projects maintained by the KDE community, a group of people developing and advocating free software for everyday use, for example KDE Plasma and KDE Frameworks or applications such as Amarok, Krita or Digikam. There are also non-coding projects like designing the Breeze desktop theme and iconset, which is coordinated by KDE's Visual Design Group. Even non-Qt applications like GCompris, which started as a GTK-based application, or web-based projects like WikiToLearn are officially part of KDE.

References

  1. "KDE MegaRelease 6". 28 February 2024. Retrieved 28 February 2024.
  2. 1 2 "?". Archived from the original on September 24, 2006. Retrieved 2007-05-16.
  3. The Road to KDE 4: New KOffice Technologies
  4. "?". Archived from the original on September 24, 2006.