OSCHINA 第 49 期高手问答 -- AngularJS 开发

红薯 发布于 2014/06/30 05:45
阅读 8K+
收藏 29

OSCHINA 本期高手问答(6月30日-7月6日)我们请来了 @大漠穷秋 为大家解答关于 AngularJS 开发方面的问题。

@大漠穷秋 章小飞,从业7年,目前就职于中兴软创,任前端技术架构师。在前端技术方面尤其有深入的研究,先后使用并研究过Flex、jQueryUI、Extjs等常见的前端开发框架。2012年著有《Ext江湖》一书,2013年翻译出版了《ActionScript3.0游戏设计基础(第二版)》、《用AngularJS开发下一代WEB应用》。其中《用AngularJS开发下一代WEB应用》一书荣获2013年最受读者喜爱的IT译作奖,面市半年内连续印刷4次。

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就 AngularJS 开发方面问题向 @大漠穷秋 提问,请直接在回帖中提问。

加载中
0
马金凯
马金凯
@大漠穷秋 :ng是否能应对类似ERP这种巨量级的应用,还是说“应用”仅仅是app,而ERP是System?对于较大的Web应用,在前端架构方式上有没有成功使用ng的案例呢?ng适合哪些场景,又不适合哪些场景?
大漠穷秋
大漠穷秋
回复 @hantsy : 功能比Sencha的Grid弱很多,应付普通的场景够用,但是对于ERP那种功能要求,不够用。
hantsy
hantsy
回复 @大漠穷秋 : AngularUI 项目中有一个 ng-Grid
大漠穷秋
大漠穷秋
@开源中国匿名会员 举个具体例子吧,可以看看Sencha的GridPanel组件,这种组件在ERP型的系统里面非常常用,但是用ng来实现是比较麻烦的。
开源中国匿名会员
开源中国匿名会员
回复 @寇德林 : 回复 @寇德林 : 其实这种情况及时在 WPF 上,repeat 多了性能也会很差。所以不知道 @大漠穷秋 说的大量重型组件是多重型。指的是多元素操作还是指的数量巨大。又或是别的。
开源中国匿名会员
开源中国匿名会员
回复 @寇德林 : 不是,绑定多我觉得作为谷歌的产品来说,应该不会那么纸老虎。我的意思是说,比如用 ng-repeat 这样,写个树控件,写个列表,写个啥的,一发来个10w条100w条的,应该会崩坏吧。
下一页
0
鉴客
鉴客

@大漠穷秋 :

AngularJS 更适合做交互式的 Web 应用,不适合做内容型的 Web 页面,不知道这样说对不对?

大漠穷秋
大漠穷秋
“内容型”指的是个人Blog那种?貌似也挺合适。
0
木川瓦兹
木川瓦兹
@大漠穷秋 : 问几个问题哈。1. AngularJS 适合做一些什么样的应该?2.目前本人对jQuery比较熟练,有必要转到AngularJS 吗?3.AngularJS 和jQuery主要区别在哪呢?4.AngularJS 兼容性如何?  谢谢!
hantsy
hantsy
AngularJS 内置了 JQLite(一个 JQuery 子集),JQuery 只是一个工具集,AngularJS 是一个 MVVM 框架。
开源中国匿名会员
开源中国匿名会员
jq是库,ng是框架。你觉得要转可以转,不转也能干活。
大漠穷秋
大漠穷秋
ng和jQuery的不同主要体现在设计思想上,这种差异非三言两语所能尽述,我翻译过stackoverflow上的一篇文章,比较长,你看看http://damoqiongqiu.iteye.com/blog/1926475
0
hylent
hylent
@大漠穷秋 : 前端有一定复杂程度的业务,需要频繁与后端通信,根据通信相应内容控制前端页面中数据的显示内容(或者是否显示),比如购物车结算,这样的场景适合使用使用angularjs么?
大漠穷秋
大漠穷秋
如果整个系统就是个购物车,用ng当然绰绰有余。
0
小杨阿哥哥
小杨阿哥哥
@大漠穷秋 :变量和DOM是通过什么机制绑定起来,达到修改变量值就可以改变DOM内容的原理是什么。
开源中国匿名会员
开源中国匿名会员
建议看看源码,理解一下MVVM模式。
0
凯撒大弚
凯撒大弚
@大漠穷秋 :angularjs比较适合什么样的应用场景呢?
开源中国匿名会员
开源中国匿名会员
建议看看 单页面应用 。
0
打杂程序猿
打杂程序猿
@大漠穷秋 : 用http://ionicframework.com/ 进行angular移动app开发,会不会成为日后的移动开发的流行方向?
hantsy
hantsy
回复 @大漠穷秋 : Polymer 和 AngluarJS有一个东西一样,双向数据绑定。
大漠穷秋
大漠穷秋
没有一个框架或者说库能够适用于所有类型的系统,要看具体的业务和系统形态。
开源中国匿名会员
开源中国匿名会员
回复 @大漠穷秋 : Polymer 和 ng 的关系不觉得跟 jq 和 jqUI 的关系有点像吗?意思是不是说,因为对于在浏览器框架下,用工具库比用框架要来得实际。
大漠穷秋
大漠穷秋
呃,,,目测不会。不知道你有没有看前几天的Google IO开发者大会,从这次Google发布的内容来看,未来Google可能会更加推崇Polymer,仅供参考。
0
大漠穷秋
大漠穷秋

引用来自“小杨阿哥哥”的评论

@大漠穷秋 :变量和DOM是通过什么机制绑定起来,达到修改变量值就可以改变DOM内容的原理是什么。
自动绑定的过程简而言之是这样的:ng用一个定时器定时扫描数据模型,把数据和之前的旧值进行“深度”对比,如果发现值变了,就触发一个事件,这样所有使用同一个数据模型的视图都可以自动刷新了。
细节说起来比较复杂,牵扯到ng对指令的编译、事件绑定、脏值检测和digest机制。
请仔细阅读徐飞的这篇文章:http://www.ituring.com.cn/article/39865
还有我2013年在上海的演讲视频:http://www.imooc.com/learn/51
0
开源中国匿名会员
开源中国匿名会员
@大漠穷秋 :你在 AngularJS 中文社区 QQ一群还是QQ二群
开源中国匿名会员
开源中国匿名会员
回复 @红薯 : 好的 @红薯
大漠穷秋
大漠穷秋
回复 @红薯 : 同意。
红薯
红薯
不要在 OSC 讨论 Q 群信息
0
pauli
pauli

@大漠穷秋 : 2013年在外企从事过将近一年的 AngularJS开发,系统越来越慢,越来越笨重。基本 template,service 完成了以后,开始天天写 directive,controller,每次请求大量的资源,企业应用有些坑爹啊。大漠兄,有什么好的建议吗?

Tkks
Tkks
这种应该结合html5的离线缓存搭配,很爽的,这些静态资源都不用二次加载了
areschen_
areschen_
template可以用ng-html2js压缩合并成js资源, js可以用grunt glup 压缩合并,减少http请求
kleen
kleen
填写评论
乌龟壳
乌龟壳
为啥不直接摆放html控件
大漠穷秋
大漠穷秋
回复 @pauli : 你确定你没有认错人?
下一页
返回顶部
顶部