Avi*_*i Y 28 javascript java gwt
我是一名Java Web开发人员,而且作为大多数Web开发人员,我使用了大量的JavaScript.即使我不像许多其他Java开发人员那样讨厌JavaScript,我仍然意识到它的错误.
GWT是一种使用java编写javascript的方法.由于我很长时间都认识这两种语言,所以我对这种说法持怀疑态度.我的意思是,我很难相信你可以使用GWT真正创建具有丰富GUI的完整Java动态Web应用程序.这就是为什么我在这里询问是否有人有机会在大型项目上与GWT合作.如果是这样,我真的很想听听他们对此的看法.
Chi*_*Chi 38
我在GWT中编写了相当大的应用程序,我不得不说GWT比项目开始时给我的印象更深刻.我对平台的一般'感觉'是事情经过深思熟虑,除非他们做得好,否则他们不做事,并且可以在所有浏览器上做得很好(IE用户仍然是你的用户!)
现在,请记住,GWT真正擅长的是创建大型,高度动态的单页面样式的webapps.如果你的目标是增强一个带有一些javascript效果的静态页面,那么GWT就是大规模的过度杀戮(gquery可能会改变这个,但我没有gquery的经验)
我喜欢的一些功能包括:
如果您熟悉JavaScript和Java,那么您真的非常适合充分利用GWT.许多人没有意识到GWT是非常好的分层,你可以真正决定你想要在哪个级别工作.
例如,我有时直接针对项目编写DOM库.这很像编写JavaScript代码,除了你能够正确使用IDE并获得编译器的强大功能.从编译器我得到静态类型检查,许多良好的编译器优化,以及(实际上我最喜欢维护代码)调试模式断言.没有人能真正做出很多断言的能力,但是能够编译一个调试模式是非常好的,它可以进行昂贵的检查以排除错误,然后关闭调试模式并让代码消失.(不仅断言语句消失了,而且从断言中可以获得的所有代码也被编译出来).
其他时候,我针对GWT的UI库编写代码.该代码看起来有点像swing或SWT代码,因此对于纯Java开发人员来说它是最舒服的.在这个级别工作,您不必担心DOM,并且通常可以在不编写任何JavaScript的情况下构建应用程序.您偶尔会遇到一个错误,在某个浏览器上某些内容无法正常运行.GWT人员会考虑这些错误.
您可以选择想要使用的抽象级别.每个级别都有权衡,但GWT应该支持它们.
另外,完全披露:我是上面链接的视频中的家伙,所以你可能会说我非常依赖GWT.