was ist zeitgeist?

27
Und andere Erklärungen, was wir so in unserer Freizeit tun WAS IST ZEITGEIST?

Upload: dirk-songuer

Post on 18-Dec-2014

247 views

Category:

Technology


3 download

DESCRIPTION

Ich entwickle mit ein paar Freunden und Ex-Kollegen seit Anfang 2007 browserbasierte Onlinespiele und Webapplikationen. Das Herzstück dabei ist ein auf Basis von PHP selbst entwickeltes Framework, das uns bei der Entwicklung unterstützt (Zeitgeist). Die Entwicklung (und anderes) wird auf unserem Blog www.zeitalter3.de dokumentiert.

TRANSCRIPT

Page 1: Was ist Zeitgeist?

Und andere Erklärungen, was wir so in unserer Freizeit tunWAS IST ZEITGEIST?

Page 2: Was ist Zeitgeist?

Lange AntwortDie zwar kurz aussieht, aber eine lange Geschichte zusammenfasst

Anfang 2007 saß ich mit zwei Kollegen meiner ehemaligen Agentur in einem Cafe und äußerte die dummen, wie auch folgenschweren Worte: „Lasst uns doch mal ein Browsergame schreiben“.

Retrospektiv etwas größenwahnsinnig, aber das kann auch mal gesund sein.

Page 3: Was ist Zeitgeist?

Ich entwickle mit ein paar Freunden und Ex-Kollegen seit Anfang 2007 browserbasierte Onlinespiele und Webapplikationen.

Das Herzstück dabei ist ein auf Basis von PHP selbst entwickeltes Framework, das uns bei der Entwicklung unterstützt (Zeitgeist).

Die Entwicklung (und anderes) wird auf unserem Blog www.zeitalter3.de dokumentiert.

Kurze AntwortDie nur so aussieht, als wäre sie länger als die Lange Antwort

Page 4: Was ist Zeitgeist?

„Weil ich es kann!“

Einmal Entwickler, immer Entwickler

5-10 Stunden die Woche sind mehr als genug, um ordentlich Schaden anzurichten

Nur einmal Zeit haben das „ideale Framework“ zu bauen

Wozu das alles?„Kann es sein, dass du zu viel Freizeit hast?“

Page 5: Was ist Zeitgeist?

Bild durch Klicken auf Symbol hinzufügen

Ziele des FrameworksWas wäre, wenn ich mein ideales Framework zusammenstellen könnte?

Framework

Page 6: Was ist Zeitgeist?

Ziele des FrameworksTrennung von Framework- und Projektcode

Framework

Projektcode

Page 7: Was ist Zeitgeist?

Ziele des FrameworksTrennung von Projektcode und Präsentationsschicht

Framework

Projektcode

Präsentations-schicht

Page 8: Was ist Zeitgeist?

Ziele des FrameworksTransparenter Eingabefilter

Framework

Projektcode

Präsentations-schicht

Eingabefilter

Page 9: Was ist Zeitgeist?

Ziele des FrameworksTransparente Fehlerbehandlung

Framework

Projektcode

Präsentations-schicht

Eingabefilter

Fehlerbehandlung

Page 10: Was ist Zeitgeist?

Ziele des FrameworksNachrichten- und Objektsystem

Framework

Projektcode

Präsentations-schicht

Eingabefilter

Fehlerbehandlung

Nachrichten- und Objektsystem

Page 11: Was ist Zeitgeist?

Ziele des FrameworksCaching durch die Datenbank

Framework

Projektcode

Präsentations-schicht

Eingabefilter

Fehlerbehandlung

Nachrichten- und Objektsystem

Datenbank-Cache

Page 12: Was ist Zeitgeist?

Framework

Projektcode

Präsentations-schicht

Eingabefilter

Fehlerbehandlung

Nachrichten- und Objektsystem

Datenbank-Cache

Ablaufsteuerung

Ziele des FrameworksSinnvolle Ablaufsteuerung

Page 13: Was ist Zeitgeist?

Was ist davon umgesetzt worden?

?

Page 14: Was ist Zeitgeist?

Debug-Nachrichten

