Archiv für den Monat: September 2012

Werkstattbericht – Datenmodell und MVVM

Bereits vor der Sommerpause haben wir an verschiedenen Stellen davon berichtet, dass wir umfangreiche Änderungen an einigen Hintergrundkomponenten von MeisterGeister vornehmen und damit auch immer wieder Verzögerungen bei der Weiterentwicklung einiger Tools entschuldigt.

Nun, daber was sind diese ominösen “Hintergrundarbeiten” eigentlich? Und was habt ihr Nutzer überhaupt davon? Diese Fragen wollen wir in diesem Blog-Artikel klären…

MeisterGeister hat in den vergangenen 2 Jahren eine enorme Entwicklung erlebt: Die Anforderungen sind stark gewachsen und vor allem hat sich ein beachtlich umfangreiches Entwicklerteam entwickelt. Diese Veränderungen wirken natürlich bis in den Quellcode und den Aufbau der Sofware hinein… Nun, vereinfacht gesagt: Das was mit einem Entwickler gut funktioniert, ist bei fünf Entwicklern einfach nicht mehr praktikabel! Frühere Architekturentscheidungen sind inzwischen unpraktisch geworden und bremsen die Innovation im MeisterGeister-Projekt.
Aus diesem Grund haben wir uns vor einiger Zeit entschieden, den umfangreichen Schritt zu tun und diese alten Strukturen hinter uns zu lassen und einige neue Datenmodelle und Architekturmuster einzuführen. Das was uns jetzt einiges an Arbeit macht, wird uns später sehr viel bringen und euch natürlich auch ;-).

Aber was habt ihr nun davon? Also zunächst werdet ihr nicht viel von diesen Änderungen sehen, da sie sich hauptsichlich “unter der Oberfläche” abspielen und wir sehr darauf achten, alle bisherigen Funktionen auf die neuen Strukturen zu überführen. Der große Vorteil wird darin bestehen, dass wir endlich bei einigen Projekten ordentlich Gas geben können und wir deutlich schneller und einfacher die bestehenden Tools weiterentwickeln können und neue innovative Tools angehen können. Derzeit bremsen uns verkrustete Programmstrukturen noch sehr stark, was bald nicht mehr der Fall sein wird. Wir werden dann zum Beispiel endlich lange erwartete Verbesserungen im Kampf-Tool umsetzen können… 🙂

Während dieser Umbauarbeiten werden wir aber auch einige kleinere Verbesserungen sogleich umsetzen, von denen ihr auch direkt etwas habt: Einige Darstellungen werden verbessert, Bedienstrukturen vereinfacht und vereinheitlicht, Designs vereinheitlicht und wir versuchen die Performance zu optimieren. Ganz besonders betroffen von diesen Arbeiten ist die gesamte Helden-Verwaltung. Diese bekommt “unter der Haube” quasi einen komplett neuen Motor! 😉 Aber auch das Proben-Tool und das Kampf-Tool sind nicht unwesentlich von den Umbauarbeiten betroffen.

Exkurs für technisch Interessierte

