2009-12-20 57 views
2

對於Web應用程序開發,我一直沉浸在動態語言中,比如Ruby,PHP和Python。使用這些語言的流行框架,我對HTML,CSS和JavaScript的所有知識都相當直接地進行傳輸:模板基本上是HTML,內嵌代碼,服務器執行該代碼以生成頁面的動態部分。在服務器端如何使用GWT與Java以外的東西實現(im)?

最近,我一直在考慮使用GWT構建下一個項目的UI。在這一點上,我只是試圖圍繞如何使用GWT進行開發,似乎遵循完全不同的範例。另外,似乎有一個沒有說明的假設,即應用程序的服務器端部分是用Java編寫的。在服務器端使用Java以外的東西會不切實際嗎?

相關問題:

GWT + GAE python: frameworks for COMET & RPC

+1

JSON支持開箱即用的GWT,所以任何可以生成JSON的服務器端都支持。 – 2009-12-20 02:03:44

回答

1

我不認爲有您使用的Java服務器上的任何要求。在一天結束時,GWT將Java編譯爲JavaScript。你可以通過RequestBuilder對象來做所有的通信,你不用就可以使用來使用RPC服務。我猜這個問題是:如果你不喜歡/知道/喜歡Java的服務器端,爲什麼你會在客戶端上使用它,當它實際上是JavaScript的抽象呢?

+0

我真的不熟悉GWT。在這一點上,我仍然試圖高度瞭解您如何使用它,以及它使您能夠更輕鬆地完成任務。特別是,我不知道RequestBuilder是什麼,也不熟悉RPC服務。你能澄清一下嗎? – allyourcode 2009-12-20 20:10:07

+0

你的問題假設我有一些反對使用Java。這不是在服務器端想要使用其他內容的唯一可能原因。另外,「它是Java」並不是GAE的賣點之一。一個例子就是它有一個很好的瀏覽器歷史管理系統,它不是標準JavaScript的一部分。另一方面,如果GWT推動你在服務器端使用Java,這是一個完全不同的問題,這正是我所要求的。 – allyourcode 2009-12-20 20:10:44

+0

對不起,我猜你已經開始調查了。 code.google.com/webtoolkit上的文檔可能是一個很好的開始。特別是對於RPC,請參閱http://code.google.com/webtoolkit/doc/latest/tutorial/RPC.html。 – Ash 2009-12-20 21:57:31

1

沒有要求在服務器端使用Java。 GWT支持JSON開箱即用。任何可以生成JSON(或其他支持的序列化方法)的服務器端組件都可以使用。您可以在服務器端使用PHP,或使用bash shell腳本,這與GWT生成的Javascript代碼無關。

+0

+1:true,但我必須說,通過Java整合GWT + GAE是有吸引力的......我寧願讓它一直是Python,但嘿,我會使用什麼是免費的:-) – jldupont 2009-12-20 02:13:42

+0

我想重新強調我的問題是關於這種設置的實用性*我真的不關心這是否可能,如果它需要我跳過各種各樣的箍環來讓它工作。 「GWT支持JSON開箱即用」告訴我一些事情,但JSON支持是JavaScript本身的一個特性,這並不奇怪,因爲JSON專門用於JavaScript。 – allyourcode 2009-12-20 20:01:37

+0

我想,這個問題已經得到解答,但詢問*實用*是如何在您的語言中實現無狀態的JSON RPC服務器。如果將URL映射到代碼很容易,並且可以輕鬆編寫生成所需響應的代碼(XML,JSON或任何GWT喜歡的......)......太好了!你可以從UI和Logic的很好的(和強制的)劃界中獲益(副作用:你不能在這兩層之間借用數據對象......)。 – helios 2009-12-29 16:50:04

3

雖然實際上並不實際,但我會說,通過在客戶端和服務器上擁有相同的代碼,您可以從GWT中獲得最大的價值,因爲它可以輕鬆地重複使用代碼(如果數據對象是可序列化的,那麼您可以發送他們直接向客戶端)。所以我想我的答案是;是的,你可以做到這一點,而不僅僅是在服務器端使用Java。

+0

謝謝,拉爾斯。到目前爲止,你的唯一答案是解決這個問題是否實用(即是否有更多的環節可以跳過);而其他答案更多地討論這樣的事情是否可能。 – allyourcode 2009-12-20 19:47:43

1

是的,它可以是實用的。我使用Rails作爲我的後端,並使用GWT/GXT作爲我的前端。我喜歡它的每一點!我無法忍受瀏覽器不兼容的問題,所以GWT/GXT真是令人欣喜。另外,我已經在Rails中啓動了後端,並且在服務器上沒有太多的Java經驗,所以我堅持使用Rails。

您可能想看看適當的GWT Rest框架,因爲您不會使用RPC。

順便說一句,您應該在服務器上使用Java的一個例外。這就是如果你想使用谷歌App Engine。

隨時問我任何具體問題,我很樂意幫助你。

祝你好運。

-JP