我在FlashBuilder中开发了一个浏览器部署的全文搜索应用程序,它可以与远程Web服务器进行RESTful通信.该软件适用于一个小小的利基 - 它适用于古代语言而非现代语言,并且我不可能在它上面赚钱,但我确实花了很多时间在它上面.
既然Apple不允许在iPad上使用Flash,我正在寻找100%的javascript解决方案,并被引导考虑GWT.它看起来很有希望,但其中一个被"展示"作为GWT可以做什么的明显例子的应用程序在他们的网站上有这个免责声明(名称{removed}以保护可能无辜的):
Your current web browser (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1045 Safari/532.5) is not officially supported by {company and product name were here}. If you experience any problems using this site please install either Microsoft Internet Explorer 6+ or Mozilla Firefox 3.5+ before contacting {product name was here} Support.
在Chrome上"官方"支持GWT应用程序的原因是什么?您将为GWT提供哪些等级(A,B,C,D,F)以获得跨浏览器支持?对于那些没有获得这些字母等级的人来说,A是"优秀的"而"F"是失败的,而"C"是平均的.
谢谢你的意见.
所有基本GWT小部件都是跨浏览器兼容的 - 这是通过称为延迟绑定(不总是,但对于最大的违规者)来实现的.).基本上,它允许基于客户端使用的浏览器(在编译期间完成此交换),将一个类与另一个类无缝"替换".这允许为所有符合标准的浏览器编写Widget,然后为您知道谁提供专用版本(延迟绑定也用于i18n和其他很酷的东西,如依赖注入).Deferred Binding的另一个很酷的事情是客户端只下载特定于他/她的浏览器的Web应用程序版本.因此,Firefox/Opera/Chrome/WebKit用户无需下载使Web应用程序在IE上运行的所有其他黑客攻击.
简而言之:GWT为开发人员提供了创建跨浏览器Web应用程序的工具/手段(它试图通过提供开箱即用的跨浏览器的基本小部件使这个过程尽可能简单) - 这取决于开发人员使用这些工具 - 或不;)
PS:关于jQuery/mootools/etc可能会有同样的问题 - 为什么这些框架声称可以在所有浏览器上运行,但是有很多网站/网络应用程序使用它们并且不支持所有这些浏览器?因为开发商选择了这样做.它可能不值得削弱Web应用程序/网站,以便它可以在一个垂死的(希望)浏览器上工作.
应用程序的GWT部分在Webkit浏览器(如Chrome和Safari)上运行得非常好.如果这个站点的作者决定在Webkit上进行浏览器检测和吓坏,那不是因为GWT,尽管可能有GWT附加组件或其他不喜欢Webkit的组件.
引用常见问题解答http://code.google.com/webtoolkit/doc/latest/FAQ_GettingStarted.html#What_browsers_does_GWT_support?
GWT支持哪些浏览器?
GWT支持以下浏览器:
Firefox 1.0,1.5,2.0,3.0和3.5
Internet Explorer 6,7和8
Safari 2,3和4
Chromium和谷歌Chrome
Opera 9.0