Einleitung

von Rainer Becker

Woher kamen wir, wo stehen wir jetzt und wo wollen wir eigentlich hin? Diese Fragestellung ist vielleicht etwas unüblich in einer Einleitung für ein Handbuch eines Frameworks - aber dafür ist es hoffentlich dennoch lesenswert und nebenbei vielleicht unterhaltsam und informativ. Und sofern zumindest eine gewisse Übereinstimmung der Meinungen in den nachfolgenden Abschnitten festgestellt werden kann, sollten wir in Zukunft recht gut miteinander auskommen, weil Sie dann besser wissen, wo wir hin wollen und in wie weit unsere Zielrichtung mit Ihren Vorstellungen übereinstimmt und wiederum Sie in Ihren Zielen unterstützt.

1.1 Die Vorteile von FoxPro

Sie kennen den Spruch vielleicht: 3x umgezogen ist wie 1x abgebrannt! Wer sich von FoxPro/DOS nach FoxPro/Windows durchgekämpft hatte, war mit diesem ersten Umzug zwar schwer beschäftigt, aber da das Grundkonzept schon vorher recht modern war, ließ sich dieser Umstieg meist dennoch recht gut bewältigen. Und was bekam ein FoxPro-Entwickler mit seiner Entwicklungsumgebung - ungefähr folgendes auch heute immer noch sehr attraktiv klingendes Angebot:

Der Umzug von FoxPro/DOS nach FoxPro/Windows war im Vergleich zu dem Umzug von FoxPro/Windows nach Visual FoxPro im Nachhinein betrachtet dann doch eher einfach, da dieser zweite Umzug sich aufgrund völlig neuer Konzepte wie Objektorientierung und Vererbung sowie Methoden, Ereignissen und Eigenschaften wesentlich herausfordernder gestaltete. So einige Entwickler haben sich bis heute wider Erwarten und leider erfolgreich vor diesem Umstieg gedrückt - fragt sich nur, wie lange das noch gutgehen soll. Insbesondere, da dadurch auch die KnowHow-Basis und Entscheidungsfähigkeit fehlt, möglicherweise anderswohin zu wechseln.

Die im ersten Abschnitt genannten Vorteile von FoxPro wurden in Visual FoxPro beibehalten, dazu kamen noch folgende wesentlichen Erweiterungen:

Genial war nicht nur die Beibehaltung des bisherigen hybriden Ansatzes beim Datenzugriff (satz- und mengenorientiert) sondern das nunmehr ebenfalls hybride Programmiermodell (prozedural und OOP). Beliebige Wechsel zwischen SKIP und SQL waren nunmehr genauso möglich wie der Aufruf einer Prozedur aus einer Objekt-Methode. Gnadenlos praktisch ist dabei die direkte Editierbarkeit der in Tabellen gehaltenen Klassen- und Maskendefinitionen (sog. Metadaten), was von jeher das Umbiegen der Vererbungshierarchie erlaubte zwecks nachträglicher Korrektur oder Einfügung von Zwischenebenen. Als ebenso praxisnah erwies sich das hierarchische Container-Konzept statt der ansonsten von Microsoft verfolgten SimpleFrame-Oberfläche, die keine zwei gleichnamigen Objekte im gleichen Formular erlaubt und damit die eigentlich interessante Wiederverwendung von aggregrierten Objekten zur Qual macht.

Wessen Spezialität es natürlich vorher schon war, Code zu kopieren und anzupassen, statt eine erweiterte Standardfunktion zu bauen um wenig gesparte Entwicklungszeit gegen viel Wartungsaufwand zu tauschen, konnte dass in der neuen Welt natürlich weiterhin tun und damit jedweden theoretischen Nutzen von vorneherein bzw. weiterhin über den Haufen schießen, wie oft genug geschehen. Umgekehrt führt der verzweifelte Versuch, wirklich alles in Klassen abzubilden und für jede denkbare Ebene eine eigene Schicht leerer Zwischenklassen einzuführen natürlich zu einem viel zu komplexen Entwicklungskonzept, welches neuen Projektmitarbeitern überhaupt nicht mehr vermittelbar ist. Wie immer liegt wohl auch hier die Wahrheit in der Mitte.

