学习GWT有用吗?

时间:2008-12-11 16:39:21

标签: java gwt

我开发Web应用程序并且在我的工作中,到目前为止,每当发生一些JS或CSS怪癖时,我一直在与各种浏览器进行战斗。我相信使用GWT将从我对this描述:

的理解中获得极大的帮助
  

今天编写网络应用程序是一件乏味的事情   而且容易出错的过程。开发商   可以花90%的时间工作   围绕浏览器怪癖。此外,   建立,重用和维护   大型JavaScript代码库和AJAX   组件可能很困难   脆弱。 Google Web Toolkit(GWT)   通过允许来减轻这种负担   开发人员快速构建和   保持复杂但高效   JavaScript前端应用程序   Java编程语言。

GWT的一般意见是什么?学习和使用它有多容易?

编辑:我是Java开发人员!

5 个答案:

答案 0 :(得分:15)

你没有说你是否有任何Java背景。如果你不这样做,那么,我不能说你的学习曲线可能是什么。

然而......作为一名使用Java约9年的人,大部分时间都花在了Swing上,我发现GWT非常容易学习。

小部件与Swing不同,因此需要一些时间来适应。但是,从我的角度来看,它与学习任何其他图书馆没什么不同。

就个人而言,我喜欢我可以使用IntelliJ(我选择的编辑器)并利用所有可以帮助我编写更好代码的奇妙Java工具。 (顺便说一下......那是GWT mission的一部分。)

我喜欢这样一个事实,即这是一个充满活力,高度活跃的工具包,很多人真正有兴趣让它变得更好。 (再次,看看讨论组,甚至浏览Contributor's discussion group。)

如果您想访问更多或不同的小部件,有很多项目希望填补这些空白:

(注意:我不支持任何这些项目或评论他们的相对优点,只是试图提供一些参考......)

我认为如果你在网上挖掘,特别是看看GWT Discussion Group,你可以很好地了解其他人对GWT的看法。

说了这么多,小心......你仍然会发现IE6与IE7和FireFox 3之间的渲染方式有些问题,而且...我没有用直接的JavaScript或任何其他工具包编写webapp,所以我不能说GWT在这方面有多好。我所知道的是,在我工作的应用程序工作10个月后,我们只遇到了一些我们不得不为一个浏览器或另一个浏览器专门化CSS的情况。

答案 1 :(得分:2)

如果您来自Java背景或习惯使用Swing,我认为使用GWT是有意义的,因为它可以让您在熟悉的环境中使用熟悉的概念进行编码。使用GWT的另一个好理由是,您的团队主要由Java开发人员和极少数Web开发人员组成。在这些情况下,它应该相当容易学习和使用。

另一方面,我不确定它是构建大多数Web应用程序的正确抽象级别,特别是如果您没有构建类似桌面的应用程序,而是具有丰富功能的网页。

Javascript是一种功能强大的语言,在某些方面比Java更适合Web(Groovy可以修改它,但我不确定与GWT集成有多容易),有很多成熟的JS框架可以让你远离大多数浏览器怪癖并提供恰当的抽象级别,JS有单元测试框架,并且有一些很好的编程实践可以使您的代码更易于管理。

对于编写Web应用程序,我更喜欢在客户端上进行客户端开发,并且希望看到浏览器朝着这个方向发展,而不是成为Flex或GWT等各种沙箱的容器。

答案 2 :(得分:2)

我来自C#背景,切换到Java和GWT并不痛苦。一旦你理解了异步RPC调用的概念,JSNI和类似的你就是在正确的道路上。

答案 3 :(得分:1)

就个人而言,如果你能找到Ext-GWT的另一种选择,因为支持很糟糕,整个事情都是错误的,并且构思错误。另外,我没有找到任何关于在Eclipse中运行Ext-GWT的教程。我已经在Eclipse中成功安装并运行了一个GWT示例应用程序,但是现在我希望使用Ext-GWT库,它们无法一起播放。 Eclipse GWT插件设置了自己的小环境,不能容纳Ext-GWT组件,反之亦然。例如,当Ext-GWT需要自己的入口点时,它如何适应GWT moduleOnloadFunction?我们经常在工作中使用JS库,这很好,但是论坛很糟糕,版主通常很粗鲁,或者太模糊,似乎没有“简单回答”这样的东西

答案 4 :(得分:0)

我可能有点迟到了...但是对于未来的读者......

我现在已经建立了不到3年的GWT应用程序,所以我可能很有能力回答“学习GWT有多容易”的问题。

当我决定编写GWT应用程序时,我的Java技能并不那么舒服,因此我的GWT学习之旅有点坎坷。当我的Java被我想要的时候,Marius Andreiana的online book使我的GWT学习体验变得更好。

一般意见?在Ray Cromwell的History and Future of Google Web Toolkit Google I/O 2012演讲中,他将GWT描述为一种工具,可以帮助Java开发人员开发Web,而无需学习任何额外的技术,测试框架,构建工具等等。它有点像Phone-gap是为Web开发人员制作的移动开发工具。

现在,在发布这个问题时,如果提到Cromwell's presentation,GWT至少在从现在的位置看它时感觉不那么多;社区很健壮,documentation是一件艺术品,当然more books,我个人最喜欢的是Daniel Guermeur and Amy Unruh。但是,我仍然感觉好像YouTube上有一个GWT教程不足,但是,都在适当的时候。

对于我的结束,HTML / CSS / JavaScript世界也发生了巨大的变化,更好的前端框架,构建自动化,依赖关系管理,测试和命名。就个人而言,我选择在构建谷歌应用引擎应用程序时编写GWT,以便它的所有Java代码,并选择依赖CSS / JavaScript框架的其余时间。