2010-04-18 85 views
8

我在FlashBuilder中开发了一个浏览器部署的全文搜索应用程序,它可以与远程Web服务器进行RESTful通信。这款软件适合一个小小的利基市场 - 它适用于古代语言而不是现代语言,而且我也没有办法赚钱,但我确实花了很多时间。Google GWT跨浏览器支持:是BS吗?

现在,苹果公司不会允许在iPad上使用Flash,我正在寻找100%的JavaScript解决方案,并被认为是GWT。它看起来很有希望,但其中的应用程序被“展示”作为什么可以用GWT做一个恒星的例子已经在其网站本免责声明(名称{删除},以保护可能是无辜的):

 
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. 

什么什么时候GWT应用程序没有在Chrome上“正式”支持?您将为GWT提供什么等级(A,B,C,D,F)来支持跨浏览器?对于没有得到这种字母等级的人,A是“优秀”,“F”是失败,“C”是平均。

感谢您的意见。

回答

11

所有基本的GWT Widget是跨浏览器兼容的 - 这已通过称为Deferred Binding(并不总是,但对于最大的罪犯)来实现)。基本上,它允许基于客户端正在使用的浏览器(在编译过程中完成该交换),将一个类与另一个类无缝“替换”。这允许为所有符合标准的浏览器编写Widget,然后为您认识的人(延迟绑定也用于i18n和其他很酷的东西,如dependency injection)提供专用版本。关于延迟绑定的另一个很酷的事情是,客户端只将他的浏览器的网页应用程序版本下载到特定的。因此,Firefox/Opera/Chrome/WebKit用户不必下载所有那些使Web应用程序在IE上运行的额外攻击。

长话短说:GWT为开发人员提供了创建跨浏览器Web应用程序的工具/手段(它试图通过提供跨浏览器的基本Widget来尽可能简化该过程) - 这是由开发人员使用这些工具 - 或不);

聚苯乙烯:同样的问题可能会被问及有关jQuery/mootools /等 - 为什么这些框架声称在所有浏览器上工作,但仍然有很多网站/网络应用程序使用它们,并且不支持所有这些浏览器? 因为开发者选择了。它可能不值得它瘫痪Web应用程序/网站,以便它在一个垂死的(希望)浏览器上工作。

+0

感谢有关延迟绑定的信息。 – Tim 2010-04-20 12:13:14

+0

GWT如何检测哪个浏览器是哪个?而我将我的用户代理更改为自定义。 – CMCDragonkai 2014-03-03 05:46:01

+0

在内部,它可能会查看您的用户代理(如果您想确认,请检查源代码)。当向不同的浏览器提供不同的小部件版本时,他们使用[Deferred Binding](http://www.gwtproject.org/doc/latest/FAQ_Client.html#What_is_Deferred_Binding?)([docs](http:// www.gwtproject.org/doc/latest/DevGuideCodingBasicsDeferred.html)) – 2014-03-04 13:39:10

10

应用程序的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支持以下浏览器:

  • 火狐1.0,1.5,2.0,3.0和3.5
  • 的Internet Explorer 6,图7和8
  • Safari的2,3和4
  • 铬和谷歌Chrome
  • 歌剧院9.0