gwt - Google GWT 跨浏览器支持 : is it BS?

标签 gwt cross-browser

我在 FlashBuilder 中开发了一个浏览器部署的全文搜索应用程序,该应用程序以 REST 方式与远程 Web 服务器进行通信。该软件适合一个小众市场——它适用于古代语言而不是现代语言,我不可能在它上面赚到任何钱,但我确实花了很多时间在它上面。

既然 Apple 不允许在 iPad 上使用 Flash,我正在寻找 100% 的 javascript 解决方案,并被引导考虑 GWT。它看起来很有希望,但是其中一个应用程序被“展示”为 GWT 可以做什么的一个典型例子,在他们的网站上有这个免责声明(名称 {removed} 以保护可能的无辜者):

您当前的网络浏览器 (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)
AppleWebKit/532.5(KHTML,像 Gecko)
Chrome/4.1.249.1045 Safari/532.5) 不受官方支持
{公司和产品名称在这里}。如果您在使用本网站时遇到任何问题
请安装 Microsoft Internet Explorer 6+ 或 Mozilla Firefox 3.5+
在联系 {product name was here} 支持之前。

当 Chrome 不“正式”支持 GWT 应用程序时,会有什么影响?你会给 GWT 什么等级(A、B、C、D、F)以获得跨浏览器支持?对于那些没有得到这些字母等级的人来说,A 是“优秀”,“F”是失败,“C”是一般。

感谢您的意见。

最佳答案

所有基本 GWT 小部件都是跨浏览器兼容的 - 这是通过一种叫做 Deferred Binding 的东西实现的。 (并非总是如此,但对于最大的罪犯;))。基本上,它允许基于客户端使用的浏览器将一个类无缝“替换”为另一个类(这种交换是在编译期间完成的)。这允许为所有符合标准的浏览器编写一个 Widget,然后为你知道的人提供一个专门的版本(延迟绑定(bind)也用于 i18n 和其他很酷的东西,如 dependency injection )。延迟绑定(bind)的另一个很酷的事情是客户端只下载特定于他/她的浏览器的 Web 应用程序的版本。因此,Firefox/Opera/Chrome/WebKit 用户不必下载所有使 Web 应用程序在 IE 上运行的额外黑客。

长话短说: GWT 为开发人员提供工具/手段来创建跨浏览器 Web 应用程序 (并且它试图通过提供开箱即用的跨浏览器的基本小部件来使该过程尽可能简单)-由开发人员决定是否使用这些工具;)

PS:同样的问题可能会被问到关于 jQuery/mootools/etc - 为什么这些框架声称可以在所有浏览器上工作,但是有很多网站/网络应用程序使用它们并且不支持所有这些浏览器?因为开发商选择了这样。仅仅为了让它在垂死的(希望如此)浏览器上工作而削弱 Web 应用程序/站点可能不值得。

关于gwt - Google GWT 跨浏览器支持 : is it BS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2662076/

相关文章:

css - 如何修复 Windows 上异常字符的等宽间距?

java - 如何根据数据交换小部件元素

java - 单击事件的颜色检测。

java - 在 GWT 中删除 Google 样式表 (GSS) 中的重复项

iphone - 在没有 iPhone/Mac 的情况下为 iPhone 开发网站

yui - 如何使用不同的浏览器测试我的网页?

java - 如何延迟从 gwt 调用数据库?

java - 适用于 Android 的 GWT/GAE 离线应用程序 - 高级

javascript - jQuery offset() 在某些浏览器和某些计算机上不起作用

asp.net - Google Chrome 的 Javascript 检测并在 Google Chrome 中启用 javascript