25.9.13

AngularJS


发信人: hopesfish (有理想的咸鱼), 信区: SoftEng 
标  题: Re: 每日集成 --- 也许被敏捷忽视的重要技术实践 
发信站: 水木社区 (Thu Jul 11 20:46:04 2013), 站内 
  
【 在 zhangmike 的大作中提到: 】 
: 这是高水平团队才能做到的。 
: 配套的单元测试、接口测试都不简单 
: 界面自动化测试的开发和维护更加需要投入和水平 
~~~~~~~~~~ 
从WEB来说,如果是开发是对DOM树修修改改,然后测试又是基于检测DOM树变化,例如selenium,多少人都不够,自动测试黑洞
但这不是我要说的重点,我要说的是自从用了angluarjs,不用手动修改DOM树后,生产力一下得到大解放,只要关注和后端api交互的js类是否正常工作,每次看到mocha测试用例0失败,还能顺便测测API,那是相当的惬意啊。 

发信人: hopesfish (有理想的咸鱼), 信区: SoftEng 
标  题: Re: 每日集成 --- 也许被敏捷忽视的重要技术实践 
发信站: 水木社区 (Thu Jul 11 21:27:04 2013), 站内 
  
就我目前理解,angularjs里2个核心概念 双向绑定和directive  
双向绑定似乎有点潮的UI框架都支持,有点象当年struts,把model和view自动连接起来,不需要人工干预,官方教程里很多例子,咋一看就是写表单,谁都会,但关键得掌握这种思维方式,去改写bootstrap或者jquery ui里面的例子成为driective, 这个又有点像taglib。 
  
对于大型应用,又得引入模块加载,不然一个应用几千行JS代码没人吃的消,还能顺便载入HTML布局,我是最讨厌在js里面拼html的。requirejs/seajs是个不错的选择,我现在用的是seajs。 支持模块加载以后,用mocha跑数据交互类的测试就行,只要能访问API,且符合期望,剩下的就交给directive的自动处理。至于directive的单元测试,我还没做,但是就目前开发感受而言,比以前用jq/yui/ext/dojo堆控件的可靠度高太多了,所以偷懒没写。 
  
至于视频,还真没怎么看,就看O家的官方文档了 

发信人: hopesfish (有理想的咸鱼), 信区: Java 
标  题: Re: 技术选型问题: AngularJS vs. ExtJS 
发信站: 水木社区 (Thu Sep 26 16:21:19 2013), 站内 
  
作为一个靠JS混饭吃的,强烈建议你用SeaJS + AngluarJS + jQuery + Bootstrap + Bootstrap Theme的组合 
  
SeaJS用来做模块管理就够了,不用搞动态加载jquery那么高大上的东西,能加载某个功能模块的js和template就够了 
AngluarJS这种解放人肉维护dom树的核子武器,必须用,从后端转过来的更爱 
JQ + Bootstrap生态圈就不用说了,美工,页面仔,前端猿人见人爱.. 
至于网上有人说NG和JQ是水火不两立,那么是他们太菜,不会用$watch和$apply 
  
ExtJS...你得养多少写JS的啊 
  
PS:LZ要兼职不  

发信人: hopesfish (有理想的咸鱼), 信区: Java 
标  题: Re: 技术选型问题: AngularJS vs. ExtJS 
发信站: 水木社区 (Fri Sep 27 10:39:08 2013), 站内 
  
我认为前端是朝着小而美方向发展,这样才能足够保证UI领域的足够灵活性,所以对于AngluarJS和ExtJS的糅合,我不看好。ExtJS你最看重的也就图表部分,我想,随便几个收费的chart库都比他更好更炫吧,Grid也有NG的版本 
  
关于测试,我现在反倒没有用NG自己的测试体系,仅仅用mocha来在NG的作用域里面测试产品中的service类,之所以这么搞,是因为以前的UI框架都是人肉维护DOM树流派,自然衍生出selenium系这种反人类的测试框架,一旦解放了人肉维护DOM树部分,自然就可以把重点关注在业务交互和数据通讯上,通过JS UT来覆盖所有CRUD功能和部分场景测试。界面的人肉回归测试也不能丢,但劳动强度会低很多,幸福感会强很多。 
从软工的角度来看,NG所带来的红利是YUI/DOJO/ExtJS这种上一代的重量级框架所不能提供的。 
  
你都说NG入手简单了,难的只是如何组装起来,这是豌豆荚的一个WEB版源码镜像,不过用的是RequireJS,模块加载风格和SeaJS不一样,可以参考下https://github.com/atian25/wandoujia-satan 剩下的html+js是个web程序猿都会写。我帮一个朋友搭完以后,他带几个大专生就能写业务代码了,何况你那里都是专业级 

No comments: