大型项目中使用GWT合适吗?

3
我的朋友和我想要开发一个大型的Web2.0项目。我们决定使用Java来编写它,因为我们喜欢它并且我们擅长它,而我们将使用的其他库也是用Java编写的(Apache Lucene,Apache Cassandra…)。我们选择了GWT作为框架。我们喜欢谷歌、谷歌技术和谷歌APIs。
我想问一下,你认为GWT是否适合启动像YouTube、Twitter、Wikipedia等大型项目?在大型项目中,gwt-rpc机制可靠吗?

1
我建议您查看https://dev59.com/elHTa4cB1Zd3GeqPPS9I#3949063,以查看一些真实世界的项目(其中一些相当大...)。 - z00bs
你所说的“可靠”是什么意思?因为当我想到可靠性时,我认为如果gwt-rpc在一段时间内被期望正确执行,那么答案是肯定的,但对于大型项目来说并不具体。如果你关心服务器负载,GWT很可能不是你的问题区域,而是你后端/服务器的可扩展性。总之:是的,GWT适用于大型项目。 - Hilbrand Bouwkamp
@Hilbrand 我想知道 GWT 在大型项目中是否能够正常运行。如果维基百科使用 GWT 实现,你认为会怎样? - user467871
1
GWT 对于大型项目表现良好。请参见 Google Wave 和 Seesmic Web。用户交互越高,使用 GWT 越有用。此外,如果您在单个页面上有许多特定区域的更新,则 GWT 是完美的。维基百科很大,但是数据量大,大多数用户使用它非常静态,就像任何信息网站一样。因此,对于该网站的此部分,GWT 不太适合,还要考虑到 GWT 不易被搜索引擎爬取的事实。对于像维基百科这样的网站的管理/管理部分,GWT 将是完美的选择。 - Hilbrand Bouwkamp
3个回答

6

好的,GWT适合用于Web应用程序而不是Web站点或网页,像Gmail这样的大型应用程序非常适合使用GWT,它包含一个具有复杂操作的单个页面。

GWT在某些包含许多页面的项目中会失败,我们曾在一个ERP系统中使用GWT,其中每个页面表示CRUD操作+一些业务操作,但GWT并不是最完美的选择。

另外,GWT可能存在的问题是,网络爬虫无法从GWT生成的javascript文件中提取信息。搜索引擎更喜欢从服务器端生成的静态HTML,而不是像GWT一样在客户端生成的javascript。因此,Google搜索引擎将不会从您的网站给出结果。

总之,GWT适合于具有较少页面和更复杂操作的Web应用程序。


2

你提到的例子(youtube, twitter, wikipedia)不适合使用GWT,所以如果你要构建这种类型的应用程序,你可能需要坚持使用传统的基于服务器的框架,如SpringMVC或Spring Roo。

GWT更适合那些通常是桌面应用程序,并且需要在客户端进行大量处理的应用程序,例如电子邮件客户端、游戏、报告应用程序、文字处理器等等...


0
我想指出的是,“在大型项目中,如果生成的JavaScript代码越来越大,用户必须等待下载JS文件才能使用网站。”

4
因此,您应该使用代码分割,这样初始加载量就小了,并且在需要时加载其他功能。对于大型应用程序来说,这尤其重要。 - Hilbrand Bouwkamp
1
@Hilbrand 是的,只有在需要时才会加载额外的功能。但是,我想引起您对 gwt-rpc 机制及其设计模式的注意,即它(gwt)是否适用于“重型”项目,我的意思是大量交易。 - user467871
你认为为什么GWT-RPC可能不适合大型项目?你可以考虑使用RequestFactory。http://code.google.com/webtoolkit/doc/trunk/DevGuideRequestFactory.html - Jason Hall

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接