从d2来看前端的未来

前两天跟组内的小伙伴们参加了d2前端分享会议,主题大概就是工程化、前后端分离以及nodejs的应用环境,工程化的前端时代已经来临,各家公司的手段都差不多,都是为了提高开发效率,使多人协同开发更好维护以及与后端开发人员更好的沟通.

工程化

说到工程化,就不得不说说以前那种堆代码的时代了,来了一个需求就在文件中添加方法以及各种业务需求,js语言的灵活性都被玩坏了,那时候前端开发不是很重,大部分的重活都放在了后端,所以这时候还体现不了前端的价值,挺多是漂亮的效果让人惊叹吧.

随着ajax的流行,异步交互的特性极大的提高了用户体验,这时候慢慢的前端的活就多了不少,开始使用接口来渲染视图了,有了视图就有了各种模板引擎,陏着各种模板引擎的使用,大家慢慢的感觉到数据同步太累了,jquery操作dom太累了,代码中被填充着各种事件的定义,也许当你放个长假回来,再想在里面加个功能的时候你会失忆半天,这时候模块化的开发理念出现了,把每个功能拆分成单个模块文件,这样有利于多人开发,而且业务清析,当业务发生变化时,我们能够的准确的定位到代码.

随着代码量的增多,构建工具应运而生,区别对待开发与上线尤为重要,以gruntgulp为基础,利用nodejs开发构建工具特别方便.

前后端分离

前后端分离这个概念近两年已经被炒的很热了,为什么会出现这个名词呢,因为前端需求变化太快了,而后端接口通常都是以单一功能对外开放的,所以变化相对较少,只需在业务层对多个单一接口封装成业务接口就可以提供给前端使用,一快一慢,这是很容易产生效率问题的,就像内存与硬盘之间有个缓存的概念,读内存是很快的,硬盘太慢,所以加了个中间层来缓存数据,其实用nodejs来实现业务接口就相当于这个作用,前端开发对业务非常熟悉,后端对数据比较熟悉,所以完全可以让前端来做这部分工作,提高业务的响应能力.当然一般的小型公司在nodejs方面积累不是很多,所以想采用这种方案的时候要慎重,因为这里需要涉及到缓存,会话,安全等问题,当然我们大阿里在这方面还是很成熟的.

NodeJs

说到nodejs,可以说是前端的一大利器,当今这个时代,没安装它的估计就不算个靠谱的前端了,它在我看来就是一个工程化的环境,所有脏活,累活它都可以干,npm的管理方式让它的社区力量异常强大,所以想要让前端工作更舒服的话,赶紧把nodejs拿下吧.

后记

前端是一个充满未来的职业,当大数据来临时,一切可展示的东西都需要前端来完成,所以面临的问题也会很多,但是这正是需要我们努力的地方,大阿里的前端更是一个充满活力的地方,这里有一群热爱技术的小伙伴,有兴趣的赶紧发简历到wenmin.xwm@alibaba-inc.com,期待您的加入.


上一篇:Jasmine中文指南


下一篇:一个twitter puddles的算法实现