Creating new Class Library Packages/en

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen

Introduction[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

Deployment[Bearbeiten]

Dynamic Loading during the Testrun[Bearbeiten]

Automatic Loading when a Suite is Loaded[Bearbeiten]

Preloading at expecco Startup (via Command Line)[Bearbeiten]

Preloading at expecco Startup (by Changing the Startup Script)[Bearbeiten]

Tutorial Example: A Simple Protocol Implementation[Bearbeiten]

Tutorial Example: A Device Interface[Bearbeiten]

Tutorial Example: An expecco Extension Plugin[Bearbeiten]



Copyright © 2014-2024 eXept Software AG