我和我的朋友想开发一个大型的 web2.0 项目。我们决定用 Java 编写它,因为我们喜欢它并且我们擅长它,而且我们将使用的其他库是用 Java 编写的(Apache Lucene、Apache Cassandra ...)。我们选择 GWT 作为框架。我们喜欢谷歌、谷歌技术、谷歌 API。
我想问一下,您认为 GWT 是否适合启动 youtube、twitter、wikipedia 等大型项目...?gwt-rpc机制在大项目中可靠吗?
好吧,GWT 适用于 Web 应用程序而不是网站或网页,GWT 适用于像 Gmail 这样的应用程序,它是一个大应用程序,但包含具有复杂操作的单个页面。
GWT 在一些页面很多的项目中失败,我们在一个包含大约 100 页的 ERP 系统中使用 GWT,每个页面代表 CRUD 操作 + 一些业务操作,GWT 不是完美的选择。
GWT 可能失败的另一件事是网络爬虫无法从 GWT 生成的 javascript 文件中提取信息。搜索引擎更喜欢从服务器端生成的静态 HTML,而不是像 GWT 那样由 javascript 在客户端生成。因此,Google 搜索引擎不会提供您网站的结果。
综上所述,GWT 适用于页面数量较少、动作较复杂的 Web 应用。
您的示例(youtube、twitter、wikipedia)不适合 GWT,因此如果您正在构建这种类型的应用程序,您可能希望坚持使用传统的基于服务器的框架,如 SpringMVC 或 Spring Roo。
GWT 更适合传统上基于桌面并且需要在客户端进行大量处理的应用程序,例如电子邮件客户端、游戏、报告应用程序、文字处理器等。
我想指出“在大型项目中,如果生成的javascript代码越来越大,用户必须等待下载js文件才能使用网站。”