Wirklich rund wurde die Entwicklung aber erst mit dem großen Sprung des Funktionsumfangs bei der stabilen und leistungsfähigen Version Visual FoxPro 6.0, die wohl die am häufigsten eingesetzte Version von Visual FoxPro ist. Aufgrund der Abwärtskompatibilität war jedes weitere Update beginnend mit Visual FoxPro 3.0 eher unproblematisch, so dass man jederzeit auf die Folgeversion umsteigen konnte, auch wenn die Version 7.0 in der deutschen Variante wohl einige unerfreuliche Speicherlecks enthielt.

1.2 Noch mehr Vorteile mit Visual FoxPro 8.0

Die aktuelle Version Visual FoxPro 8.0 ist eine wesentliche Erweiterung der Vorgängerversion mit einem ebensolchen Sprung in der Entwicklung wie bei der beliebten Version 6.0. Das wird besonders deutlich in der entsprechenden vergleichenden Darstellung von Christian Desbourse mit einer quantitativen Gegenüberstellung aller bisherigen Versionen von Visual FoxPro - erschienen in der Ausgabe 12.0 der Loseblattsammlung FoxX Professional aber auch online im dFPUG-Portal sowie auf seiner Homepage verfügbar. Leider ist dieser große Schritt in der Entwicklung noch nicht bekannt genug und wird von vielen FoxPro-Entwicklern noch nicht wirklich gesehen geschweige denn von dem daraus resultierenden Nutzen für die praktische Arbeit.

Die wichtigsten Features der Version Visual FoxPro 8.0 sind:

Zu recht wird es als das umfangreichste Update seit Visual FoxPro 6.0 bezeichnet. Viel zu lernen gibt es also für die Anwender, insbesondere für diejenigen unter uns, die sich ein oder mehrere Updates zwischendrin gespart haben. Sprich die Mehrheit, die jetzt von Visual FoxPro 6.0 oder gar 5.0 direkt auf Visual FoxPro 8.0 umsteigen und dann die Erweiterungen von 2-3 Versionen auf einmal lernen dürfen. Mitleid ist dabei aber eigentlich nicht angebracht, denn jeder Söldner modernisiert seine Ausrüstung und schärft sein Messer - nur FoxPro-Entwickler lassen gerne mal 1-2 Updates und damit 3-5 Jahre Weiterentwicklung in einem Markt aus, wo 5 Jahre eine Generation darstellen. Es ist natürlich richtig: updaten kostet nicht nur die Updategebühren sondern auch eine Menge Zeit für die Einarbeitung - und warum sollte man eine bestehende Anwendung updaten, wenn der direkte Nutzen für den zahlenden Anwender nicht erkennbar ist. Aber es ist auch richtig: Lieber schrittweise mitlernen als jahrelang nicht updaten und dann einen riesengroßen Schritt bewältigen müssen, für den man im Arbeitsalltag dann oft doch keine Zeit hat und daran dann scheitert.

Aber fast genauso wichtig an der neuen Version wie die Vielzahl der praxisnahen technischen Erweiterungen sind auch die Ankündigungen von Microsoft in diesem Zusammenhang, zum Beispiel:

Ein Wermutstropfen ist natürlich die generelle Einstellung der Lokalisierung von Benutzeroberfläche und Hilfe für Deutsch und Spanisch (alle anderen Sprachunterstützungen wurden schon mit der Version 6.0 bzw. spätestens mit der Version 7.0 eingestellt, was hierzulande aber sowieso keiner gemerkt hat). Deshalb helfen folgende Informationen weiter:

