Seit Dezember wird bei NETZkultur an der konkreten Zukunft der infra-struktur gearbeitet. Das große Thema Re-Design. Damit sind nicht in erster Linie kosmetische Änderungen gemeint, sondern wir arbeiten an einer kompletten neuen Architektur hinter der Software.
Ausgehend von der Idee, eine Software durch sauberen Code (Clean Code) für die Zukunft wartbar und weiter entwickelbar zu machen, setzen wir zuerst auf eine neue Architektur. Im Kern auf Model-View-Controller (MVC, siehe dazu wikipedia). Aus der Vergangenheit gab es in unserer Software keine strikte Trennung von Oberfläche und Logik. Das wird sich ändern – Die Ebene Model kümmert sich um die Daten, der Controller um die Steuerung der Benutzeraktionen und im View findet sich der Aufbau der GUI. Weitere Grundidee ist die Verwendung von möglichst kleinen, gekapselten Einheiten, nach dem Motto: Wert rein -> Blackbox -> Wert raus.

Für die View, also die neue GUI setzten wir auf ein Javascript Framework namens Ext JS. Es liefert viele nötige GUI Elemente in sehr moderner Optik, die sich durch uns benutzen lassen. Damit solche Frameworks ausgetauscht werden können, um nicht in die Abhängigkeit anderer Hersteller zu kommen, sieht die neue Architektur der infra-struktur 3.0 eine Template Engine vor, die sich grundsätzlich auch mit alternativen Frameworks arbeiten könnte.
Wir verfolgen also folgende Ziele:
- Clean Code
- viele kleine objektorientierte Komponenten
- Trennung von Oberfläche und Logik
- Einführung von UNIT Tests
- bessere Aufgabenverteilung im Entwicklerteam
- weniger Abhängigkeiten von anderen Herstellern
- Nutzung modernster Webtechnologien
- optische Aufbereitung der Software
- Grundstock für die Implementierung neuer Funktionen
- Dependency Injection
In der Praxis bedeutet das: Der komplette Aufbau dieser neuen Architektur ist nicht in Wochen zu realisieren, die Konzentration auf das Neue verlangt aber auch eine Zurückhaltung bei der Umsetzung neuer Funktionen in die Version 2.9.x. Das Thema lautet: Neue Strukturen für die Zukunft, statt neue Funktionen für die Vergangenheit.



