Creating new Class Library Packages/en: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 25.x)
Zur Navigation springen Zur Suche springen
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== Introduction ==
== Introduction ==
Expecco is a platform which can be extended. Similar to plugins and extensions as provided by exept, end-users can write add-on packages to extend the functionality and/or user interface. Expecco already includes a full development system for such extensions.
== Classes, Packages and Class Libraries ==

== Classes, Namespaces, Packages and Class Libraries ==

Expecco's underlying runtime system is a Smalltalk/X system (ST/X) consisting of a virtual machine and a number of classes which are organized into class libraries. Class libraries can be loaded either at startup time, or dynamically (explicit) at runtime. For this, classes are organzed into so called ''packages'' which are loaded together. In addition to additional classes, packages may also contain so called ''extension methods'', which may add or replace individual methods to classes in other packages.

In addition to the package organization, classes may also be placed into their own namespace. Packages and namespaces are two different attributes of a class (in contrast to eq. Java or C#, where the package attribute is also used as the namespace prefix). This makes it possible in ST/X, to generate packages which add or modify functionality to other packages, down to the granularity of a single method.


== Development ==
== Development ==

For the development of extensions, the builtin class browser (also called ''System Browser'') is used,
which is documented in the ST/X online documentation.
The browser is opened via "''Mainmenu''" -> "''Extras''" -> "''Tools''" -> "''Class Browser"''.

=== Plugin API ===

== Deployment ==
== Deployment ==



Version vom 26. Dezember 2016, 09:22 Uhr

Introduction

Expecco is a platform which can be extended. Similar to plugins and extensions as provided by exept, end-users can write add-on packages to extend the functionality and/or user interface. Expecco already includes a full development system for such extensions.

Classes, Namespaces, Packages and Class Libraries

Expecco's underlying runtime system is a Smalltalk/X system (ST/X) consisting of a virtual machine and a number of classes which are organized into class libraries. Class libraries can be loaded either at startup time, or dynamically (explicit) at runtime. For this, classes are organzed into so called packages which are loaded together. In addition to additional classes, packages may also contain so called extension methods, which may add or replace individual methods to classes in other packages.

In addition to the package organization, classes may also be placed into their own namespace. Packages and namespaces are two different attributes of a class (in contrast to eq. Java or C#, where the package attribute is also used as the namespace prefix). This makes it possible in ST/X, to generate packages which add or modify functionality to other packages, down to the granularity of a single method.

Development

For the development of extensions, the builtin class browser (also called System Browser) is used, which is documented in the ST/X online documentation. The browser is opened via "Mainmenu" -> "Extras" -> "Tools" -> "Class Browser".

Plugin API

Deployment

Dynamic Loading during the Testrun

Automatic Loading when a Suite is Loaded

Preloading at expecco Startup (via Command Line)

Preloading at expecco Startup (by Changing the Startup Script)

Tutorial Example: A Simple Protocol Implementation

Tutorial Example: A Device Interface

Tutorial Example: An expecco Extension Plugin



Copyright © 2014-2024 eXept Software AG