Neues Buch: Schnelle Anwendungsentwicklung mit VFP 6.0

Hans Wagner, Gerd Willwacher

Unser Redaktionsmitglied Hans Wagner interviewte Dr. Gerd Willwacher, den Autor des neu erschienenen Buches: "Schnelle Anwendungsentwicklung mit VFP 6.0, VFG - ein generatorunterstütztes Framework für kleine und mittlere Applikationen" (Verlag: Libri Books on Demand, ISBN 3-8311-0020-9, 259 S., DM 97,80).

FoxX: Was hat Sie veranlasst, dieses Buch zu schreiben?

Dr.W: Immer, wenn ich mich in einer Buchhandlung umschaue, ärgert es mich, dass kaum Bücher über VFP zu finden sind. Patrick Schärer hat mit "Der Visual FoxPro6.0 Anwendungsentwickler" als erster deutscher Autor ein Buch zu den Grundlagen von VFP 6.0 geschrieben, das ich für sehr gelungen halte. Hieran möchte ich anknüpfen und ein weitergehendes Buch veröffentlichen. Ich möchte in diesem Buch mein Programmierkonzept vorstellen, das ich in den letzten Jahren entwickelt habe.

FoxX: Wie sieht dieses Programmierkonzept aus?

Dr.W.: Als Berater in der mittelständischen Industrie müssen Sie sehr viele betriebsindividuelle Probleme lösen und programmtechnisch umsetzen. Für jedes Problem muss meist ein neues, individuelles Programm erstellt werden. Um wirtschaftlich zu arbeiten, müssen solche Programme weitgehend aus fertigen bzw. halbfertigen Komponenten zusammengesetzt werden. Um Programmierarbeit zu sparen, müssen Sie zusätzlich Generatoren einsetzen. Um eine leichte Wartbarkeit zu erreichen, müssen gleiche Probleme immer in gleicher Art gelöst werden, d.h. Sie müssen die Programmfunktionen durchdenken, die entsprechenden Klassen und Generatoren aufbauen und dann dieses Konzept immer wieder verwenden. Sie müssen konsequent darauf achten, schlanken und leicht wartbaren Code zu erstellen; ich habe diese Art der Programmierung oft als "Lean-Programmierung" bezeichnet.

FoxX: Das ist doch auch die Zielsetzung aller Frameworks. Warum haben Sie nicht einfach ein Framework gekauft und eingesetzt?

Dr.W.: Ich habe verschiedene Frameworks gekauft und getestet. In der Regel versucht ein Frameworkhersteller möglichst viele Programmiermöglichkeiten abzudecken, um einen großen Kundenkreis anzusprechen. Das macht solche Frameworks umfangreich und oft schwer verständlich. Auch wenn Sie ein Framework verwenden, müssen Sie Fehler in ihren Anwendungen immer noch selbst suchen, und das geht nur, wenn Sie das verwendete Framework im Detail verstanden haben. Ich denke, dass jeder Anwendungsentwickler eine bestimmte Art hat, Applikationen aufzubauen (Benutzerführung, Maskengestaltung usw.). Wenn man nun ein Framework speziell auf diesen persönlichen Stil des Entwicklers ausrichtet, lässt sich die Komplexität des Frameworks wesentlich reduzieren und das Ganze ist erheblich einfacher zu verstehen. In meinem Buch habe ich viele Komponenten, die als Basis für ein solches "persönliches Framework" dienen können, beschrieben.

FoxX: Meinen Sie nun, dass jeder Anwender sein eigenes Framework selbst entwickeln sollte?

Dr.W.: Keinesfalls, und ich sehe mein Buch auch nicht als Konkurrenz zu kommerziellen Frameworks. Ich habe lediglich Klassen für ein einfach überschaubares Framework entwickelt, das für kleine und mittlere Applikationen geeignet ist. Neu an meinem Konzept ist vielleicht die Ausrichtung auf eine "schlanke Programmierung" und der konsequente Einsatz selbst entwickelter, anpassbarer Generatoren zur Beschleunigung der Programmiertätigkeit. Der wichtigste Punkt ist: ein Framework greift sehr in die Grundlagen Ihrer Programmierung ein, es muss daher überschaubar sein und Sie müssen es komplett verstehen. Im Endeffekt sollte man ein "persönliches Framework" haben, das aus gekauften und aus selbst entwickelten Komponenten besteht. Viele Anbieter (eps-software, Indisoft, ProLib) bieten bereits Einzelkomponenten an, die Sie in jedem Framework verwenden können. Auch die in meinem Buch beschriebenen Klassen und Generatoren können Sie ggf. mit Anpassungen in jedem Framework verwenden.

FoxX: Was gibt es an fertig einsetzbaren Komponenten?

Für die schnelle Programmentwicklung habe ich ein anpassbares Hauptprogramm, ein über Benutzerrechte gesteuertes Menü, fertige Formulare zur Systemverwaltung, Fehler- und Logbuchregistrierung, Datenreorganisation usw. entwickelt. Diese Komponenten können über ein Tool in ein neues oder in bestehende Projekte kopiert und/oder eingebunden werden.

