Einführung in InstantView® Scripting

Der unmittelbar sichtbare Teil von InstantView® sind Windowobjekte, von denen zur Zeit 30 verschiedene existieren. Windowobjekte besitzen Aktionslisten, in denen die Dynamik der Anwendung als Reaktion auf Ereignisse festgelegt ist. Es gibt Systemereignisse und frei definierte Messages (letztere sind ein wichtiges softwaretechnisches Mittel zur Strukturierung komplexer Anwendungen in voneinander unabhängige Module).

Windowressourcen und Aktionen werden mit InstantView®Script definiert - einer einfachen Sprache, die, Bedürfnissen des Rapid Application Development entgegenkommend, so entworfen wurde, dass auch der vor allem an der Anwendung interessierte Nicht-Informatiker mit den Modellobjekten arbeiten kann. InstantView®(Script) soll leicht zu verstehen und anzuwenden sein - in dieser Hinsicht vielleicht BASIC vergleichbar. Einfache, überschaubare Konstrukte werden eleganten, aber komplizierten Lösungen vorgezogen:

Module sind die Softwarebausteine auf der höchsten Abstraktionsebene. Aus ihnen kann sofort einen Anwendung zusammengestellt werden. Um auch sehr große Anwendungen zu unterstützen, wurden externe Moduldefinitionen eingeführt.

Ein intelligentes Mapping zwischen Window- und Modell-Objekten steuert den Datenaustausch zwischen Modell und Oberfläche. Die Visualisierung der Modelldaten wird einfach und effektiv (FillWindow, DrainWindow). Die Bindung zwischen View und Modell beschreibt ein Zugriffsausdruck, mit dem  u.a. Relationen verfolgt und Funktionen aufgerufen werden können.

Die meisten Modellklassen von InstantView® haben die Fähigkeit, neben  den durch die C++-Klassendefinition statisch festgelegten Daten auch  dynamische Daten - Slots - zu halten. InstantView® sorgt dafür, dass Slots wie 'normale' Datenmember erscheinen. Slots können in einem  Zugriffsausdruck erscheinen oder bei der Formulierung einer Query benutzt  werden. Das Mapping zwischen Modell und Oberfläche trägt dem Umstand  Rechnung, dass ein Slot nicht notwendigerweise in allen Instanzen einer  Klasse vorhanden sein muss (volatile window objects).

InstantView® ist ein Interpreter. In InstantView®Script beschriebene Anwendungen werden beim Programmstart in ein zur Laufzeit sehr schnell  interpretierbares internes Format übersetzt.

Die Oberfläche einer Anwendung wird im allgemeinen interaktiv mit der ClassiX® WorkBench aufgebaut. Die Workbench generiert automatisch die  entsprechenden InstantView®Script-Files. Der generierte Code kann in jeder  Stufe der Entwicklung mit einem Texteditor oder wieder mit der Workbench  weiterbearbeitet werden.