Frage

Haben Sie versucht, MVC oder anderes UI-Muster unter Verwendung von für GWT Client-Code. Was sind die Gefahren / Vorteile, die Sie in verschiedenen Ansätzen konfrontiert sind?

War es hilfreich?

Lösung

Ich glaube, Sie brauchen GWT zu behandeln wie jeder anderer UI-Framework, wie Swing, Kakao, usw. Alles, was auch Sinn in diesen Rahmenbedingungen in Bezug auf MVC (oder anderen Paradigmen) macht Sinn in GWT macht. Ich denke, die Leute manchmal zu weit die MVC Sache nehmen, und Ich mag die Art und Weise es in Cocoa mehr als die meisten Frameworks funktioniert. Sie erstellen eine Ansicht, können Sie einen Viewcontroller, die alle das Verhalten der Ansicht steuert, und dann haben Sie Modellobjekte mit allen Daten. Ich glaube nicht, Sie dogmatisch zu sein brauchen, um über, wo alle Ihre Business-Logik ist, es muss nur sein, wo es Sinn macht.

Im Hinblick auf die Gefahren, die wichtigste Sie den Weg laufen wird, ist, dass GWT ist eine reine Front-End-Technologie, so dass technisch das hintere Ende auf einem Server irgendwo sitzt. Ich sehe dies nicht so, dass anders als das Schreiben eine Client-Server-Swing-Anwendung ist, dass speichert es Daten in der Cloud irgendwo. Der Unterschied besteht darin, dass GWT in Javascript erstellt unten ist, und verfügt über alle Grenzen einer Javascript Web-Anwendung, so wird es einige Dinge, die man einfach nicht auf dem vorderen Ende tun. Sagen wir zum Beispiel möchten Sie ein PDF erstellen und zu zeigen, dass für den Benutzer, Sie nicht, dass in GWT tun können, müssen Sie das hintere Ende nennen es für Sie zu tun. In einem Swing-App auf der anderen Seite könnte man wahrscheinlich verwenden itext und tut es auf der Client-Seite.

Andere Tipps

Das MVC-Muster für GWT ist in dieser Frage diskutiert , die auch einen Link zu diesem eingehenden Blog-Post .

Das einzige, was ich noch hinzufügen möchte, ist, dass der Client-Seite Code in seiner Gesamtheit kann die „V“ in „MVC“ in Betracht gezogen werden, die die Art und Weise verändern können Sie sie betrachten. Denken an dem Client-Seite Code als seine eigene verschachtelte MVC-Komponente, na ja, es ist Java, es ist objektorientiert, so kann es ähnlich wie eine Schaukel App entworfen werden. Ich denke, dass es zu Ihrem Vorteil ist, so viel Controller-Code aus der Darstellung als möglich zu ziehen, die GWT RPC Sachen zu behandeln. Das Modell ist manchmal problematisch, weil Sie sich entscheiden müssen, wenn Sie es auf dem Server statt des Client soll. Oder erstellen Sie ein Modell-Proxy, etc.

http://code.google.com/p/gwt-mvc/ könnte Ihnen helfen.

Die Vorteile sind:

  • einfache Controller lesen
  • Geschichte Tokens Management
  • Controller sind testble mit JMock (aber nicht GwtTestCase)
  • Hierarchical MVC
  • Einfache Vererbung starten Sie Ihre Ansicht, Controller und Modelle Codierung.

Haben Sie versucht, GWTruts ( http://sourceforge.net/projects/gwtruts/ ) ? Es ist auch ein Open-Source-GWT MVC-Framework, die View und Controller in GWT trennen

Mit irgendeiner Art von MVC / MVP Typ Muster ist wirklich wichtig, wenn GWT-Anwendungen über das kleinste Projekt bekommen Sie sonst nur lose Kontrolle darüber, was los ist.

Neben was bereits erwähnt wurde, gibt es auch GXT MVC Implementierung, die ich hier ausgesehen haben: http://code.google.com/events/io/2009/sessions/GoogleWebToolkitBestPractices.html .

Ich bemerkte kürzlich, dass es auch jetzt ist ein Tutorial über die MVP-Architektur in der GWT-Dokumentation, die sind ein guter Anfang: http://code.google.com/webtoolkit/doc/latest/tutorial/mvp-architecture.html

Sie können einen Blick auf JetPad-Mapper nehmen, minimalistische MVC-Framework bei JetBrains entwickelt und in mehrer (derzeit unreleased) Produkten verwendet.

Disclaimer, ich bin in der Entwicklung dieses Rahmens beteiligt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top