2015.12.20葡萄藤前端技术交流峰会拾零
首先是沁修姐结合51包装项目后台讲的angularJs的一些使用及其优劣。我们自己使用的结构基本上是bootstrap+(ngstrap、summernote、loadingbar等组件)+ui-rote+lazyload+angular。因为中创项目用的也是angular,使我对其也有些粗浅认识。
先说说优点:angular这种MVC/MV*框架搭建速度快,结构清晰,易维护,适合模块化开发,其中的指令及数据双向绑定能大福简化代码量,减少了dom操作也利于组件封装公用,通过路由配置视图及相应控制器结合lazyload可以一定程度上减少代码的全局污染,优化性能。
会上大家对angular的弱点或不足激发了一轮讨论。说说我个人的理解,MVC层次及注入思想使其不利于seo,爬虫抓到的可能只是结构性代码而非有意义的内容。感觉只要用了ajax技术其实都差不多,现在ajax的seo问题似乎是有一些解决方案的,不知道angular的这种问题是否能一定程度上得到缓解(有时间查查)。还有就是angular并不是一个轻量化的框架,现阶段1.x的版本性能还是一个很明显的问题,因为双向绑定需要时时监听model,这本身对资源就有很高的要求,当然中创有些慢很大程度还是我代码写的问题。
再说说会上说的它的使用门槛问题。作为js新手及angular的初级用户,感觉angular上手还算容易,只是很多思想和Jquery及原生js有些不同,大量的减少了dom操作而是通过与页面结构并没多少关系的指令去添加事件,不过这也仅限于入门级的使用,如果之前有一个较完整的angular框架,还有些代码可以借鉴,拿来用是没问题的,不过对于高级用法及实现原理的理解就需要坚实的脚本基础或经验为依托了。作为小白其实拿来用就好,完全可以满足快速开发的,对应场景是有大神的公司可以快速实现后台管理等对seo要求不高的需求。
利勇师兄所在公司分享的技术偏重原生及jquery实现,利用了python脚本动态生成结构及内容,及一些视图模板的使用,能解决一些seo问题,history.pushState结合ajax(搜了下有个封装叫pjax)可以实现无刷新后退,然后他们通过md5来匹配本地缓存。说真的我现在对这些知识点都没有什么概念,一个是不了解,一个是没应用场景。
再后来是阿里大神提了下阿里对现在的一些新技术的使用,如nodejs、react之类的,前段时间双十一就有文章说nodejs在双十一期间得到了很多应用,突然想到当产品时看到的淘宝ued分享的nodejs与前后端分离的文章,不明觉厉。依赖管理使用bower及npm,大神们说bower已不维护,可以用npm替代,感觉现在github上的很多开源项目都是通过npm来进行组件管理或者通过npm来安装,限于技术、经验、眼界我虽然对这种新东西完全没概念,但不过不得不感叹Js真的很强大,前端发展极速的事实。
对未来技术的展望。前端技术推陈出新,发展迅猛,各种框架/库乱世争雄,被时间、市场、开发者打磨、淘沙后哪些能得到肯定我说不好,不过每种技术都有其优劣,根据需求及团队情况合理选择才是上策,随着团队磨合技术沉淀可以适时封装适合自己的库。非常期待angular2.0带来的改变,随着计算机硬件性能的提升,代码的性能影响会相对减弱,相信到时候应用angular这种优秀框架的场景会越来越多。以上是我对这次交流会的记录及感想,如有不妥那就先不妥吧。
2015.12.20葡萄藤前端技术交流峰会拾零
原文:http://www.cnblogs.com/wuding129/p/5071826.html