在工作中,对于我们应该为前端Web应用程序使用哪种客户端框架进行了一些讨论。目前它是GWT和jQuery之间的摊牌,我有点蠢,但倾向于jQuery。
据我所知,GWT和jQuery正试图解决不同的问题但是相互比较,因为它们最终都存在于Web应用程序领域。
我怀疑如果是这种情况,那么比较这两者可能是徒劳无功的,所以我试图解决的问题是,如果将jQuery与GWT进行比较甚至是与jQuery和jQuery相同的方式进行比较。可以对ExtJS进行比较,或者对我们的团队提出申请中的某些问题并使用答案来确定哪个框架更适合我们更有利?
答案 0 :(得分:13)
除了克雷格提到的,还有另一个,几乎没有讨论过的原因。您正在构建网站还是网络应用程序?
网站是传统的做事方式。用户点击链接,浏览器进入服务器并下载新的html。有时,您会进行AJAX调用以填充列表或保存一些数据,但大多数情况下,从一个页面到另一个页面的转换发生在服务器端。
网络应用程序不同。想想gmail,谷歌日历,谷歌文档。系统中只有1个html页面。下载后,从一个视图转换到另一个视图在客户端完成。点击链接不会加载新的HTML,它只是一个javascript方法调用(可能会也可能不会到服务器)。
GWT非常适合构建复杂的网络应用程序。如果您尝试使用GWT构建网站,您将对该技术感到沮丧。 JQuery更适合网站,你想在页面上做某些爵士乐的东西,但在某些时候你想去服务器并下载新的内容。
如果你根据你的最终目标 - 网站或webapp做出选择,而不是决定你的路径是什么 - java v / s javascript,那么你的工作效率会更高。
答案 1 :(得分:5)
总之,没有。 GWT是一个生成JavaScript的Java框架。 jQuery是一个JavaScript框架。虽然您可以使用它们来开发客户端代码,但它是一种完全不同的工作模式,正如您使用不同的编程语言这一事实所证明的那样。要问的第一个问题是,“我们在Java或JavaScript中工作的效率会大大提高吗?”
答案 2 :(得分:1)
构建Web应用程序所采用的方法可能因GWT和jQuery而异,但最终结果是相同的。所以是的,它们都是可比较的框架,用于尝试选择一个。虽然将Java编译为Javascript,而另一个使用普通Javascript,但并行功能比较是毫无意义的,并且取决于手头的项目。
不要倾向于其中一个,而是使用两者来构建产品的原型,并记录每个产品的优缺点,然后选择最适合您需求的产品。一个并不比另一个好。两者都解决了Web应用程序开发中的问题,有时这些问题会重叠,有时则不会。我已经使用这两个框架完成了几个项目,并且可以安全地根据我们的经验做出单方面的回答,这些经验可能适用于您的案例,也可能不适用。
答案 3 :(得分:0)
如果你有熟练的Java技能(以及Swing / SWT的经验 - 对于概念),请不要犹豫使用GWT。 另一方面,jQuery更受欢迎,而且非常简单。这两个精彩的框架没有“糟糕的选择”。
答案 4 :(得分:0)
您的问题的简短答案是是,GWT和JQuery可以相互接口,使用GWT的JSNI功能来调用或调用JQuery函数。
答案越长,为什么要。 GWT和JQuery都解决了类似的问题,使得编写和维护的JavaScript不那么痛苦,但是它们都以不同的方式进行,并且将两者结合使用需要比仅使用其中一种更多的工作。
功能上也存在相当多的重叠,因此您的用户最终会下载代码来制作XHR请求,处理事件,管理历史记录等,而实际上他们并不需要这两者。
除非您计划将GWT应用程序缓慢移植到JQuery,反之亦然,否则没有充分理由让您的应用程序同时编写。
答案 5 :(得分:0)
另一个选择是GQuery,jQuery的GWT端口: http://code.google.com/p/gwtquery/
通过这种方式,您可以使用相同的库来编写复杂的单页应用程序,并执行JQuery样式的渐进增强。
来自javascript背景,我发现GWT的学习曲线与学习另一个js库相比是巨大的,因为我的Java很差。也就是说,我坚持使用它并且我发现GWT非常适合复杂的项目,这主要是因为Java的强大打字和出色的IDE支持,这些错误会导致需要数小时调试js的错误。