Gibt es gute Tools für die Integration von GWT mit ASP.Net? [geschlossen]

7

Gibt es gute Tools für die Verwendung von GWT (dem Google Web Toolkit) mit einer ASP.Net-Serveranwendung? Das Programmiermodell und die Werkzeuge für GWT sind recht nett, aber es wäre nett, wenn das Backend in C # / ASP.Net bleiben könnte.

Gibt es derzeit eine gute Lösung dafür?

    
jsight 19.05.2009, 21:56
quelle

8 Antworten

24

Ich arbeite an einem GWT-Projekt, bei dem ASP.NET meine einzige Option auf dem Server ist. Ich habe festgestellt, dass, obwohl es ein wenig mehr Arbeit erfordert, JavaScript Overlay -Typen können es leicht machen. Es spielt keine Rolle, welche Technologie Ihr Server verwendet, solange er mit serialisierten JSON-Daten antworten kann. Zum Beispiel, wenn Sie eine Kontaktklasse in C # haben:

%Vor%

Entwerfen Sie Ihren Server so, dass dieser als JSON serialisiert zurückgegeben wird. Ich benutze ASP.NET MVC dafür, weil es so wenig Arbeit erfordert. Hier ist ein sehr einfaches Beispiel, in dem wir davon ausgehen, dass Contact über eine statische Methode verfügt, die bei einer ID eine Kontaktinstanz zurückgibt:

%Vor%

Erstellen Sie jetzt in Ihrer GWT-Anwendung einen JavaScript-Overlay-Typ für Ihren Kontakt:

%Vor%

Als Nächstes verwenden Sie in Ihrem GWT-Projekt eine HTTP-Anfrage, um mit dem Server zu kommunizieren:

%Vor%

Es ist auch möglich, generische Typen mit Überlagerungstypen zu verwenden. Zum Beispiel gebe ich nie ein leeres Objekt zurück, ich benutze immer einen generischen Container für den Transport, so dass ich Fehlerberichte auf der Client-Seite leicht verarbeiten kann.

C #:

%Vor%

Java:

%Vor%

Damit kann ich meinen Kontakt, ein Array von Kontakten oder was auch immer zurückgeben. Es hilft auch bei der Reduzierung von Duplikaten in Ihrer Datenladelogik.

Dies ist ein sehr einfaches Beispiel, aber hoffentlich ist es genug, um einen Pfad für jeden freizugeben, der Hilfe mit einem Backend ohne Java benötigt. Eine weitere hilfreiche Ressource, die Overlay-Typen beschreibt, ist " JSON-Parsing mit JavaScript-Overlay-Typen in GWT " von Matt Raible.

    
smcmahon 08.01.2011 23:06
quelle
7

Laut GWT-FAQ sollten Sie dazu in der Lage sein.

  

Das Herz von AJAX ist das Lesen / Schreiben von Daten von der im Browser ausgeführten JavaScript-Anwendung an einen Server. GWT ist "RPC-agnostisch" und hat keine besonderen Anforderungen daran, welches Protokoll zum Ausgeben von RPC-Anforderungen verwendet wird oder in welcher Sprache der Servercode geschrieben ist. GWT stellt jedoch eine Bibliothek mit Klassen zur Verfügung, die die RPC-Kommunikation mit einem J2EE-Server extrem einfach macht Sie müssen diese nicht verwenden. Stattdessen können Sie benutzerdefinierte HTTP-Anforderungen erstellen, um beispielsweise JSON- oder XML-formatierte Daten abzurufen.

Ich kenne keine Projekte, die die Serialisierungs- / Deserialisierungslogik vereinfachen, wenn das Ihre Frage wäre.

Der clientseitige GWT-Code wird zu Javascript kompiliert, daher spielt es keine Rolle, welchen Server Sie verwenden.

    
ykaganovich 19.05.2009 22:19
quelle
2

Ich habe nach dem gleichen gesucht - ich habe etwas gefunden, das dem ähnelt, was GWT für ASP.Net namens Script # tut. Es wurde von demselben Typen geschrieben, der hauptsächlich für ASP.NET AJAX - Nikhil Kothari verantwortlich war. Die Seite ist: Ссылка

Es dauert im Grunde C # -Code und kompiliert es zu Javascript - das gleiche, was GWT tut (nur es tut es mit Java)

Ich glaube wirklich, dass GWT mit ASP.NET und sogar mit ASP.NET MVC arbeiten kann - ich denke, dass Sie JSON oder XML benötigen, um generische Handler (.ashx) in ASP.NET zu bedienen, damit GWT funktioniert. Ich habe es selbst nicht versucht ..

Verzeih mir, wenn ich jemanden verwirrt habe ..

    
user213012 27.01.2010 15:55
quelle
2