In Kombination der deutschen Benutzeroberfläche mit der Hilfedatei von Visual FoxPro 7.0 (wenn man diese denn besitzt) und dem Updatebuch zur Version 8.0 liegt eigentlich alles (bis auf die Assistenten) in Deutsch vor, so dass der seitens Microsoft natürlich Kosten sparende Verzicht auf die Lokalisierung sich nur wenig auf den Arbeitsalltag auswirken sollte und mit der Verfügbarkeit der deutschen Dokumentation entfällt dieser Punkt dann sowieso.

1.3 Die Vorteile von Visual Extend

Das Framework Visual Extend hat übrigens diesen Ursprung von FoxPro von vorneherein nicht verlassen und das war unseres Erachtens ein wichtiger Grund für den Erfolg des Produktes. Die zusammenfassenden Marketing-Schlagworte für Visual Extend sind seit vielen Versionen unverändert und zutreffend die folgenden:

Die bestehenden Versionen von Visual Extend unterstützen den Entwickler unter Visual FoxPro mit folgenden Werkzeugen:

Damit werden sämtliche Standardbereiche einer Applikationsentwicklung rein unter Visual FoxPro oder als 2-Schichten-Anwendung nach dem Client/Server-Prinzip mit einer Backenddatenbank (wie z.B. SQL-Server oder MSDE) erfolgreich abgedeckt. Nicht weiter verfolgt wurden die Bemühungen, eine vollständige 3-Schichtenarchitektur mit separierter Geschäftslogik zu implementieren, da der Aufwand für diese Architektur und das notwendige theoretische Hintergrundwissen für eine preiswerte Erstellung von ansprechenden Anwendungen im Bereich der KMUs meist viel zu hoch ist.

Neben diesen technischen Gründen sprechen aber auch einige weitere Argumente ganz gewichtig für Visual Extend:

Allein schon aus den hier genannten Gründen werden z.B. mehr Lizenzen von Visual Extend im deutschsprachigen Raum verkauft als von allen anderen Framework-Anbietern, was wiederum die Stabilität der Weiterentwicklung und Wartung des Produktes sehr positiv beeinflusst, auch wenn natürlich Visual Extend genauso wie Visual FoxPro selbst unter der meist geringen Bereitschaft der Anwender zum Erwerb eines Updates leidet.

1.4 Noch mehr Vorteile mit Visual Extend 8.0

Mit der aktuellen Version von Visual Extend wird die gleiche Richtung fortgeführt, die auch die Vorversionen sowie Visual FoxPro so beliebt gemacht haben mit Konzentration auf schrittweise Weiterentwicklung unter Beibehaltung einer weitestgehenden Abwärtskompatibilität. Die neue Version Visual Extend 8.0 bietet dabei ein so umfangreiches Update wie noch nie. Da die reine Ablauffähigkeit unter der neuen Version Visual FoxPro 8.0 mit dem kostenlosen Zwischenrelease Visual Extend 7.1 bereits abgedeckt werden konnte, wurde der Schwerpunkt ohne die sonst notwendige zeitliche Einschränkung wegen möglichst schneller Lieferung zur Ablauffähigkeit unter der neuesten Version von Visual FoxPro auf die Runderneuerung und wesentliche Erweiterung in einer Vielzahl von Bereichen gesetzt. Hier eine grobe Übersicht über die wichtigsten der neuen Features:

Bei den umfangreichen Umfragen der dFPUG bezüglich der Anforderungen an die neue Version Visual FoxPro 8.0 stand der Berichtsdesigner immer unangefochten an erster Stelle. Dieser wird mit der neuen Version von Visual Extend um PDF-Erzeugung und eMail-Versand erweitert, welches den Nutzen bestehender Anwendungen ohne Mehraufwand erhöht. An zweiter Stelle stand der Menüdesigner, welcher ebenfalls in Visual Extend in der neuen Version umfangreich und elegant adressiert wird.

