2010-04-21 43 views

回答

8

SmartGWT的是GWT包裝的SmartClient爲,正如你說的,這意味着你能夠用Java編寫你的應用程序SmartGWT的。

從我的經驗,當你編程的唯一重要的區別是,GWT包裝是不是直接使用JS組件更嚴格一點。例如,編程式地從java中滾動一個TreeGrid是很糟糕的,因爲底層表的主體(爲了滾動被抨擊的東西而需要獲取的內容)不會通過SmartGWT公開,當然它可以通過js輕鬆訪問。

總的來說,我不會立足JS組件以及這些差異的GWT包裝索利之間的選擇,但我會看在你的項目中的其他因素。你最熟悉哪些技術?你打算做多少自我優化?

+2

讓我這樣說吧:如果SmartGWT的是隻是一個包裝,你看到任何一點在使用它,而不是直接使用SmartClient的?除了Java的靜態打字特性之外,SmartGWT爲表格帶來了什麼? – ivo 2010-04-22 17:33:37

+0

除了使用了Java的靜態優勢,沒有,沒有什麼我能想到的。最後,我想這取決於你正在運行什麼樣的項目,以及你有什麼樣的技能。 – 2010-04-22 20:48:19

+0

請注意,您提到的特定問題(無法訪問正文)很早以前已通過此API和其他API解決: http://www.smartclient.com/smartgwtee/javadoc/com/smartgwt /client/widgets/grid/ListGrid.html#getGridRenderer%28%29 – 2010-06-07 22:31:08

2

SmartGWT爲您提供了使用強大編輯器的優勢。

您可以輕鬆地調試自己的代碼(但對於潛入智能客戶端代碼本身並不是很有幫助)。

你擁有eclipse/netbeans的所有自動完成的東西。當開始使用SmartClient/Gwt時,它可以幫助您找到您要查找的內容,因爲編輯器可以列出您的類或可用的方法,以及一些基本文檔。爲您節省大量時間爬過文檔

+0

dube,這些是在任何Java vs JavaScript技術中發現的差異。它們並不特定於SmartGWT和SmartClient。 – ivo 2010-04-22 22:30:45

+0

只是想提一提它,因爲我不知道你有什麼背景,爲我自己,它使_the_很大的區別惠特使用的SmartClient/GWT擺在首位。而且這是你第一次真的可以比較這兩種語言,因爲它們確實給出了相同的結果。我不打算在使用gwt之後再次直接觸摸javascript :) – dube 2010-04-23 08:33:06

1

Banang:訪問ListGrid/TreeGrid正文的API現已在Smart GWT中公開。

5

就我而言,代碼的可維護性。

我們是一個Python家。但對於客戶端代碼,我們選擇使用GWT,最初使用GXT,但現在使用SmartGWT。

我們不喜歡Java的,但我們不喜歡JS更多,秩序,維護了幾個小部件庫,擴展對象給予在JS或Java這樣做之間自定義功能等,選擇是顯而易見的,Java方面。我們在這裏編寫可重用組件,現在我們爲客戶端編寫非常少的代碼,只重用組件並使用REST與我們的Python後端進行交流。我們知道SmartGWT比SmartClient更詳細,但是,通過Netbeans自動完成(某些聯盟在這裏使用Eclipse),我們可以直接訪問每個方法,並記錄下來,而不是每次我們需要時進入展示或Google展示。測試並嘗試新的功能。

1

我們選擇使用JavaScript(無SmartGWT的)......我喜歡你這樣,雖然我們的一些隊員(更新爲Javascript)寧願SmartGWT的方式。兩者都有自己的優點和缺點:

對使用​​SmartGWT的優勢,就是你有編譯時錯誤,因爲一切都被Java編譯器先編譯,然後纔會慢慢呈現爲JavaScript。

SmartGWT的缺點之一是它沒有公開完整的底層Javascript Smartclient API。這意味着,如果你想做更高級的東西,你可能最終需要用Javascript來做。

SmartGWT的另一個缺點是,生產力方面的問題是,您做的每一項測試都需要經過痛苦的Java EE編譯/部署過程,而如果您使用Javascript進行更改,則可以更改客戶端通過直接更改.js文件可以更快地編寫代碼,而無需整個編譯/部署過程。