Google Web Toolkit与Straight Javascript相当大而且复杂的应用?

时间:2011-02-19 18:13:37

标签: java javascript jquery gwt

我有一个主要使用Java / Swing编写的Web会议客户端,其中包含一些JNI本机模块,用于:视频,音频和桌面共享。总的来说,客户端大约有400,000行Java代码,不包括本机模块。

我们正在研究从Java / Swing迁移到客户端的HTML5 / Javascript的长期计划。截至目前,浏览器支持对我们的一些需求(如voip,网络摄像头和桌面共享)不稳定/不存在。因此,在短期内,我们可能会发布一个浏览器插件来执行这些操作以及HTML5 / JAvascript来完成其他任务。

对于这种复杂性(基本上是一个移植到Web上的富桌面客户端),更有意义的是:GWT(Google Web Toolkit)还是​​使用JS库(如jQuery)的直接Javascript?

编辑:目前有5名开发人员正在从事这个项目。

3 个答案:

答案 0 :(得分:4)

google wave产品为例。支持更快速的开发是merged from plain old javascript to GWT,特别是考虑到许多开发人员同时开展项目。

根据我的经验,手动黑客攻击您使用jQuery建议的网站将是一项非常多的工作,很可能会遇到重构问题,重用代码的困难,并可能最终导致很多任何进入团队的新开发人员都很难掌握的代码。

不要误会我jQuery是非常棒的javascript工具;但是当在其中编写完整的应用程序时,它很快就变得无法管理。这至少是我的意见。

答案 1 :(得分:4)

如果你有程序员具有Java背景,那么使用GWT有很多原因:

  • 强大的静态类型语言@client side
  • 快速发展(!!!)
  • 工具! IDE,PMD,FindBugs以及其他众多产品。与许多其他框架不同,使用Google插件配置Eclipse也只是小菜一碟。
  • 各种浏览器的排列已由GWT本身处理
  • 您的JavaScript已经过优化 - 由GWT处理
  • 如果你愿意,你仍然可以使用普通的JavaScript(但是GWT的设计是你不需要的)
  • GWT真的可扩展。您的Java后端将保持真正的Java,因此您可以使用任何最喜欢的强大的Java库
  • 客户端开发非常强大,像Swing一样,不太难找到适合那里的程序员

还有很多其他人。 Honeslty,JavaScript仍然很慢(好吧不要拖钓 - 语言没有“速度”,但你得到我)。如果你使用jQuery或GWT并不重要。面对它,它不会像胖客户端那样快。所以为什么要牺牲你的舒适:)。

答案 2 :(得分:1)

根据我的经验,GWT非常适合开发Web应用程序,其目的是模仿桌面应用程序的外观。您的团队似乎已经拥有大量的Java / Swing经验,这使得迁移路径比直接转移到纯JavaScript解决方案更容易。

使用纯JavaScript构建桌面风格的Web应用程序,您将发现自己正在搜索或使用大量库/工具包/插件/小部件构建器(即使使用jQuery),以便获得基础知识。这些基础知识可以由GWT轻松提供。