论坛首页 Web前端技术论坛

GWT用来开发web程序会不会成为趋势

浏览 44945 次
精华帖 (0) :: 良好帖 (12) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-01-05  
学过GWT,但现实中公司都还用jQuery,无论项目有多复杂
0 请登录后投票
   发表时间:2013-01-05  
daquan198163 写道
快乐的牛 写道
GWT不会成为趋势,除了前面各位提到的优点和缺点之外,我觉得没必要用Java来“写”Javascript代码。GWT的设计初衷,我就不赞同。
Javascript作为一门动态语言,本身就比静态的Java更灵活、更强大。Javascript的开发效率、敏捷程度,是java不能比的。
Javascript编辑器的支持的确没有Java好,但是并不妨碍,写完之后直接刷新网页,调试效率高。
没必要强求成员提示,我写Java代码就一直按ESC,不让提示,一个方法用过两次就记住了,顶多用个自动补全。

我这人比较懒,离开增量编译IDE的帮助(即时错误提示),我就一行代码也不想写。

快乐的牛 写道

至于Java强大的自动重构功能,对于Javascript更是没有必要。重构的代码,说明机器能自动写,这部分代码基本上是“死的”,需要编辑器帮忙避免重复劳动。但是用Javascript,你没有必要写那么多“死的”代码,如果你写了,说明你没有利用好动态语言的特性,或者你用了一个差劲的类库。
用过python,ruby的,都会有同感吧。

这个理论头一回听说,动态语言不需要重构?

另外js有靠谱的unit test框架么? 貌似测试框架不少,但还是那个问题,没有编译器帮助,写js单元测试也会很痛苦。

话说一个编程语言,一没有好的IDE支持、二没有编译器检查、三不方便重构、四难以单元测试,你拿它来写几万行代码的大项目,这不是开玩笑么?

别跟我提那些js大牛、js牛叉框架,毕竟咱们都是普通人,公司也只能招到一些普通人,
也被跟我说那么多项目不也都这么搞出来了么,我想说你见过哪个项目不是一段IT民工的血泪史啊?


你的观点很没依据。 先说说 js 脚本语言方面的工具:

我这篇博客讲述的很清楚, ide, debug, 测试:
http://witcheryne.iteye.com/blog/585226
测试方面我到没怎么用, 其他经常用.
IDE: Aptana Studio,
很完善的自动补全, js 的错误检查也很到位。
重构是软肋,不过代码质量主要靠写的人,靠IDE工具提供一个重构功能, 并不能解决代码重构问题。

在说一个普通公司, 普通团队, 普通员工用 GWT。
从09进现在这家公司久开始用GWT,   项目研发+后期维护我一共做了一年半。现在这个项目还在维护中, 持续4年。

当初在用的时候,决定用GWT的同事(也是招我的人)感觉相当舒服。感叹前端也能这么些,开发速度也挺快(少了学js的时间,是挺快)。 后来在维护期, 各种崩溃:
做一次改动编译20分钟, 现场前端报错,错误日志基本都是a,bc,d各种压缩代码。
发布不压缩的版本, 变量名全是java的方法签名, Ljava.lang.String.name 这类代码,看的人吐血。


后面再说一个大项目的问题:
上万行代码? javascript 还真少见上万行代码。如果把上千行的js用java写,估计有可能上万。


再说js这个语言,
从语法角度讲,语法上借鉴c和lisp.  从Lisp借鉴的数据结构这个特性非常方便。 一个Object 可以理解成一个 key-value的ma。














0 请登录后投票
   发表时间:2013-01-08  
接上上面童鞋的发言,偶补充下

js的单元测试和集成工具都有的,可能不太成熟,但做基础的自动化测试还是没问题的(参考jasmine,mocha,testjsdriver,testacular)

另外js的mv*框架强大的双向绑定完全可以做到以model为中心的开发方式,可测试性强
有了这些框架,开发大型应用木有什么问题的——BS:我上个项目js代码量在3w左右,并没用到mv*框架,维护起来一样没问题,个人感觉代码质量,设计等关键还是看人的,工具也只是工具。

最近在做公司的前端选型,后面别说上万行的js,估计在我们项目中出现10w行也是很正常的
0 请登录后投票
   发表时间:2013-01-08  
key232323 写道
接上上面童鞋的发言,偶补充下

