当前位置:  开发笔记 > 编程语言 > 正文

为什么我应该使用jQuery而不是GWT?

如何解决《为什么我应该使用jQuery而不是GWT?》经验,为你挑选了6个好方法。

我需要在jQuery和GWT之间为我的新项目做出决定.

我有一段时间没用JavaScript编程,过去几天我一直在研究GWT.它看起来非常棒,为不同的浏览器和所有浏览器生成所有不同的JS,但是:

使用jQuery开发Java需要花费更多时间(至少对于这个项目而言)

文档很差(例如,我应该如何知道在设计页面时我应该使用哪些元素? - 这里没有足够的文档)

我一直在为我的大多数项目使用jQuery而且非常好.

我想说服客户端jQuery更适合这个项目,我需要更多的参数来支持这个.



1> chris..:

我会选择JQuery.

我曾经维持过一个GWT项目,最终迫使我重新写两次.首先作为重构的GWT应用程序,在JQuery中排名第二.

我很长时间没有认真对待Javascript.最后一次是2002年.我是一名Java开发人员,所以我对GWT的第一印象非常棒.但那只是印象.

我在GWT找到的问题:

    它会强制您遵循其客户端/服务器结构.最后,我想要的是AJAX和那些优秀的小部件.GWT的小部件本身看起来并不那么好看.在美学上,我更喜欢Adobe Flex!但为了使比较更接近,JQuery的UI看起来比GWT更好.此外,您还可以从JQuery获得精彩的Theme Roller支持.

    我试过DWR.这很棒.使用DWR而不是GWT在Java代码中启用AJAX要容易得多.

    如果你正在使用GWT,最终你将被迫学习JavaScript.SpringSource的Arjen曾经说过XML和SOAP(虽然不是确切的引用):"你如何开发WebServices而不知道XML?SOAP就是XML.你无法避免它".GWT也是如此.它到底仍然是Javascript.

    实际上,Javascript与Java相比并不难.更多人了解Javascript而不是Java.即便是网页设计师也知道.你是程序员,你害怕Javascript?

    回到项目我改写了.当我重新编写GWT应用程序时,我花了将近两个月的时间来重写它.使用JQuery我花了两个星期,而且我对JavaScript很生气.

    使用JQuery,您并不真正编写hardcorde JavaScript.这就是你首先使用JQuery的原因.使用GWT维护代码非常糟糕.你想看看你在代码中做的最新变化......去编译......等待GWT ... 5分钟...冲洗......并重复并希望它不会引发错误.如果是,您将再次重新编译,并等待另外5分钟.冲洗并重复.使用JQuery更改一行,刷新浏览器.完成.

我知道我在这里不客观,但我只是分享我的经验:)道德是不要害怕Javascript.谷歌无论如何都使用Javascript


我在Maven中使用GWT,这使我只能在服务器端进行更改时编译应用程序的服务器端.当我仅在客户端进行更改时,GWT调试器立即反映这些更改..所以我必须等待5分钟才能使GWT编译器完成运行,这是因为我进行的修改会同时影响客户端和服务器端,例如添加新的RPC服务,这种情况很可能只在开发的最初阶段发生,而在此之后很偶然.所以我可以说调试GWT与你描述的完全不同.
克里斯 - 你看过GWT 2.*?这个版本会不会更好地提到你提到的内容?
无论语言选择如何,您都可能觉得需要重写任何应用程序(在GWT上很难归咎于它).我看到有Java应用程序甚至Web应用程序,我只是因为编写得很糟糕而不愿重写,而不仅仅是因为它是Java.这并不意味着Java应该受到责备 - 它是Java代码的原始作者.我同意编译时间问题占用太多时间.此外,如果您的开发人员没有受到纪律处分,编写大量JavaScript可能会导致代码无法维护.

2> Justin Johns..:

我建议将GWT用于那些不了解JavaScript但(或许)更熟悉Java的团队.使用GWT,您可能会在兼容性测试中节省数天(如果不是几周),并且可以避免许多人对该语言不熟悉的常见JavaScript陷阱.GWT也有大包装的功能CSS精灵,嵌入式数据,以及更多.

但是,如果您了解并理解JavaScript,我会使用JavaScript,无论您选择哪个库.虽然我没有机会过于仔细地检查GWT生成的代码,但我在Google I/O上看到了一些例子,虽然它看起来很糖果和闪光,但你可能会创建更优雅的JavaScript代码来实现这一目标.办法.


您不调试Javascript代码,而是调试Java代码.

3> 小智..:

如果您的团队最熟悉Java并且您计划进行大量的客户端功能,那么您至少应该评估GWT.服务器端/客户端之间的类型安全,Eclipse调试和共享代码将让您的Java开发团队感到舒适.

但是,如果您的团队习惯使用jQuery或其他JavaScript库进行JavaScript编程,那么坚持使用纯JavaScript技术可能更容易.GWT有一种接管页面大部分的方法,这是大多数JavaScript开发人员所不熟悉的.通过接管页面,我的意思是典型的GWT代码喜欢创建自己的DOM元素,而不是向页面上的现有元素添加功能.这就是为什么许多GWT应用程序在页面首次加载时都有"加载..."屏幕的原因.这不是必需的,但它是GWT开发中最常见的风格.

生成的代码来自GWT的事实与大多数GWT开发人员的关联性较低.GWT允许您将Java编译为等同于普通java*.class文件的东西,但是使用JavaScript语法,Web浏览器会理解如何解释.GWT更像是编译器而不是模板驱动的代码生成器.有时您需要检查生成的代码,但大多数情况下,您的调试将通过Java调试器以Java形式进行.

另一件需要考虑的事情是,无论您选择哪种客户端技术,您的开发团队都需要熟悉HTML,JavaScript,CSS和浏览器编程.GWT允许您在熟悉的Java环境中编写客户端代码,但它并不掩盖您在浏览器中工作的事实.



4> Andreas Köbe..:

首先将GWT与jQuery进行比较没有多大意义.虽然构建jQuery是为了使跨浏览器更容易与DOM一起工作,但GWT是为了创建大型Web应用程序而构建的.

因此,如果你有一些带有一些独立小部件的静态方面,比如日历,滑块等,jQuery就足够了.如果你想构建单页面应用程序,也许是一个庞大的团队,GWT是更好的方法.GWT有很多很好的设计架构,尤其是MVP模式的构建,UI-Binder模板系统,i18n支持等.

因此,当JavaScript开发人员在一个大型GWT应用程序上工作超过一年时,我建议永远不要仅使用jquery构建单个页面应用程序,因为它不是为其构建的.如果您想使用JavaScript,请查看主干,脊椎,淘汰赛或道场.

顺便说一下,构建GWT架构一样好,你将有很多JAVA开销.因此,如果您的项目正在增长,那么编译您的css和i18n属性的时间将会变得烦人.



5> Russ Cam..:

"马匹课程"

选择对项目最有意义的一个.有些事情需要考虑

时间紧,比较熟悉一个

其他开发人员使用所选工具的速度和可维护性.一个人在另一个人中的流行也可能对此产生影响

有任何可以在项目中使用的代码,例如插件,实用程序功能等.

如果不了解项目的具体内容,您的体验以及客户使用不同技术/框架的开放程度,那么这里就没有决定性的答案.

将这个引人注目的参数列表列在另一个上面,因为我已经从这里开始,然后与参与该项目的其他人讨论得出结论.



6> iirekm..:

答案并不容易.答案是"它取决于":

GWT:

如果你知道并喜欢Java

如果您的服务器代码也是用Java编写的,那么用Java编写客户端代码就可以在客户端和服务器上使用相同的代码

如果你喜欢强类型语言提供的东西:编译时类型检查,自动重构,自动代码生成(Eclipse中的Ctrl + 1),代码完成(Ctrl + Space)

如果你喜欢面向组件的编程(例如MenuBar创建一个菜单)

如果GWT的复杂性(与jQuery相比)对你来说不是问题

如果生成的大代码对你来说不是问题

jQuery的:

如果你知道并喜欢JavaScript

您不需要在客户端和服务器上使用相同的代码(例如,客户端 - JS,服务器 - Java或PHP)

如果您不需要编译时类型检查,自动重构等

如果你不需要面向组件的编程(在jQuery中创建一个复杂的组件,你需要创建一系列div,并调用$("那些div").makeXXXXControl())

如果你喜欢简单(jQuery比GWT简单)

如果你需要非常小的代码(例如,加快网站加载)

就个人而言,我会为大多数项目推荐GWT,但jQuery也有专业人士,有些人可能更喜欢jQuery.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有