2010-04-22 177 views
9

GWT中的一般方法是使用面板,然後應用自定義CSS主題來獲得自定義外觀。雖然我可以通過CSS修補程序在一定程度上實現我的GWT應用程序的個性化,但我想知道其他人通常如何處理樣式。GWT應用程序樣式的最佳方法是什麼?

我在網上發現的一些建議是通過使用HTMLPanel來管理純HTML格式的佈局。這樣,人們可以直接在應用程序中使用HTML模型,而無需編寫所有佈局。

那麼你認爲什麼是處理GWT應用程序的佈局和自定義樣式的最好和最痛苦的方式?

回答

6

這一切都取決於 - 你,你的經驗,你的團隊,等等:

  1. 的面板,小工具The usual/older approach和合成會更容易/更熟悉的工作:
    • 如果你是一個經驗豐富的框架如Swing等的Java程序員(我認爲這是GWT團隊的重點),
    • 或者如果你來自「桌面世界」一般。
  2. UiBinder方法是較新的一個:
    • 推薦如果你是剛開始使用GWT(似乎UiBinder的是在這裏留下來,並且它允許比上述方法更靈活)你的經驗,
    • 建議如果你有網絡開發經驗(或使用標記的桌面框架,如.NET的XAML等),因爲你將工作在熟悉的HTML/XML世界,
    • 如果你在一個更大的團隊,您有指定的設計師負責網絡應用程序的外觀(並且他們不知道/關心GWT)。將佈局分解爲HTML代碼對於他們來說應該是非常簡單的,你可以做很少的工作,將這些模板轉換成UiBinder的XML模板。

無上述方法的是完美的 - 這就是爲什麼它是值得知道自己的長處和短處 - 但最終的決定應該是你孤單一人,因爲你知道你的/你的團隊的能力,最好的:)

+0

UiBinder內部是否使用HtmlPanel嵌入原始HTML? – 2010-04-22 13:28:02

+0

簡短回答:否:) UiBinder只是一種模板語言 - 如果您只想在模板中使用HTML或在某種「Panel」中嵌入一些「Widgets」,則取決於您。你的模板將被直接輸出 - 沒有額外的「包裝」(所以如果你的根面板是HTMLPanel,你將得到一個div等)。 'HTMLPanel'經常被用作UiBinder模板的根面板,因爲它有UiBinder的特殊處理 - 你可以混合使用HTML和Widgets(例如,你不能在'VerticalPanel'中放入原始HTML。有關更多信息,請參閱UiBinder文檔。 – 2010-04-22 16:58:08

+0

謝謝伊戈爾,我決定使用UiBinder的方法。 – 2010-04-26 07:20:36

8

到目前爲止,最好的辦法,我發現:

  1. 擺脫任何默認GWT主題
  2. 使用UiBinder的儘可能
  3. 把你的CSS中描述的小部件
  4. 有一個公共Common CssResource由許多部件

這樣你就不需要維護一個全局樣式表,它總是一個痛苦重複使用的規則ui.xml (常見問題:此規則在哪裏使用?)

相關問題