Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我应该为我的新webapp使用googleweb工具包吗?_Javascript_Ruby_Gwt - Fatal编程技术网

Javascript 我应该为我的新webapp使用googleweb工具包吗?

Javascript 我应该为我的新webapp使用googleweb工具包吗?,javascript,ruby,gwt,Javascript,Ruby,Gwt,我想创建一个数据库支持的交互式AJAX webapp,它有一个自定义(特定类型的事件,编辑)日历系统。这将涉及相当多的JavaScript和AJAX,我考虑过使用GoogleWebToolkit作为界面,使用RubyonRails作为服务器端 谷歌网络工具包可靠且良好吗?如果我选择Google Web Toolkit,可能会有哪些潜在风险?你能在服务器端轻松地将它与RubyonRails结合起来吗?或者我应该直接使用像jQuery这样的JavaScript库吗 除了一些HTML,我没有web开发

我想创建一个数据库支持的交互式AJAX webapp,它有一个自定义(特定类型的事件,编辑)日历系统。这将涉及相当多的JavaScript和AJAX,我考虑过使用GoogleWebToolkit作为界面,使用RubyonRails作为服务器端

谷歌网络工具包可靠且良好吗?如果我选择Google Web Toolkit,可能会有哪些潜在风险?你能在服务器端轻松地将它与RubyonRails结合起来吗?或者我应该直接使用像jQuery这样的JavaScript库吗


除了一些HTML,我没有web开发经验,但我是一名经验丰富的程序员(c++、java、c#),我只想为这个项目使用免费工具。

您可以使用GWT在java中编写所有代码,并且可以将现有的第三方javascript库与之集成。非常好。不过,我从来没有太多地使用过RoR,所以对此我不能说什么。

如果你对Java有经验,但对Javascript/CSS没有经验,那么GWT将是一个救星(当然,除非你想学习它们)。CSS有很多细微的细节。花费半天的时间来修复仅在IE6中出现的2像素错位并不少见


我不确定在后端使用ROR有多容易。。。我确信这是可能的,因为GWT ajax通信只是servlet。但是它们提供了一些非常好的功能,可以传递java对象,如果你的服务器不使用java,你就无法利用它。

你也可以考虑(“Rails上的Groovy”)这为您提供了Rails框架和Java虚拟机使用的好处。

RoR实际上是GWT能够很好地使用的东西之一,只要您正确使用REST。它在GoogleWebToolkit应用书中,你可以看到书中使用这种想法的演示。这并不是说你不会有任何问题,但我认为肯定会有人支持你


有一个简洁的项目可以让RoR/GWT更容易找到(MIT许可证)。我还没有机会尝试一下,但看起来已经花了很多心思。一个问题是,它看起来还没有用2.1 Rails进行全面测试,只有2.0,因此您可能会遇到一些错误(可能是轻微的、可修复的错误)。

如果您了解JAVA,并且有地方可以托管它(比如tomcat或glassfish容器),我建议您在后端使用Ruby。主要原因是,您可以共享所有对象,并使用内置的RPC机制。我在我们的很多项目中都这样做过,这节省了大量的时间,更不用说代码不太容易出错,因为您不需要将java对象转换成任何东西,然后再转换回来

我以前将我的GWT与Rails链接过,在Rails中使用to_json函数,然后在GWT中读取json。它都是受支持的,但是它比用JAVA做后端要烦人得多


当然,如果你有便宜的主机,那么Java容器几乎是不可能的,在这种情况下,我认为Rails将是下一个最好的东西。

GWT的质量非常高,有一个很棒的社区。然而,如果你想调整事物的外观,你需要知道CSS(你会知道的)——CSS可以做很多布局,就像你想要的普通网页一样。像GWT ext或ExtGWT这样的库可能会有所帮助,因为它们具有令人惊叹的“开箱即用”外观,但价格昂贵(应用程序的额外尺寸)

如果您希望将GWT与非Java后端(如ROR、PHP等)集成,那么应该记住GWT1.5现在支持JavaScript覆盖类型。此功能允许您编写可以映射到本机JavaScript对象顶部的类,以便轻松为这些对象的属性和其他扩展功能提供访问器方法

有关更多详细信息,请参阅此链接:


因此,您可以通过AJAX调用从后端返回JSON编码的数据,将其解析为JavaScript对象,然后使用您创建的覆盖类通过GWT Java代码访问数据。或者,当您呈现页面时,您可以将静态配置数据呈现为JavaScript对象,并通过此机制将其读入,而不必通过AJAX调用来获取数据。

我最近写了一些关于这些数据的文章。主要的缺点是:对应用程序的某些部分进行更改的部署周期较长,并且学习曲线比较陡峭。作为一名经验丰富的Java程序员,第二个问题应该不会太大,如果您使用单独的后端,第一个问题也会得到缓解(因为当您更改应用程序的“服务器”部分时,主要需要进行完全的重新部署)。

GWT是一个很好的框架,具有很大的潜力。但请记住,它仍然是全新的。有一些未解决的bug确实会让你恼火,它们通常需要难看的解决方法才能通过。这个社区很棒,但你迟早会遇到一些谷歌无法回答的问题


但是,嘿,我说去做吧。GWT的潜力是巨大的,我打赌它的未来将是光明的。

你肯定应该在新项目中使用GWT(在旧项目中也很容易使用)

根据我的经验,它的学习和使用速度非常快。编译后的javascript代码比任何手工编写的代码都要好,而且运行速度也很快


另一个好处是能够调试自己的代码(单是javascript就很糟糕)

这个博客有许多GWT经验丰富的用户的意见,并有一些很好的讨论点。我个人对各种UI框架有丰富的经验。我再加上我的两分钱。让我们看看GWT的基本优势和劣势

基本优势

GWT将web层编程转换为JAVA。因此,Java的明显优势开始发挥作用。它将提供面向对象的程序