GWT布局面板与CSS布局

时间:2010-04-14 15:07:38

标签: css web-applications gwt

我读了一篇名为“Tags First GWT”的文章,其中作者建议使用GWT进行事件处理,使用CSS进行布局。我只是不知道GWT的跨浏览器兼容性好处是否超过纯CSS布局提供的灵活性。

GWT

GWT 2.0有一些时髦的布局面板,但要让它们正确调整大小,你真的需要从根面板构建整个面板包含树。这似乎是一种全有或全无的东西。

CSS

您也可以使用CSS来布局应用程序,我倾向于这样做,只是为了证明我购买了几本宣传“语义标记”福音的书。缺点可能是跨浏览器的不兼容性,我尚未确定其流行程度。

走哪条路?

你有什么看法?跨浏览器问题是否足够糟糕且流行程度足以保证放弃我的CSS书籍,并使用GWT布局面板进行构建?

2 个答案:

答案 0 :(得分:8)

我同意作者的建议 - 将GWT用于客户端逻辑,但仍然使用HTML和CSS进行演示。

新的UI Binder&声明性UI模式实际上鼓励您编写HTML和CSS。它对设计人员来说更容易,并使您的代码可维护。您可能需要阅读GWT HTML layout conventions on SO - 它解释了如何混合Widgets和plain-html / css以获得两个世界的优势。

UI Binder使用<ui:style>可以轻松使用CSS。使用<ui:style>,您可以生成特定于该文件的CSS。 GWT将自动模糊并优化您的CSS。另外,如果你拼写错误的css类名,它会给你一个编译时错误(这很好),而不是你在部署页面时发现它。

<ui:style>中,您可以放置​​任何有效的CSS。 UIBinder还有办法包含全局样式表。此外,CSS中的背景图像可以自动组合成精灵/数据:uris以提高性能。

要了解详情,我建议您阅读UI Binder Guide,然后阅读Contacts示例应用程序。这是一个很好的入门方式。

另外,我建议使用MVP pattern来设计GWT应用程序。有几篇好文章,GWT Contacts Sample app是学习它的好方法。

答案 1 :(得分:0)

跨浏览器问题 足够糟糕,无法在某种框架中寻求解脱,特别是如果您不是真正的前端设计人员/开发人员。但我还不会放弃CSS书籍。当框架的抽象开始泄漏时,它可以帮助您理解隐藏在幕后的内容,以及您可以对此做些什么。

谷歌自己说“你也不仅限于预装小部件。你可以用浏览器的DOM和JavaScript做任何事情都可以在GWT中完成,包括与手写JavaScript交互。”大概包括造型,如果你知道怎么做(如果你已经阅读并理解了所有那些CSS书籍的话,就会如此)。