2011-03-04 38 views
3

看過編寫GWT代碼基本上是編寫Java代碼,那麼IDE的GWT究竟幹什麼?例如,有IDEA和Eclipse的GWT插件(也可能用於NetBeans?),但他們這樣做,我不能簡單地使用Eclipse或IDEA而不使用GWT插件嗎?GWT IDE插件有什麼好處,認爲GWT只是Java?

+1

試圖讓問題標題更加明顯,如果不適合,可隨時恢復。 – krock

+0

@krock:編輯似乎完全沒有給我,+1 :) – SyntaxT3rr0r

回答

2

我只使用了IDEA插件。我絕對不想放棄它。正如其他人所說的,您可以像創建任何其他應用程序一樣輕鬆地創建GWT項目並以託管模式進行調試,但這僅僅是開始。

IDEA還有幾個GWT特定的類創建選項。您可以創建一個新的UiBinder文件,該文件將生成.ui.xml文件和Java文件,並且已經創建了用於創建UiBinder對象的管道。您可以創建一個新的GWT遠程服務,它將爲您創建服務接口,異步接口和實現類。

GWT插件還會在編輯器中警告您可能存在大量錯誤。如果您的服務接口在異步界面中沒有適當的匹配方法,並且有解決問題的意圖,它會警告您。它會警告你的服務實現類是否沒有在web.xml文件中定義的條目(是的,可以自動註冊它)。如果您的UiBinder類中的字段沒有在.ui.xml文件中定義的字段,它會發出警告,同樣意圖通過幾次擊鍵來幫助解決問題。

最重要的是,代碼完成對於CSS屬性,Javascript,HTML和各種XML文件等所有內容都非常出色。

+0

+1非常詳細的答案......當你談論IDEA插件時,這是否意味着您正在使用IntelliJ IDEA 10的商業版本,其中包含GWT支持? – SyntaxT3rr0r

+0

是的,帶有GWT插件的Ultimate版本。我不認爲在這一點上GWT插件是可用的社區版。 –

5

它們向IDE添加了專門用於GWT任務的嚮導,對話框,編輯器和其他擴展。例如,不是使用命令行從頭創建一個新的GWT項目,或者創建一個eclipse java項目,然後自己創建所有必需的文件,插件添加一個嚮導,讓您輸入項目名稱,併爲您創建所有必需的文件。

其他增加可以是像本地服務器那樣大的東西,或者像源代碼格式化程序那樣最小。天空是插件的限制。

我知道GWT爲eclipse添加了一個GUI編輯器,因此您可以拖放控件而不是手動輸入它們。

+0

+1 ......你會說我不必,也就是說,IntelliJ IDEA的插件會丟失多少? (我幾乎是一個Un * x命令行的人,所以我不害怕命令行,自己啓動/停止Tomcat等) – SyntaxT3rr0r

+0

我從來沒有用過IDEA,我使用Eclipse(和我一樣)爲它開發了插件)。當你第一次瞭解它時插件是很好的,但我不能說我使用了很多附加功能(測試部署除外) – Spidy

1

是的,你可以,但是使用插件,對於給定的IDE,通過不需要從IDE換到另一個工具(用於測試實例)

這裏的想法的演示可以幫助你

http://www.jetbrains.com/idea/training/demos/GWT.html

也可以通過命令行(我有時會這樣做)編譯,或者讓IDE通過按一個按鈕來幫助您。

1

還有一個MyEclipse插件,它爲您提供了一個類似於Matisse的用於GWT的拖放工具箱。 對於Netbeans,我們擁有GWT4NB插件,它提供了良好的調試和代碼完成功能,可用於.ui.xml文件。

1

GWT Eclipse插件不提供調試功能嗎? eclipse中的GWT調試是有史以來最有用的工具。

1

OK ...

  1. GWT RPC - 使用Google插件,它確實減少了驗證接口RPC接口異步對聲明的繁瑣程序。

  2. UiBinder的。每個uibinder集合都是一對文件:ui模板和模板bean。該插件幫助我驗證模板和模板bean中的uifields的對應關係。然後有@uifactory,@uifield(provided = true)。

  3. 你可以聲明另一個「外部」豆使用UI(一個java比它的模板豆其他代碼):與在UI模板。通過這個,你可以從bean中調用函數來爲你的gwt widget屬性提供值。該插件爲我提供了在ui:with bean中可見的函數的自動完成/驗證。

  4. 當然,插件提供編譯器也一樣,其中編譯Java代碼進入的JavaScript。

  5. 與客戶端工作的調試器。想象一下,當我們對編譯爲javascript的客戶端代碼執行調試程序時,插件如何工作。

  6. 的運行配置,其在坯件中,ARGS而params自動填充。我會討厭自己寫一個gwt啓動配置。

沒有這個插件,GWT的開發會比較繁瑣。