FoxX: Haben Sie neuartige Klassen entwickelt?

Natürlich, das Frameworkkonzept ist so aufgebaut, dass ich generell mit Views arbeitete. Auf diese Weise kann ich Anwendungen für VFP-Datenbanken bzw. SQL-Server in gleicher Art programmieren; lediglich die Art des Views (lokal oder remote) ist von der verwendeten Datenbank abhängig. Die Anwendungen sind in einer logischen 3-Schichten-Struktur aufgebaut, für die ich neue Datenbearbeitungsobjekt- und Interfaceklassen entwickelt habe. Weiterhin habe ich auch viele einfache Klassen für: Datumseingabe, Picklisten mit inkrementeller oder SQL-Suche, Abfrage über parametergesteuerte Views usw. entwickelt.

FoxX: Wie ist eine schnelle Einarbeitung in Ihr Konzept möglich?

Das Buch ist nach dem "Top-down-Prinzip" aufgebaut. Zunächst beschreibe ich das Programmierkonzept, und nach einer kurzen Erläuterung der Generatoren, Programme und VFG-Grundklassen erfolgt dann eine funktionsbezogene Beschreibung einzelner Lösungsprinzipien und Anwendungsfälle: Menüaufbau, Gridanzeigen, SQL-Datenauswahl, Datumseingabe, Kurzbezeichnungen usw. Zum Test der Frameworkkonzepte und der Tools und Generatoren steht eine einfache Musteranwendung zur Verfügung.

FoxX: In Ihrem Buch beschreiben Sie ein generatorunterstütztes Framework. Was ist das?

Dr.W.: Eine der fantastischsten Eigenschaften von Visual FoxPro ist, dass Sie Tools und Generatoren unmittelbar in der Programmiersprache erstellen können. Dieses Konzept sollten Sie unbedingt nutzen, um dem Programmierprozess zu beschleunigen. Ich verwende für fast jede Controlklasse einen Generator, der es mir über Anklicken des Controls mit der mittleren Maustaste erlaubt, sehr schnell die wichtigsten Properties und Methoden zu bearbeiten. Aus einer Template-Tabelle kann ich gespeicherte Codevorschläge für die Methoden kopieren und individuell abändern. So wird erreicht, dass gleichartige Probleme immer in gleicher Art gelöst werden. Weitere Generatoren dienen dazu, sehr schnell Formulare auf der Basis der verschiedenen Klassen aufzubauen, Controls in einem Formular auszutauschen oder Controls und Labels in einem Formular nach verschiedenen Kriterien auszurichten.

FoxX: Bei einem solch speziellen Buch müssen Sie doch mit einer kleinen Auflage rechnen. Wie lässt sich ein solches Buch wirtschaftlich produzieren?

Dr.W.: Das Buch wird vom Libri-Verlag im "Print on Demand-Verfahren" produziert, d.h. die Bücher werden elektronisch gespeichert und nach Bedarf gedruckt, so dass auch kleine Auflagen kein Problem sind.

FoxX: Wie werden diese "Print on Demand-Bücher" vertrieben?

Dr.W.: Sie werden ganz normal über den Buchhandel und Internet-Buchhandlungen verkauft, und ich hoffe, dass Sie auch bald im Lieferprogramm von ISYS und ProLib zu finden sind. Weitere Informationen zu dem Buch finden Sie außerdem auf meiner Website http://www.Willwacher.de.

FoxX: Das klingt ja alles sehr gut, hat dieses Verfahren auch Nachteile?

Dr.W.: Nachteile vielleicht nicht, aber ein paar Unbequemlichkeiten. So gibt es zum Beispiel keinen Lektor und auch die komplette typografische Gestaltung bleibt dem Autor überlassen. Einem solchen Buch kann keine CD beigefügt werden, was ich zunächst für sehr nachteilig hielt. Inzwischen sehe ich jedoch, dass es sehr viel praktischer ist, den Code über eine Website zu liefern. Man kann jederzeit Änderungen vornehmen und Fehler beseitigen. Der US-Verlag Hentzenwerke, der viele VFP-Bücher herausgebracht hat, arbeitet ebenfalls nach diesem Verfahren.

FoxX: Werden Sie nun weitere Bücher nach diesem Verfahren veröffentlichen?

Dr.W.: Hier möchte ich zunächst einmal die Resonanz abwarten. Ich würde mich jedoch sehr freuen, wenn andere Mitglieder der Usergroup Bücher zu VFP-Themen veröffentlichen würden. Nähere Einzelheiten zu "Print on Demand" finden Sie unter (www.Bod.de). Mein Traum wäre, in jeder Buchhandlung endlich eine Reihe interessanter VFP-Bücher zu finden.

FoxX: Herr Dr. Willwacher, wir danken Ihnen für dieses Interview!