大型项目的 GWT?

Posted

技术标签:

【中文标题】大型项目的 GWT?【英文标题】:GWT for big projects? 【发布时间】:2010-12-08 07:28:04 【问题描述】:

我和我的朋友想开发一个大型的 web2.0 项目。我们决定用 Java 编写它,因为我们喜欢它并且我们擅长它,而且我们将使用的其他库是用 Java 编写的(Apache Lucene、Apache Cassandra ...)。我们选择 GWT 作为框架。我们喜欢谷歌、谷歌技术、谷歌 API。

我想问一下,您认为 GWT 适合启动 youtube、twitter、wikipedia 等大型项目吗...? gwt-rpc机制在大项目中是否可靠

【问题讨论】:

我建议你查看***.com/questions/3949044/… 看看一些真实世界的项目(其中一些非常大......)。 可靠是什么意思?因为当我想到可靠性时,我会想到 gwt-rpc 是否为expected to perform correctly over a period of time,答案是肯定的,但并不特定于大型项目。如果您对服务器负载感兴趣,GWT 不太可能是您的问题领域,而是您的后端/服务器的可伸缩性。总结一下:是的,GWT 适合大型项目。 @Hilbrand 我想知道 GWT 在大型项目中是否正确执行。如果 wikipedia 在 GWT 中实现,你怎么看? GWT 适用于大型项目。请参阅 Google Wave 和 Seesmic 网络。用户交互越高,使用 GWT 就越有用。此外,如果您在单个页面上的特定区域有许多更新,GWT 是完美的。***很大,但数据量很大,大多数用户使用它时非常静态,就像任何信息网站一样。因此,对于网站的这一部分,GWT 不太适合,还要考虑到 GWT 不能/较少被搜索引擎抓取。对于像 Wikipedia GWT 这样的网站的管理/管理部分来说,这将是一个完美的选择。 @Hilbrand 感谢您的详细回答 【参考方案1】:

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

GWT 在一些页面很多的项目中失败,我们在一个包含大约 100 页的 ERP 系统中使用 GWT,每个页面代表 CRUD 操作 + 一些业务操作,GWT 不是完美的选择。

GWT 可能失败的另一件事是网络爬虫无法从 GWT 生成的 javascript 文件中提取信息。搜索引擎更喜欢从服务器端生成的静态 html,而不是像 GWT 那样由 javascript 在客户端生成。因此,Google 搜索引擎不会提供您网站的结果。

综上所述,GWT 适用于页面数量较少、动作较复杂的 Web 应用。

【讨论】:

【参考方案2】:

您的示例(youtube、twitter、wikipedia)不适合 GWT,因此如果您正在构建这种类型的应用程序,您可能希望坚持使用传统的基于服务器的框架,例如 SpringMVC 或 Spring Roo。

GWT 更适合传统上基于桌面且需要在客户端进行大量处理的应用程序,例如电子邮件客户端、游戏、报告应用程序、文字处理器等...

【讨论】:

【参考方案3】:

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

【讨论】:

这就是你应该使用代码拆分的原因,所以初始负载很小,并且在需要时会加载附加功能。这对于大型应用程序尤其重要。 @Hilbrand 是的,需要时会加载附加功能。但是,我想提请您注意 gwt-rpc 机制,它的设计模式(gwt)适合“重”项目我的意思是大量事务 为什么你认为 GWT-RPC 可能不适合重项目?你可以考虑使用RequestFactorycode.google.com/webtoolkit/doc/trunk/…

以上是关于大型项目的 GWT?的主要内容,如果未能解决你的问题,请参考以下文章

GWT 背景研究 项目帮助!

在 2 个 GWT 项目之间共享 RemoteService 实现

当会话超时重定向到 GWT 项目中的登录页面时

GWT - 将外部 java 类添加到客户端项目

导入 Maven-GWT 项目时出错(“未找到处理 gwt-maven-plugin 的市场条目”)

GWT/GXT 项目中的窗口位置 getParameter 始终为空?