Architektur Frage: GWT oder Vaadin zu erstellen, die Desktop-Anwendung?
Planen wir, auf die Schaffung eines feedreader als windows-desktop - und iPad-Anwendung. Wir wollen in der Lage sein, zu zeigen Websites UND zu laufen (unser eigenes) JavaScript in dieser Anwendung, dachten wir über die Bereitstellung der Applikation als HTML/CSS/JavaScript, nur mit einige .NET-Steuerelement oder ein Cocoa Touch webbrowser-Komponente. So die Aufgabe bei der hand ist, um herauszufinden, welcher Rahmen zu verwenden, um die Erstellung der HTML - /CSS - /JS-Dateien für die Einbettung in die Anwendung.
Für die Entwicklung der HTML/CSS/JavaScript wir würden uns freuen, Sie Vaadin, GWT oder eine andere Rahmen, da wir eine Menge besser mit Java als mit JS. Wir bevorzugen Vaadin nach einem kurzen brainstorming, wie sich die UI-Komponenten sind sehr schön, aber ich fürchte, dass die meisten der schwerarbeit wird auf dem server und nicht im client (und das wäre nicht zu schön). Wir möchten auch, GWT, aber der Java-zu-JS kompilieren viel Zeit nimmt und einen zusätzlichen Schritt, und verlangsamt die Entwicklung der Zeit in der Vergangenheit, wenn Sie es verwenden.
Sich die Frage: welche Entwicklungsumgebung würdet Ihr wählen (wenn Sie wollten, um dieses Projekt umzusetzen und Sie zumeist Java so weit) und warum? Wenn es bessere Rahmen-Optionen (Liste der Rich-Client-Frameworks), lassen Sie es mich bitte wissen.
Edit: Die Anwendung wird darüber reden müssen, auf unseren server von Zeit zu Zeit (sync, was gelesen wurde, zum Beispiel), aber hauptsächlich sollte die xml-feeds selbst. Daher hoffe ich, dass die meisten von den generierten code in die Anwendung eingebettet werden und es muss nicht schwer sein-Aktivität auf unserem server.
Edit2: Wir (realistisch, auch wenn Sie Zweifel) erwarten mindestens 10000 Benutzern.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Basierend auf meiner Erfahrung mit Vaadin, ich würde für zu gehen, aber Ihre Anforderungen sind etwas zugunsten der reinen GWT statt.
Da Vaadin ist viel schneller zu entwickeln, Sie bauen konnte eine kleine Vaadin-version zuerst und sehen, ob das problem tatsächlich auf dem iPad.
Auf der anderen Seite, wenn Sie davon ausgehen können gehen sofort online, können Sie überspringen die lokale server-installation insgesamt. Führen Sie einfach die online-Bewerbung und Umsetzung der desktop-version mit Betriebssystemen, Standard-browser-Steuerelement (d.h. die .NET-Steuerung, die Sie vorgeschlagen). Dann Vaadin ist einfacher.
Vaadin ist nur framework auf Basis von GWT, haben aber zwei sehr wichtige Funktionen:
Ich verwenden Vaadin in meiner Arbeit für ein Jahr, und wir haben keine performance-Probleme bisher (desktop-ähnliche Anwendung mit ~500 Anwender). IMO eine sehr gute Lösung ist die Verwendung von Vaadin nur für die UI-Logik bewegen zu unabhängigen Bohnen und verbinden dieser zwei Elemente mit Spring oder Guice.
In diesem Fall sollten Sie MVP-Muster und Domain-Driven Development.
So gut ist, wenn Sie sich entscheiden, zu ändern, UI-engine, wenn Vaadin ist nicht für Sie. Nur umschreiben guice/spring-mappings und schreiben neue Implementierungen der view-Schnittstellen.
Meine 3 Cent:
Wenn Sie sich entscheiden, vaadin, profitieren Sie von bereits GUT AUSSEHENDE Komponenten. Da Sie nicht schreiben wollen (viel) CSS , vaadin ist schon gut, schaut aus der box. Wie auch immer, Vaadin ist eine SERVERSEITIGE framework. User-interface-Interaktionen auf die back-end-auch wenn Sie nicht betreffen bekommen Sie alle Daten (e.g bewegen von einer Registerkarte zur anderen) .
Wenn Sie sich entscheiden, GWT, müssen Sie atleast Stil der Anwendung (dies ist nicht schwer) . Es gibt auch das problem der langen compile-Zeit (aber man kann testen und Debuggen auf hosted-Modus, in dem Sie die Anwendung ausführen, ohne zu kompilieren , kompilieren Sie danach nur, wenn die Bereitstellung). Der wesentliche Vorteil von gwt ist, dass Sie kontrollieren, was gesendet wird, um den Draht, der UI-Interaktionen, die nicht erfordern das abrufen von Daten aus dem backend, wird es funktionieren, rein auf der client-Seite. Sie die Entwickler bestimmen, Wann das senden einer Anfrage an das back-end. (Tut RPC-Anforderungen in GWT ist sehr einfach)
Hoffe, dies wird Ihnen helfen, die Entscheidung.