Für meine neue Anwendung zum Lesen schwerer Datenbanken muss ich GWT und mysql verwenden. Aber bei der Wahl zwischen Java und PHP habe ich einige Verwirrungen, 1) JDBC mit mysql ist langsamer als PHP mit mysql (PHP gewonnen) 2) Wenn ich PHP verwenden möchte, muss ich JSON für die Übertragung von Daten zwischen Server und Client verwenden. 3) Dieser jsan Parsing- und Handling-Overhead kann leicht durch schnelle RPC-Aufrufe ersetzt werden, wenn JAVA verwendet wird. (JAVA-eigene) 4) GWT hat viel Unterstützung und kleine Frameworks für JAVA / RPC-Aufrufe, daher ist die Produktivität höher.
Bitte helfen Sie mir, einen guten zu wählen.
Ich denke, beide sind sehr geeignet. Obwohl ich weiß, dass Ihr Leistungsbedarf ein wichtiges Thema ist, denke ich persönlich, dass weder der SQL-Treiber noch das JSON-Parsing später Ihr Leistungsproblem sein wird.
Bei den meisten AJAX-Aufrufen nimmt der Netzwerk-Overhead (TCP-Handshake usw.) die meiste Zeit in Anspruch, es sei denn, Sie haben große Dateien zu übertragen. Und dann ist es egal, was das Backend ist.
Wenn Sie Java und einen Anwendungsserver verwenden, sollten Ihre Datenbankverbindungen in einem Pool zusammengefasst und schnell sein. Wenn Sie GWT RCP verwenden, können Sie Ihre Anwendung leicht umgestalten, wenn Sie später Änderungen vornehmen müssen, ein großes Plus. Wenn Sie feststellen, dass einige Ihrer Updates langsam sind, könnte der größte Leistungsschub durch das Caching von Daten auf dem Client und / oder die Kombination von AJAX-Aufrufen entstehen. Dieses Refactoring ist wesentlich einfacher, wenn Sie Java sowohl auf Client- als auch auf Serverseite verwenden.
GWT ist ein Framework zum Erstellen von Webanwendungen mit Java-Code. Sie können es mit einem PHP-Backend verbinden (und es gibt Dokumentation, wie es geht). Aber aus meiner Sicht verlieren Sie den Hauptpunkt von GWT, eine einzige Sprache für Ihre ganze App.
Wenn Sie wirklich GWT für Ihr Frontend benötigen, tun Sie auch Ihr Backend in Java. Wenn Sie einen anderen Ansatz wählen, verwenden Sie PHP + HTML + JavaScript.
Meine 2 Cent.
Ein wichtiger Punkt, den ich hier vermisst habe, sind die Kosten. Wenn Sie PHP verwenden, werden Ihre Hosting-Kosten möglicherweise erheblich geringer sein. Das Hinzufügen von Java zu der Gleichung bedeutet in der Regel, mit einem dedizierten Server oder einer VM zu beginnen (denken Sie daran, dass das von Java entwickelte GWT-Frontend in Javascript kompiliert wird). Ignorieren Kosten Java scheint die offensichtliche Wahl der beiden, aus den oben genannten Gründen vor allem eine Sprache und einfacher RPC.
Ich würde bei Java bleiben, da dies die offizielle GWT-Sprache ist. Wenn Sie PHP verwenden, verlieren Sie die Vorteile der Verwendung leistungsstarker Java-IDEs wie Eclipse und IntelliJ Idea für die Entwicklung und das Debugging.
Wenn Sie PHP für das Backend verwenden, können Sie nicht "GWT rpc" verwenden, Sie können nur eine asynchrone HTTP-Anfrage (mit RequestBuilder) verwenden, aber Ihre Hosting-Kosten sinken. Ich denke, es ist besser, wenn Sie Ihr Backend mit REST-Diensten (per PHP) implementieren und dann diese Dienste von Ihrer GWT-Anwendung am Frontend aufrufen (zum Beispiel mit restygwt Bibliothek). Mit diesem Ansatz können Sie Ihre Backend-Technologie (oder Frontend-Technologie) in Zukunft einfach ändern.
Viel Spaß.