集成Bootstrap和GWT

集成Bootstrap和GWT,gwt,twitter-bootstrap,gwt-bootstrap,Gwt,Twitter Bootstrap,Gwt Bootstrap,我正在研究将库与GWT结合使用的最佳实践。 我不喜欢使用这个项目,更喜欢在我的GWT应用程序中使用简单的css和js引导库 我正在研究如何将引导风格应用于GWT UI组件?我是否需要通过处理GWT组件的DOM元素在UI视图代码中实现这一点?或者有没有其他干净的方法来实现GWT和引导的集成?没有,没有办法简单地将引导样式添加到GWT组件中。您必须处理DOM,删除一些GWT CSS类并添加GWT类,并且,至少您将代码从一个地方复制到任何地方,您将创建一个扩展原始组件的类,并在任何地方使用这个新类,这

我正在研究将库与GWT结合使用的最佳实践。 我不喜欢使用这个项目,更喜欢在我的GWT应用程序中使用简单的css和js引导库


我正在研究如何将引导风格应用于GWT UI组件?我是否需要通过处理GWT组件的DOM元素在UI视图代码中实现这一点?或者有没有其他干净的方法来实现GWT和引导的集成?

没有,没有办法简单地将引导样式添加到GWT组件中。您必须处理DOM,删除一些GWT CSS类并添加GWT类,并且,至少您将代码从一个地方复制到任何地方,您将创建一个扩展原始组件的类,并在任何地方使用这个新类,这基本上是GWT Bootstrap所做的

我知道这一点是因为大约一年前,我想做的正是你现在所说的:以一种干净的方式将引导样式应用到GWT组件,然后,我设法使其工作,并开始GWT引导开发


GWT Bootstrap实际上已经解决了大多数GWT+Bootstrap集成错误,并且基本上适用于任何项目。我知道有些组件还没有实现,或者有bug,但是,也许你可以修复一些组件并提出拉取请求,IMHO,这比重建所有组件要好。

你当然可以在没有第三方包装库的情况下使用Bootstrap和GWT,使用UiBinder XML中的
addStyleNames
属性或Java代码中的相同方法添加Bootstrap的CSS类。但是Bootstrap还可以大量使用自定义数据属性,例如
数据切换
,以实现“神奇”效果。由于GWT的默认窗口小部件(
FlowPanel
等)没有为这些自定义属性提供设置器,因此您无法在UiBinder XML中设置它们,并且发现自己正在编写大量的

getElement().setAttribute(...)
在Java代码中


这就是包装器库的用途。它们提供包装这些功能的自定义小部件,以便您可以像使用默认GWT小部件一样使用引导小部件。

请参阅本线程的最后两篇文章(即整个线程讨论GWT和GWT引导):我的意思是在凯尔·安德森(Kyle Anderson)的第一篇帖子中,他一直在反对gwt bootsrap,并说他更喜欢在gwt中使用普通bootsrap,而不是gwt bootsrap。我愿意与您讨论为什么gwt bootsrap比普通BS更适合gwt应用程序,因为它基本上是一样的。GWT引导只不过是GWT小部件加上BS样式和JS的包装。但是,当然,你可以重新发明轮子,自己动手。您的选择。人们担心他们的BS库是否能与更新的BS版本保持同步。因此,如果一些GWT项目需要使其BS版本保持最新,那么使用普通BS将不会重新发明轮子。除非GWT-BS能够跟上BS twitter库的每一次新升级,否则在这种情况下,它肯定是一个不错的选择。