Für all jene unter euch, die sich für die technischen Details interessieren, wollen wir an dieser Stelle eure Neugier gerne befriedigen :-). Alle anderen dürfen diesen Absatz gerne überspringen…
Eine wichtige Änderung, die wir vornehmen, ist die klarere Trennung der Architekturebenen. Dabei folgen wir dem Entwurfsmuster MVVM (Model View ViewModel). Dieses Muster basiert auf dem Model View Controller (MVC) Muster und erweitert es um einige Spezialitäten für WPF. Diese Muster sehen eine klare Trennung zwischen den verschiedenen Programmebenen vor: Die Benutzeroberfläche muss z.B. klar von der Programmlogik getrennt sein. Aus historischen Gründen besteht der MeisterGeister Code zu großen Teilen aus stark verzahnten Komponenten, mit viel CodeBehind-Logik. Die neue Architektur ist viel flexibler und robuster und einfacher zu warten und zu erweitern.
Die zweite große Umstellung besteht in unserem Datenmodell: Ursprünglich wurde die MeisterGeister-Datenbank mittels DataSet abgebildet. Dieses Datenmodell ist allerdings in einigen Punkten sehr unpraktisch und durch die gewachsenen Strukturen wurden wir dadurch stark behindert. Deshalb stellen wir das gesamte Datenmodell auf das Entity Data Model um. Anders als beim DataSet, werden beim EE-Model die einzelnen Datenbankeinträge nicht als Tabellenzeile dargestellt, sondern als einzelne Objekte. Die Handhabung dieses Models ist zwar etwas komplizierter, aber wir haben dadurch viele Vorteile.
Im Rahmen dieser Umbauarbeiten setzen wir außerdem einige sehr hilfreiche Konzepte aus dem Bereich der .NET- und WPF-Entwicklung ein, die vieles vereinfachen, darunter DataBinding und LINQ.
Diese Daten- und Architekturmodelle existieren bereits seit einigen MeisterGeister-Versionen parallel. Zur nächsten Version (1.6) wollen wir dann vollständig auf die neuen Modelle umgestellt haben!

Den Fortschritt der Arbeiten könnt ihr in unserem Forum verfolgen.

So, wir hoffen, dass wir mit diesem Artikel etwas Licht ins Dunkel bringen konnten?! Wir arbeiten bereist mit Hochdruck an der kommenden Version und wir freuen uns schon darauf, sie euch präsentieren zu können. Wir hoffen, dass es in ein paar Wochen soweit sein wird… Bis dahin: Bleibt uns treu! 😉

Eure Meistergeister

MeisterGeister und Windows 8

Das neue Windows 8 steht bereits in den Startlöchern und manch einer hat es vielleicht auch schon ausprobiert. Am 26. Oktober wird es in den Geschäften stehen, für uns also Grund genug MeisterGeister auf dem neuen Betriebssystem zu testen!

Nun, wir können verkünden, dass MeisterGeister auf Windows 8 (32/64 bit) problemlos läuft :-)!

Aber Achtung: Falls ihr euch in Zukunft ein neues Windows 8 Tablet kaufen wollt, dann berücksichtigt, dass MeisterGeister NICHT auf einem Tablet mit ARM-Prozessor und Windows RT laufen wird! Dort werden nämlich nur die Programme aus dem Windows Store im Metro-Stil zu installieren sein und MeisterGeister ist eine Desktop-Anwendung und nicht Metro kompatibel. Diese Betriebsystemvariante wird primär bei den sehr preiswerten Tablets installiert sein. Falls euch also wichtig ist, auch MeisterGeister benutzen zu können, solltet ihr ein Gerät mit einem “vollwertigenen” Windows 8 anschaffen.

Hier aber mal ein paar Bilder von MeisterGeister unter Windows 8:

Neue Version 1.5.1 erschienen

Seit kurzem gibt es die neue Version vom Microsoft SQL Server Compact 4.0 SP1. Mit dem heute erschienenem Mini-Update 1.5.1 von MeisterGeister wird nun auch die neue Version der SQL Komponente unterstützt.
Ihr könnt MeisterGeister nun also sowohl mit Version 4.0, als auch 4.0 SP1 nutzen.

Darüber hinaus wurde in der Version 1.5.1 ein Bug im Zusammenspiel zwischen dem Kamp-Tool und dem SpielerfInfo-Fenster behoben.

Weitere Änderungen werden erst in der kommenden Version 1.6.0 enthalten sein. Einen ersten Blick auf die Neuerungen könnt ihr bereits in unserem Forum erhaschen…

Download
DSA MeisterGeister 1.5.1 (1002 Downloads )

ChangeLog:

Allgemein

  • SQL Server Compact Version 4.0 SP1 wird unterstützt.

KampfInfo-Tool

  • BugFix: KampfInfo-Fenster aktualisiert das SpielerInfo-Fenster jetzt nicht mehr, wenn ein anderes Bild gezeigt wird.