Sehen Sie sich die Smart GWT-Bibliothek an - ihre Datenbindungsschicht kann SOAP-Webdienste (Standard .asmx) direkt aufrufen.

    
eug 14.06.2010 10:52
quelle
2

Jeder, der diese Frage liest: Bitte ignorieren Sie die akzeptierte Antwort. Es ist völlig falsch. Das OP möchte GWT mit einem ASP.Net-Backend verwenden, er möchte GWT nicht mit ASP.Net erzeugen. Jede Backend-Sprache, die JSON / JSONP erzeugen kann, kann über Javascript-Overlays schnell in GWT integriert werden.

    
ianmayo 31.05.2011 14:47
quelle
1

Probieren Sie SharpKit aus. Sie können damit in C # schreiben und während der Kompilierung in JavaScript konvertieren. Es ist auch als ausführbare Befehlszeile verfügbar. Es unterstützt viele populäre Web-Bibliotheken wie jQuery, es unterstützt auch die vollständige C # 4-Sprachsyntax und .NET 4.0.

    
Dan-el 22.10.2011 19:24
quelle
0

Wenn Sie SmartGWT verwenden, enthält es eine RestDataSource, die ein vorgefertigtes JSON- oder XML-Protokoll bereitstellt, das Sie in .NET implementieren können. Diese Artikelserie aus unserem öffentlichen Wiki zeigt, wie ein ASP.NET MVC-Backend für RestDataSource erstellt wird, das alle 4 CRUD-Operationen, Datenbanktransaktionen und Unterstützung für SmartGWT AdvancedCriteria (mit NHibernate) implementiert:

Ссылка

In diesem speziellen Fall wurde SmartClient anstelle von SmartGWT verwendet, aber der gesamte Backend-Code ist identisch (SmartGWT bietet nur GWT-Unterstützung für SmartClient; es ist der gleiche Code unter der Haube). Der Front-End-Code ist trivial und leicht in SmartGWT übersetzt.

Dieser Code im Wiki ist alles kostenlos, ebenso wie das Editieren von SmartGWT, das benötigt wird, um das Front-End zu erstellen (es ist Open Source unter der LGPL).

    
Charles Kendrick 08.05.2013 22:15
quelle
0

Smcmahons Antwort hat meinem Unternehmen wirklich geholfen, dies zu erreichen, und jetzt machen wir das regelmäßig - wir entwickeln das Frontend mit GWT und dem Backend mit .NET / MS-Technologien.

Ich war mein ganzes Leben MS-Entwickler - das neueste Silverlight-Frontend mit .net-Backend. Es dauerte ungefähr einen Monat Arbeit, aber schließlich haben wir einen reibungslosen Prozess implementiert, um einseitige GWT-Anwendungen in Eclipse zu entwickeln, mit .NET Backend / Web Services in Visual Studio 2010. Auf der .NET-Seite erhalten / übertragen wir alle Objekte in JSON anstelle von XML (wir verwenden den Newtonsoft JSON Generator, weil die .NET Standard-JSON-Generierung von WCF-Webdiensten Probleme verursacht, insbesondere bei Datumsangaben). Auf der GWT-Seite verwenden wir Overlay-Typen.

Wir haben eine App geschrieben, die Code generiert (aus der .NET-App) und automatisch in unser GWT-Projekt schreibt - er generiert alle Klassen, die wir brauchen, und schreibt auch Funktionen für einfache Aufrufe an die Web-Services. Darüber hinaus waren wir in der Lage, die .NET-Webdienste funktionsfähig zu halten, während wir die App in GWT ausführen, was es WAY einfach macht, zu debuggen. Wenn wir mit Projektänderungen fertig sind, kompilieren wir nach javascript / html - kopieren Sie das in Visual Studio und stellen Sie unser Projekt bereit. könnte nicht einfacher sein.

Es hat viel Arbeit gekostet, all das mit Hilfe dieses Threads herauszufinden, aber es war TOTAL es wert, nachdem wir ein reiner Microsoft-Shop mit SQL-Server-Backend und IIS-Windows-Servern waren. Silverlight war großartig, aber jetzt bewegen wir uns zu dem Punkt, an dem die Mitarbeiter Pads bekommen und Apps auf ihren Telefonen laufen müssen.

Wir verwenden UIBinder für die Schnittstelle. Ich mag das deklarative GUI-Design / XML-Layout und die Modularität. Wir können immer noch beliebige HTML / CSS verwenden, indem wir die UiBinder HTML-Panels in der Benutzeroberfläche verwenden. Der uiBinder-Designer erkennt sogar CSS3-Tags und rendert sie besser als IE9.

GWT war eine großartige Lösung, und Java war sehr leicht zu lernen, wenn man von einem C # -Hintergrund kam.

    
Rob 19.07.2013 22:21
quelle

Tags und Links