其实提笔的时候日期已经到了3月了,不过因为在过去的2016年笔者发生了蛮多的事情,因此仍是决定记录一下,那些关于成长的片断。css
其实HTML5是在2012年的时候接触的,当时和结果志趣相投的同事,看到了HTML5的曙光,深谙此物必火,而后毅然辞去工做,开始创业,在黑暗中探索了1年左右的时间,笔者选择了放弃。放弃的缘由可能不少,可是那段光阴,让笔者从一个懵懵懂懂的计算机科班零前端基础的应届生,变成了一个前端工程师,哦,那个时候应该叫前端程序员,也是笔者职业生涯中很是有意义的转折点,若是没有HTML5,也许笔者还会人云亦云的随着前一份工做的经历继续从事着相似flash的工做(而后被苹果爸爸一刀斩于马下)。html
瞎扯蛋就到这,主要想说的是,虽然到上海已经快3年了,可是真正运用到的HTML5的技术,其实并很少,在以前的业务场景中,使用的最多的就是LocalStorge,主要场景也只是用于本地缓存,缓存ajax请求,缓存用户操做,起到一个优化用户二次首屏体验的做用,其余的东西用的真的很少,大抵也是由于localStorge的兼容性最好的缘由吧。前端
不过到了去年,情形就变得不太同样了,本来供大于求的前端圈子变得愈来愈饱和,各大互联网公司终于到了要比拼技术实力的时候了(其实,也许和技术并无太大的关系,资本寒冬,市场饱和,个性化、差别化、更好的体验,变成了各大公司角逐的武器= =),从天猫造物节的css3d persective的运用,腾讯,支付宝凭借摄像头、陀螺仪、canvas带来的AR体验、再到后来阿里使用的webgel,这些HTML5时代更新的新技术终于在去年发光发热。html5
笔者也因为一些变故,开始一点点的点亮HTML5的技能树:node
最开始是canvas,基于canvas的强交互能力的HTML5游戏(关于游戏能够看看这篇文章)react
而后是基于node的类resful层的开发(把node当本地化工具用了快1年,终于有机会再服务器端使用了)webpack
接着是使用postmessage(常常处理跨域的童鞋对这个应该不会陌生,postmessage算是html5给出的一个侵入式比较小的跨域解决方案,特别在跨站点调用的场景下)css3
而后技术栈从.net+amd +backbone + grunt更新到了generator+gulp+webpack+less+react+postcss + (没有webpack的时代就像是工业时代前的黑夜通常)程序员
最后,借着html5的浪潮,笔者又开始玩起了es7草案中的一些好东东(好比以前文章说起的decorator,低侵入式才是将来啊)web
就在不远的未来,笔者也要迈入AR和webgl的世界(想一想还有点小激动)
不过,步子迈得大了,就怕扯着蛋。怀着对技术的敬畏,笔者的既激动又紧张的度过了去年,在这个时候该总结些什么呢?
想到了两个例子,都是有关ES2015的新功能的:
一个是array和arraybuffer:
以前接触过其余高级语言的童鞋应该都记得,咱们在声明一个数组的时候是须要声明数组的长度的,可是js却不须要,缘由在于二者其实并非一个东西,虽然他们都叫数组,正常的(应该说正常的高级语言的)数组实际上是一段连续的存储空间,至关于一个固定大小的仓库,来存储一个应该是肯定大小的数据;而js的数组更像是一个链表,你能够不断push来增长数组(或说链表)的长度。可是名字已经被占了,历史已经铸成,js仍是须要有原生数组的能力,该怎么办呢?因而arraybuffer就应运而生了。
二者都是ES2015新增的数据类型,都是在完善js整个体系的,并且名字也类似,功能也类似,既然都这么类似了,为何还要把他们形成两个功能独立的类型呢?这个就留给聪明的你去思考吧。
过去的一年,纵然在技术视野上笔者有了不少的尝试,可是更重要的是,在技术深度上的精进。
“浮华如三千东流水,你应取你之所倾。”
咱们身处人类文明进步最快速的时代,一个迅速发展变革的时代,初心就变得格外的重要了。