Natürlich musste auch etwas im Bereich Look & Feel unternommen werden. Denn nicht nur Treeviews sind zeitgemäß und Windows XP sieht schon schick aus, sondern erweiterte Picklisten und viele weitere Erweiterungen in der Benutzeroberfläche sind natürlich auch zwingend notwendig für die Erstellung leicht bedienbarer Anwendungen. Auf jeden Fall auch hier eine Vielzahl von Angeboten, mit denen man nicht nur neue Anwendungen schneller entwickeln kann, sondern auch bestehende Anwendungen leicht erweitern kann, um seinen eigenen Kunden eine neue überarbeitete Version anbieten zu können.

Da fast die Hälfte der größeren Entwickler auch im Bereich Client/Server tätig sind, wurde das Feature Datenbankupdate für diesen Bereich erweitert. Für die anderen kam eine Funktion zur Datensicherung hinzu, die sich leicht in die eigene Anwendung integrieren lässt und ohne weitere Lizenzkosten oder Installationsaufwand ZIP-Dateien erzeugt.

Und für diejenigen, die nicht nur Inhouse entwickeln, sondern Ihre Anwendungen auch auf dem freien Markt anbieten, haben wir endlich eine vernünftige Lösung nicht nur für das Update der Anwendung über das Internet sondern auch für die Produktaktivierung mit Einzelrechten für bis zu 32 Module über einen variabel definierbaren Aktivierungsschlüssel. Das Verfahren hat sich bei Visual Extend selbst bewährt und wird deshalb in erweiterter Fassung allen Entwicklern bereitgestellt.

Gleichermaßen hat sich auch die Mehrsprachigkeit von Visual Extend bewährt, was man an der internationalen Verteilung der Anwender sehen kann. Auch dies wird deshalb in erweiterter Fassung allen Entwicklern bereitgestellt in Form zusätzlicher Sprachunterstützung der generierten Anwendungen von bisher Deutsch, Englisch, Französisch, Italienisch und Spanisch um Griechisch, Bulgarisch und Tschechisch mit nunmehr insgesamt 8 unterstützen Sprachen in der generierten Anwendung.

1.5 Die nächsten Versionen

Für die nächste Version Visual FoxPro 9.0 wurde für das zweite Halbjahr 2004 schon eine erste Liste von neuen Funktionen bekanntgegeben, unter anderem:

Schwerpunkt der nächsten Version von Visual FoxPro werden neben dem wichtigen Thema Berichtsgenerator die Aufhebung von Beschränkungen in jedweder Hinsicht und die Erhöhung der Entwicklerproduktivität sein. Das verbessert den Wert des Produktes für Entwickler deutlich, ohne in irgendeiner Weise mit Frameworks zu interferieren. Und natürlich können wir deshalb auch schon allererste Ideen für die Version Visual Extend 9.0 unverbindlich auflisten:

Da es aber bis zur Fertigstellung von Visual FoxPro 9.0 noch etwas dauern wird, haben wir uns für den Zeitraum bis dorthin andere Bereiche gesucht. Nämlich die Erstellung von weiteren Beispielanwendungen bzw. Fertiglösungen für die Übernahme in das eigene Angebot z.B. in folgenden Bereichen:

Aber sowohl Visual FoxPro 9.0 als auch die korrespondierende Version Visual Extend 9.0 liegen noch einige Zeit vor uns, weshalb Sie sich darüber erstmal keine weiteren Gedanken machen sollten, außer, dass Sie sich sicher sein können, dass die jeweiligen Produkte offensichtlich weiterentwickelt werden und diese Tatsache nur zu Ihrem Nutzen sein kann. Nichts anderes sollen solche Produktvorschauen zeigen - und außerdem verhindern, dass Sie Zeit in die Entwicklung von Features stecken, die Sie in der Folgeversion sowieso für lau erhalten. Die Ankündigung einer Folgeversion ist also nützlich, aber sollte keinesfalls irgendeine Art von Hinderungsgrund sein, sich die jeweils aktuelle Version von Visual FoxPro und Visual Extend erst einmal anzueignen und einzusetzen.