js的单元测试和集成工具都有的,可能不太成熟,但做基础的自动化测试还是没问题的(参考jasmine,mocha,testjsdriver,testacular)

另外js的mv*框架强大的双向绑定完全可以做到以model为中心的开发方式,可测试性强
有了这些框架,开发大型应用木有什么问题的——BS:我上个项目js代码量在3w左右,并没用到mv*框架,维护起来一样没问题,个人感觉代码质量,设计等关键还是看人的,工具也只是工具。

最近在做公司的前端选型,后面别说上万行的js,估计在我们项目中出现10w行也是很正常的

具体是怎么做到的呢?
比如你列出的那几个测试框架,你们实际选择的是哪个,
重构怎么做的、模块化怎么做的,或者还有什么其它技巧?
0 请登录后投票
   发表时间:2013-01-08  
daquan198163 写道
key232323 写道
接上上面童鞋的发言,偶补充下

js的单元测试和集成工具都有的,可能不太成熟,但做基础的自动化测试还是没问题的(参考jasmine,mocha,testjsdriver,testacular)

另外js的mv*框架强大的双向绑定完全可以做到以model为中心的开发方式,可测试性强
有了这些框架,开发大型应用木有什么问题的——BS:我上个项目js代码量在3w左右,并没用到mv*框架,维护起来一样没问题,个人感觉代码质量,设计等关键还是看人的,工具也只是工具。

最近在做公司的前端选型,后面别说上万行的js,估计在我们项目中出现10w行也是很正常的

具体是怎么做到的呢?
比如你列出的那几个测试框架,你们实际选择的是哪个,
重构怎么做的、模块化怎么做的,或者还有什么其它技巧?



模块化, SeaJS:
http://witcheryne.iteye.com/blog/1166331

单元测试:
QUnit:
http://qunitjs.com/
对接口做异步测试.




0 请登录后投票
   发表时间:2013-01-08  
gmail 的js代码应该过万。
0 请登录后投票
   发表时间:2013-01-08  
看看 Google Wave
http://incubator.apache.org/wave/source-code.html

现在是Apache Wave
这个项目是用GWT写的
0 请登录后投票
   发表时间:2013-01-08  
daquan198163 写道
key232323 写道
接上上面童鞋的发言,偶补充下

js的单元测试和集成工具都有的,可能不太成熟,但做基础的自动化测试还是没问题的(参考jasmine,mocha,testjsdriver,testacular)

另外js的mv*框架强大的双向绑定完全可以做到以model为中心的开发方式,可测试性强
有了这些框架,开发大型应用木有什么问题的——BS:我上个项目js代码量在3w左右,并没用到mv*框架,维护起来一样没问题,个人感觉代码质量,设计等关键还是看人的,工具也只是工具。

最近在做公司的前端选型,后面别说上万行的js,估计在我们项目中出现10w行也是很正常的

具体是怎么做到的呢?
比如你列出的那几个测试框架,你们实际选择的是哪个,
重构怎么做的、模块化怎么做的,或者还有什么其它技巧?


前端模块化我个人认为主要解决好“类系统、对象模型”,“关系依赖和动态加载”,“对象作用域控制”等问题剩余的就和传统的服务端编程语言没什么区别了,也可以做MVC,应用各种设计模式(这点动态语言有优势,很多模式实现起来更简洁),js一样也有很多语言层面的工具,UI方面积累一套成熟的库集成过来就可以了,就是开发技能要求高点而已——不过把这些架子弄好,剩下的搭积木,我觉得比gwt快,也比zk的zul快。
更粗粒度的模块化(比如业务),模块本身只依赖自己需要的web元素,环境相关配置,提供入口参数,再提供接口方法(初始化,输出数据)即可。借助requirejs/seajs这样的很容易做到复用

大家对js貌似都是jquery jquery ui就是前端的大部分内容这个印象?我觉得下面几点也是前端比较热的话题

1. 类系统,模块化,依赖和注入
2. MV*(UI和模型分离)
3. 自动化测试

BTW:js关注点(UI,样式,事件,交互)更少,解决了一些语言层面的历史问题之后,还是很容易集中搞好这些的。

我们选的是testjavascriptdriver + jasmine,和jackins(拼写错?)集成
seajs
angular/backbone可选
jquery + ui + plugins
自己写的一些工具库等

0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics