什么更可行使用? Javascript库或UI编程工具?

时间:2010-03-30 09:39:08

标签: javascript jquery gwt

更有用的是: -

Javascript库: YUI,jQuery,ExtJs

UI编程工具:GWT,ExtGWT,SmartGWT

在他们之间做出选择变得非常困难,因为他们不断提高自己的能力以满足新的要求。

我们都知道jQuery在UI操作中的强大功能。微软关于jQuery正式成为.Net developr工具包的最新消息肯定会使jQuery成为对抗其他JavaScript库的首选[见链接:http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx]

但另一方面,GWT正在构建一个可以在客户端和服务器端使用的框架。这肯定会让开发人员的生活变得轻松,因为它不需要开发人员成为浏览器怪癖,XMLHttpRequest和JavaScript的专家,以便开发高性能的Web应用程序。它包括SDK(Java API库,编译器和开发服务器,允许用Java编写客户端应用程序并将它们部署为JavaScript),Speed Tracer和Eclipse插件。许多产品(如Google Wave和AdWords)都使用GWT。

所以问题仍未得到回答,哪些问题更可行?有什么想法吗?

8 个答案:

答案 0 :(得分:4)

一种工具并不适合所有人。

使用最适合特定项目需求的任何内容。

答案 1 :(得分:1)

jQuery FTW。我是jquery的粉丝,因为它是完全自包含的,你只在窗口中有$,你只需添加它并在需要时使用它,它不会将自己添加到任何原型中,也不会强迫你以某种方式工作。

另外,我个人更喜欢用javascript编程。如果我理解正确的话,GWT的卖点就是“你可以用Java编写所有内容!”。我用Java编程,我也不妨用javascript对服务器端进行编程!

答案 2 :(得分:0)

我已经使用了很多不同的Javascript GUI框架,比如Bindows,ExtJS,Backbase,Javeline,jQuery UI,只要你理解了web应用的类型,所有这些都可以非常好用。当你开始更多地依赖Javascript for UI然后简单地使用'vanilla HTML。

如果您确实需要具有树视图,可折叠窗格,列表视图,数据网格,组合框的丰富用户体验。使用其中一个Javascript UI框架,但要注意jQuery UI不能与Bindows和ExtJs等更大的兄弟进行比较。

GWT和Bindows都提供了一种客户端语言,可以为您呈现所有javascript,如果Java是您选择的开发人员语言,则可能是一个非常好的选择。

如果你只想要一点点的ajax和一些小的dom操作恢复到普通的旧HTML并用jQuery加以调整。就个人而言,这总是对我有利,因为你更能控制造型,以及飞越生产线的所有部分。 Javascript UI框架往往很大,很难设计风格。

答案 3 :(得分:0)

如果你没有能干的javascript开发人员并且想要快速的东西,GWT是好的。否则我会避免它。就像用拳击手套弹钢琴一样

您引用的JavaScript库是对本机JavaScript的补充,而不是它。他们都很好,我不想提出建议,除了说你应该查看prototype.js / scriptaculous和mootools。

答案 4 :(得分:0)

这取决于您是要构建网站还是网络应用。使用GWT可以更轻松地构建Web应用程序,使用js库可以更轻松地构建网站。

如果您的网站内容驱动,请使用Javascript库,而您实际上并没有太多的用户互动。或者,如果您关心搜索引擎优化。

如果您的网络应用是面向行动/互动的,请使用GWT。想想Gmail / Google Docs。在这里,用户正在与您的应用进行大量互动。

答案 5 :(得分:0)

我认为这取决于您的背景,您想要做的应用程序类型以及您是否独自一人,您的团队经验。关于gwt,也有不同的方法:

  • 您可以通过gwt
  • 中的本机调用来调用js函数
  • 有一个gwt port of jquery(即$("h1").css("background-color", "red");是有效的java代码!)
  • 有办法将gwt方法导出到javascript(这意味着您可以编写javascript并从那里访问gwt代码作为库 - 除了使用其他js库)

答案 6 :(得分:0)

开发人员可能会厌倦GWT创建一大堆代码,忘记目标环境不是Java而GWT的复杂性会带来需要在​​浏览器中调试的错误,这需要对Javascript有充分的了解。当发生生产问题时,调试数十万行机器生成的代码会非常紧张。 此外,它不是浏览器不可知的。我们遇到了影响Chrome中组合框的噩梦问题。任何其他浏览器都没有问题 - 但Chrome中的组合会定期破坏整个GUI。我们从来没有能够在开发中复制它 - 因为当然GWT开发模式在完全不同的情况下运行到生产模式 - 例如,基于Javascript的微妙计时问题在Eclipse中无法重新排除以便进行故障排除。

因此,虽然令人印象深刻的技术 - GWT中的复杂系统开发成本比使用其他技术(如Flex或.NET)要多得多。

答案 7 :(得分:0)

你总是可以使用像gwt-query这样的东西(在你的gwt项目中使用jquery),你可以随时更改这个库。但是如果你使用类似GXT的东西,你需要从头开始编写应用程序。所以使用gwt库(包装js框架或库)是更好的解决方案。