UiBrowser
GWT 为您屏蔽了大部分跨浏览器不兼容性。如果您坚持使用内置的 小部件 和 组合,您的应用程序将在 Internet Explorer、Firefox、Chrome 和 Safari 的最新版本中以类似的方式运行。(Opera 也一样,大多数时候。) 但是,HTML 用户界面非常奇怪,因此请确保在每个浏览器上彻底测试您的应用程序。
只要有可能,GWT 就会使用浏览器的原生用户界面元素。例如,GWT 的 Button 小部件是真正的 HTML <button>
,而不是一个用 <div>
等构建的合成按钮式小部件。这意味着 GWT 按钮在不同的浏览器和不同的客户端操作系统上都能正确地呈现。我们喜欢原生的浏览器控件,因为它们速度快,易于访问,并且对用户来说最熟悉。
在为 Web 应用程序添加样式时,CSS 是理想的选择。因此,GWT 不会尝试将 UI 样式封装在一个最小公分母 API 的墙后面,而是直接提供了很少与样式相关的 API。相反,鼓励开发人员在样式表中定义样式,这些样式表使用 样式名称 与应用程序代码链接。除了将样式与应用程序逻辑清晰地分离之外,这种劳动分工还有助于应用程序更快地加载和渲染,消耗更少的内存,甚至更容易在编辑/调试周期中调整,因为不需要为了样式调整而重新编译。
提示:如果您发现需要实现浏览器特定的依赖项,可以使用 JSNI 方法来检索浏览器的 UserAgent 字符串。
public static native String getUserAgent() /*-{
return navigator.userAgent.toLowerCase();
}-*/