Projekte ► iftools
Sie betrachten eine ältere Version der ionflux.org website! Bitte besuchen Sie die neue Version hier.

Ionflux Tools Klassenbibliothek

Die Ionflux Tools Klassenbibliothek ist ein leichtgewichtiges Framework für die schnelle Anwendungsentwicklung in C++ in einer Client/Server Architektur. Die Bibliothek umfasst eine Sammlung nützlicher Klassen und Werkzeuge, darunter eine mächtige Template-Engine und ein universeller hierarchischer Typ. Die Ionflux Tools Klassenbibliothek wurde unter einer GNU General Public License veröffentlicht, das heißt, sie ist freie Software!

Warum die Ionflux Tools Klassenbibliothek existiert

Wenn Sie dies lesen, fragen Sie dich vermutlich: Warum sollte die Welt ein weiteres Framework brauchen? Es scheint, jeder C oder C++ Entwickler fängt erst einmal damit an, das Rad neu zu erfinden und Wrapper für elementare APIs des Systems zu schreiben. Das passiert besonders auf *nix-Systemen, weil dort wenig Einigkeit in Bezug auf das beste Toolkit herrscht. Der Grund, wieso ich mich entschlossen habe, noch eine weitere Klassenbibliothek zu schreiben, war wahrscheinlich tatsächlich, dass ich Wrapper für bestehende Funktionalität (so wie Sockets und Datenbanken) haben wollte, die gut zu meinem Programmierstil passen.

Features

Da ich ziemlich viel in PHP programmiert habe, bevor ich zu C++ als Haupt-Programmiersprache zurückkehrte, wusste ich die Nützlichkeit von höheren Sprachen bei der schnellen Entwicklung funktionierender Prototypen wohl zu schätzen. Also habe ich angefangen, Methoden für diesen Zweck in C++ zu implementieren. An dieser Stelle kommen die Node und Template Klassen und das iftools Konfigurationsdateiformat ins Spiel. Das Konfigurationsdateiformat stellt ein sehr einfaches und trotzdem mächtiges Backend für strukturierte Daten zur Verfügung. Das Format kann mit jedem beliebigen Texteditor bearbeitet werden. Es unterstützt eine sehr einfache Syntax, die der von INI- oder Standard-*nix-Konfigurationsdateien ähnelt, aber auch komplexe hierarchisch strukturierte Objekte können definiert werden. Die so definierten Objekte werden intern durch einen universellen Baum-Datentyp (die Node Klasse) repräsentiert. Auf diese Weise ist es sehr einfach, neue Objektstrukturen zu definieren und zu testen oder sie später zu erweitern.

Auf der Ausgabeseite ist es mit iftools möglich, nahezu jedes Format zu schreiben. Zu diesem Zweck steht eine voll ausgestattete Template-Engine bereit. Inzwischen benutze ich das System für alles Mögliche, angefangen vom taggen von Musik bis zum Erstellen von Websites (diese Website wurde in der Tat mit ifdocgen erstellt, ein Programm, das auf iftools basiert) oder sogar dem Erzeugen von OpenDocument-Dateien. Die Nützlichkeit einer guten Template-Engine kann überhaupt nicht überschätzt werden! Ich ertappe mich oft dabei, wie ich Konfigurationsdateien, Shell-Skripte oder sogar andere Templates mit der iftools Template-Engine erzeuge. Und was die iftools Template-Engine von anderen Template-Engines, die ich kenne, abhebt, ist die Tatsache, dass sie sowohl als unabhängiges Tool verwendet werden als auch in jede beliebige Anwendung gelinkt werden kann (unter der Voraussetzung, dass diese Anwendung unter der GPL oder eine kompatiblen Lizenz verfügbar ist).

Dokumentation

Um mehr über iftools und dessen Funktionsweise herauszufinden, empfehle ich Ihnen einen Blick auf die Doxygen Dokumentation (momentan nur auf Englisch verfügbar) zu werfen. Dies ist auch der Ort, an dem Sie die iftools Referenzdokumentation finden.

Download

Die Ionflux Tools Klassenbibliothek ist freie Software und kann auf sourceforge.net downgeloadet werden.

© 2006-2007 Jörn P. Meier  •  Impressum  •  Datenschutz  •  Kontakt: webmaster@ionflux.org  •  Letzte Aktualisierung: 2009-04-27  •  Version 2.0  •  Sprache: en | de