Wie geht es weiter mit Swllog? Eine gute Frage. Die letzten Jahre ist ja bei Swllog recht wenig passiert. Die Welt hat sich weitergedreht und dabei auch ganz schön verändert. Und ich mich auch.
Visual Basic Classic, mit dem das Programm bisher entwickelt wurde, ist quasi Geschichte. Es wird seitens Microsoft nicht mehr supported. Also wie oder besser womit weitermachen? Microsoft bietet zwar weiterhin Visual Basic als .net-Sprache an, ausser dem Namen haben beide Versionen allerdings keine Gemeinsamkeiten. Eine Migration zu VB.net wäre eine komplette Neuentwicklung. Die würde dann allerdings wieder nur unter Windows laufen. Und dabei sogar noch die älteren Windows-Versionen ausgrenzen bzw. wieder je nach Windows-Version unterschiedliche Anforderungen oder Support-Aufwand mit sich bringen. Das will ich eigentlich nicht mehr haben. Außerdem ist die Windows-Dominanz (gottseidank) bei weitem nicht mehr so groß wie vor einigen Jahren, gerade im technischen Umfeld. Auch bei mir zuhause läuft Windows immer seltener. Momentan arbeite ich größtenteils auf mehreren Linuxsystemen, es kann aber durchaus sein das da demnächst auch ein Mac dabei ist.
Unter diesen Aspekten habe ich mich schon vor einigen Jahren nach einer neuen Programmiersprache samt Entwicklungsumgebung umgesehen, um auch meine anderen Projekte auf Nicht-Windows-Plattformen realisieren zu können. Wenn man alle gewünschten Aspekte zusammennimmt (echte Objektorientierung, frei verfügbare Sprache, freie IDE, echte Plattformunabhängkeit, möglichst OpenSource, …) bleibt man irgendwann fast zwangsläufig bei Java hängen. Die Sprache bietet echte Plattformunabhängigkeit für alle großen Plattformen (Windows, Linux, MacOS) und ist mittlerweile selbst OpenSource. Es gibt eine Vielzahl an leistungsfähigen, sehr guten Erweiterungen bzw. Komponenten in allen möglichen und unmöglichen Bereichen, oft ebenfalls als OpenSource-Variante zu haben. Und es existieren mehrere extrem leistungsfägige IDEs wie Eclipse oder NetBeans dafür. Und das Wichtigste: Ich fühle mich wohl mit Java, die Sprache gefällt mir.
Nach mittlerweile gut 3 Jahren Praxiserfahrung im Java-Umfeld habe ich momentan folgenden Weg für Swllog geplant:
- Neuentwicklung auf Basis Java.
- Komplette Plattformunabhängigkeit, soweit dies überhaupt möglich ist. Zielstellung ist, das das Programm nativ ohne Probleme auf Windows, Linux (bzw. diversen BSD-Derivaten, auf denen Java verfügbar ist) und MacOS läuft.
- Als GUI-Bibliothek wird aufgrund des obigen Punktes Swing zum Einsatz kommen. SWT wäre zwar jeweils etwas näher an der jeweiligen Plattform, bringt aber dann schon wieder plattformspezifische Abhängigkeiten mit.
- Als Zusatztool für die GUI wird die JGoodies Forms Library zum Einsatz kommen. Damit lassen sich sehr leistungsfähige und ansprechende GUIs relativ einfach entwickeln und betreiben.
- Das Datenbank-Backend steht noch nicht ganz fest. Ich schwanke noch zwischen einer relationalen Datenbank (MySQL) oder einer objektorientierten Datenbank (db4o). Beide Lösungen haben Vor- und Nachteile.
- Falls die relationale Datenbank zum Zuge kommt, wird dann wohl Apache Torque als O/R-Mapper zum Einsatz kommen.
- Ziemlich sicher ist schon, das die neue Swllog-Version unter einer OpenSource-Lizenz veröffentlicht werden wird. Noch nicht ganz klar ist welche Lizenz zum Einsatz kommen wird.
Die ersten Codezeilen sind geschrieben, die ersten Programmfenster zeigen sich schon. Ich denke in einigen Wochen gibt es davon hier mehr zu sehen.