有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Google Web Toolkit对开发复杂的java脚本有用吗?

我非常喜欢javascript框架,尤其是jQuery。我一直想设计像“plurk.com”这样的网站,但我知道它需要大量的javascript代码。所以这让我闭嘴了。但自从我了解GWT以来,我真的很想对它进行测试,并想问一下,它是否比javascript或其框架更容易让我们开发复杂的东西。你喜欢哪一个


共 (6) 个答案

  1. # 1 楼答案

    是的,确实如此,因为您将使用Java而不是Javascript

    卓越的IDE、静态代码分析、搜索和重构——所有这些都将使您在大型项目中的生活更加轻松

  2. # 2 楼答案

    几乎没有什么比“生成的Javascript”更让我害怕的了The Law of Leaky Abstractions在这些情况下必须是双重正确的

    编写有效的跨浏览器javascript是一个不断完善的复杂过程。试图破译一些生成的、模糊的Javascript哪里出了问题是一个令人头疼的问题。修复纯JS库中的bug已经够糟糕的了

    对我来说,GWT是一个技巧,旨在允许后端开发人员用浏览器编写前端代码。不幸的是,现代web应用的现实意味着你只需要了解Javascript和DOM。有些东西要坏了,你需要知道为什么

    我认为你最好选择一个好的javascript库,比如jquery或prototype,并好好学习。这些库抽象掉了应该被抽象掉的东西,在边缘情况下不太可能被打破,比如数组操作和AJAX请求

  3. # 3 楼答案

    不,没有

    它并没有消除复杂性,只是让您可以从Java的角度来处理它。因为这提供了Java提供的所有工具。。。单凭这一点就可能值得

    JavaScript ide正在变得越来越好,通常如果您使用jQuery或Prototype这样的框架,那么您可能会发现它比处理GWT这样的重量级抽象层更容易

    我个人的偏好是采用纯JavaScript方法,但那是因为我喜欢能够与金属更紧密地合作,而且我有足够的纪律来驯服我的JavaScript猫

  4. # 4 楼答案

    我认为这个问题的一些答案是完全不知情的,我怀疑回答他们的人从未在大型项目中使用过GWT。是的,GWT是制作大型AJAX网站的一种很好的方法,对于大型复杂的网站,也包括后端,它可以让JQuery这样的东西在公园里来回走动。我一直认为javascript本身非常适合做客户端的小事情。当您需要做一些更复杂的事情(比如动态字段、弹出窗口、动画)时,可以引入JQuery或Prototype之类的东西。当你想更进一步的时候,你可以使用GWT

    人们认为,因为是用Java编写的,所以它是为后端开发人员进行前端开发而设计的。不是。Java只是他们选择的语言,主要是因为它被广泛使用,静态类型,并且有很多优秀的编辑器

    我也不相信漏洞百出的抽象理论,它没有试图完全抽象出HTML元素,因为如果您选择使用这些元素,它可以直接访问本机javascript和DOM

    简言之,我们已经在GWT中构建了非常复杂的站点(其中一个在GWT博客上有介绍),还使用了其他库,如JQuery。我可以100%自信地告诉您,一旦您了解了GWT,它就会杀死那些为复杂任务而死掉的其他框架。它还有一些很棒的内置功能,有助于使事情变得更好,甚至可以做一些其他框架不支持的事情(比如它可以用图像实现的魔力)。有关更多详细信息,请参阅此博客文章:

    http://googlewebtoolkit.blogspot.com/2007/10/epo-builder-built-with-gwt.html

  5. # 5 楼答案

    我正在做一个使用GWT的项目,效果非常好。对于我们来说,这是一个很好的选择,因为我们主要是从事内部工具开发的Java开发人员。我说不出它对大型终端用户站点有多有用

    我特别欣赏的一个优点是无缝对象序列化和反序列化。不仅XML-RPC的细节被抽象掉了,而且由于相同的Java代码被编译为服务器的字节码和浏览器的javascript,因此您几乎可以像服务器和客户端在同一JVM中的不同类加载器中运行一样进行编码。例如,您可以在服务器上构造一个Java对象,将其作为RPC服务调用的返回值发送到浏览器,然后浏览器代码可以使用相同的Java类来操作您刚才返回的对象。同样,RPC调用的参数可以构造为Java对象,服务器在另一端接收相同的Java对象。所有这些都不涉及(反)序列化的细节

  6. # 6 楼答案

    使用GWT,您实际上并不是在编写JavaScript;它的全部价值主张是,您可以编写Java,它将为您编译成JavaScript