mmofacts.com

Event-Driven Entwicklung in Javascript

gepostet vor 16 Jahre, 7 Monate von KoMtuR
So erstmal vorweg:
FUCK YOU Forumsengine
Sorry das musste nun sein, nachdem ich den Text wiedermal nicht vorher abgesichert hatte und dieser schon etwas länger war
Also es geht drum, dass ich mir die letzte Zeit ein kleines System entwickelt habe, welches von einem linearen Ablauf auf der Clientseite weg geht, sondern eher versucht benutzerdefinierte Events zu werfen, welche dann Teile des ganzen Komplexes aktiviert. Gibt dazu ein schönen Blog für YUI, aber dies ist seit der Prototype-Version 1.6 auch mittels fire möglich (ich & mein Prototype ).
Der Vorteil so einer Entwicklung ist in dem Blog eigentlich gut beschrieben. Man kann sich Teile aus dem Ganzen rausnehmen und separat entwickeln. Es wird einfach der geworfene Event ignoriert, wenn man es will und vorallem bekommt man meiner Meinung nach eine Art "in sich geschlossene Systeme" hin. Da die Anwendung durch diverse asynchrone Anfragen an den Server eh in ihrem Ablauf durcheinander gebracht werden, würde sich das sogar anbieten.
Der Nachteil zeigte sich bei mir schon nach paar Stunden und den ersten Testversuchen. Man kann nicht 100% vorhersagen, in welcher Reinfolge die Events nun ankommen, da diese Liste, welche Events wann und in welcher Reinfolge kommen sollten, durch diverse Requests an den Server schon durcheinander gebracht werden. Man kann es ja leider nicht vorhersagen, wann denn der Request beendet sein wird und das angeforderte Objekt auf dem Client verfügbar ist.
Hatte zum Beispiel am Anfang das Problem, dass ich beim Start der Web-Anwendung diverse Javascript-Module nachlade und es halt vor kam, dass ein Modul von dem anderen abhängig ist (das Kartenmodul braucht ja auch diverse Daten, die es dann dem User präsentieren kann).
Werde mal nach einem Frühjahrsputz im Code meine etwas bescheidene Lösung in die Snippet-Datenbank stellen.
Wie seht ihr, also die Entwickler, die nun auf Javascript bauen, diese Vorgehensweise. Wo würdet ihr Vorteile und Nachteile sehen? Für eine Web-Anwendung, die nun nur versucht eine Desktop-Anwendung in den Browser zu stopfen würde dies sicherlich gut sein. Aber wie schauts mit Browsergames aus? Sinnvoll oder einfach nur sinnlose Spielerei?
Auch frage ich mich, ob es eigentlich einen Sinn machen würde, eine Objektstruktur auf Javascript-Ebene aufzubauen, wenn man dann eh linear alles abwickelt (denke so eine Event-getriggerte Steuerung geht nur effektiv mit Objekten).
KoMtuR

Auf diese Diskussion antworten