Fehlerbehandlung

Profiling (Code, SQL)

Function Guarding (Tracing)

Applikationsabbild in der Datenbank speichern (Trace der Applikation z.B. zur Dokumentation von Fehlern)

Debugging-Klasse

Page 15: Was ist Zeitgeist?

Der Eventhandler übernimmt die Ablaufsteuerung

Einzelne Aufgaben sind Aktionen

Aktionen sind in Modulen gesammelt

Übernimmt Rechteverwaltung, Sicherheitsmaßnahmen und Konfiguration

Kann durch Nutzereingaben oder durch die Applikation angestoßen werden

Ablaufsteuerung

Page 16: Was ist Zeitgeist?

Globale Nachrichtenklasse für Textnachrichten

Globale Objektklasse für beliebige Objekte

Beide durch Function Guarding überwacht

Können mit Typen versehen werden

Transparent in der Datenbank speicherbar

Objekt- und Nachrichtensystem

Page 17: Was ist Zeitgeist?

Eingabefilter für GET, POST und COOKIE

Wird zwingend vom Eventhandler aufgerufen bevor der Applikationscode ausgeführt wird

Eingaben werden gegen Erwartungswerte geprüft (Regexp, Static, Auswahl an Typen)

Eingabefilter

Page 18: Was ist Zeitgeist?

Ein Benutzer hat Rechte für einzelne Aktionen

Rollen sind Sammlungen von Rechten

Projektabhängig frei definierbare Benutzerdaten

Stellt Funktionalitäten bereit (Login, Logout, Anmeldung, Ändern der Nutzerdaten, ..)

Nutzerverwaltung

Page 19: Was ist Zeitgeist?

Generisches System für Konfigurationen

Grundlage sind .ini-Dateien

Wird genutzt für Modul- und Aktionskonfiguration, Eingabefilter, Lokalisierung, ..

Symbolische Links zwischen den Konfigurationen

Werden in der Datenbank gecached

Konfigurationsverwaltung

Page 20: Was ist Zeitgeist?

HTML Template-System, basierend aufDreamweaver-Templates

Datenserver (Events mit XML / JSON Output)

Datenbank-Abstraktion für MySQL

Formular-Handler

Sonstige Nettigkeiten

Page 21: Was ist Zeitgeist?

Ziele des FrameworksBenutzbares Framework: check!

Framework

Projektcode

Präsentations-schicht

Eingabefilter

Fehlerbehandlung

Nachrichten- und Objektsystem

Datenbank-Cache

Ablaufsteuerung

Page 22: Was ist Zeitgeist?

ZeitgeistSchichtenmodell eines Zeitgeist-Projekts

Datenbank

Framework - Kern

Framework - Module

Applikation - Arbeiterklassen

Applikation – Module

Präsentationsschicht

Page 23: Was ist Zeitgeist?

ZeitgeistSchichtenmodell eines Zeitgeist-Projekts

Datenbank

Framework - Kern

Framework - Module

Applikation - Arbeiterklassen

Applikation – Module

Präsentationsschicht

Page 24: Was ist Zeitgeist?

Durchgängiger Einsatz von PHPdoc

Unit Tests (SimpleTest, für Framework und Applikation)

Automatisierte Applikationstests (Serenity)

Etwa alle 3 Monate 1 Monat nur für Refactoring

SVN („Check in early and often“)

Best Practices

Page 25: Was ist Zeitgeist?

Aptana (PHP IDE)

Dreamweaver (HTML- / Templates)

MySQL GUI Tools

SVN + Tortoise

Serenity

MS Office (Word, Excel, Visio)

Tools

Page 26: Was ist Zeitgeist?

Absolut kein Druck (Go Live = „When it‘s done“)

Der Weg ist das Ziel

Das alles könnte auch Vaporware sein, wer weiß?

Die bittere Pille„Hey, wieso sehe ich noch nichts von dem Framework oder dem Spiel?“

Page 27: Was ist Zeitgeist?

Blog: http://blog.zeitalter3.de

Mail: [email protected]

Twitter: http://www.twitter.com/DirkSonguer

Sonst noch etwas?Noch Fragen?