其实提笔的时候日期已经到了3月了,不过由于在过去的2016年笔者发生了蛮多的事情,所以还是决定记录一下,那些关于成长的片段。

  其实HTML5是在2012年的时候接触的,当时和结果志趣相投的同事,看到了HTML5的曙光,深谙此物必火,然后毅然辞去工作,开始创业,在黑暗中探索了1年左右的时间,笔者选择了放弃。放弃的原因可能很多,但是那段光阴,让笔者从一个懵懵懂懂的计算机科班零前端基础的应届生,变成了一个前端工程师,哦,那个时候应该叫前端程序员,也是笔者职业生涯中非常有意义的转折点,如果没有HTML5,也许笔者还会人云亦云的随着前一份工作的经历继续从事着类似flash的工作(然后被苹果爸爸一刀斩于马下)。

  瞎扯蛋就到这,主要想说的是,虽然到上海已经快3年了,但是真正运用到的HTML5的技术,其实并不多,在之前的业务场景中,使用的最多的就是LocalStorge,主要场景也只是用于本地缓存,缓存ajax请求,缓存用户操作,起到一个优化用户二次首屏体验的作用,其他的东西用的真的不多,大抵也是因为localStorge的兼容性最好的原因吧。

  不过到了去年,情形就变得不太一样了,原本供大于求的前端圈子变得越来越饱和,各大互联网公司终于到了要比拼技术实力的时候了(其实,也许和技术并没有太大的关系,资本寒冬,市场饱和,个性化、差异化、更好的体验,变成了各大公司角逐的武器= =),从天猫造物节的css3d persective的运用,腾讯,支付宝凭借摄像头、陀螺仪、canvas带来的AR体验、再到后来阿里使用的webgel,这些HTML5时代更新的新技术终于在去年发光发热。

  笔者也由于一些变故,开始一点点的点亮HTML5的技能树:

  最开始是canvas,基于canvas的强交互能力的HTML5游戏(关于游戏可以看看这篇文章)

  然后是基于node的类resful层的开发(把node当本地化工具用了快1年,终于有机会再服务器端使用了)

  接着是使用postmessage(经常处理跨域的童鞋对这个应该不会陌生,postmessage算是html5给出的一个侵入式比较小的跨域解决方案,特别在跨站点调用的场景下)

  然后技术栈从.net+amd +backbone + grunt更新到了generator+gulp+webpack+less+react+postcss + (没有webpack的时代就像是工业时代前的黑夜一般)

  最后,借着html5的浪潮,笔者又开始玩起了es7草案中的一些好东东(比如之前文章提及的decorator,低侵入式才是未来啊)

  就在不远的将来,笔者也要迈入AR和webgl的世界(想想还有点小激动)

  不过,步子迈得大了,就怕扯着蛋。怀着对技术的敬畏,笔者的既激动又紧张的度过了去年,在这个时候该总结些什么呢?

  想到了两个例子,都是有关ES2015的新功能的:

一个是array和arraybuffer

  之前接触过其他高级语言的童鞋应该都记得,我们在声明一个数组的时候是需要声明数组的长度的,但是js却不需要,原因在于两者其实并不是一个东西,虽然他们都叫数组,正常的(应该说正常的高级语言的)数组其实是一段连续的存储空间,相当于一个固定大小的仓库,来存储一个应该是确定大小的数据;而js的数组更像是一个链表,你可以不断push来增加数组(或说链表)的长度。但是名字已经被占了,历史已经铸成,js还是需要有原生数组的能力,该怎么办呢?于是arraybuffer就应运而生了。

另一个是mapweakmap

  两者都是ES2015新增的数据类型,都是在完善js整个体系的,而且名字也相似,功能也相似,既然都这么相似了,为什么还要把他们造成两个功能独立的类型呢?这个就留给聪明的你去思考吧。

  过去的一年,纵然在技术视野上笔者有了很多的尝试,但是更重要的是,在技术深度上的精进。

  “浮华如三千东流水,你应取你之所倾。”

  我们身处人类文明进步最快速的时代,一个迅速发展变革的时代,初心就变得格外的重要了。

【杂谈】HTML5到底给了我们什么?迟到的2016年终总结的更多相关文章

  1. HTML5到底能给企业带来些什么?

    一.改变企业网络广告的模式与分布 广告是企业网络营销的主要方式之一.十几年来,无论是展示还是互动,基本被Adobe Flash所主宰.然而,HTML5网页的多媒体特性.三维.图形及特效,超炫的浏览体验 ...

  2. HTML5到底将给企业带来什么?

    HTML5 是近年来互联网行业的热门词汇,火的很.有人高调宣称"APP 将在几年内灭亡,HTML5 取而代之" 改变企业网络广告的模式与分布 广告是企业网络营销的主要方式之一 十几 ...

  3. HTML5行业现状与未来 - 2016年终大盘点

    * { margin: 0; padding: 0 } .con { width: 802px; margin: 0 auto; text-align: center; position: inher ...

  4. html5设计原理(转)

    转自:   http://www.cn-cuckoo.com/2010/10/21/the-design-of-html5-2151.html 今天我想跟大家谈一谈HTML5的设计.主要分两个方面:一 ...

  5. 第 1 章 HTML5 概述

    学习要点: 1.HTML5 的历史 2.HTML5 的功能 3.HTML5 的特点 4.课程学习问题 主讲教师:李炎恢 HTML5 是继 HTML4.01 和 XHTML1.0 之后的超文本标记语言的 ...

  6. 学习HTML5必读之《HTML5设计原理》

    引子:很久前看过的一遍受益匪浅的文章,今天再次转过来,希望对学习HTML5的朋友有所帮助. 今天我想跟大家谈一谈HTML5的设计.主要分两个方面:一方面,当然了,就是HTML5.我可以站在这儿只讲HT ...

  7. HTML5学堂 全新的HTML5/前端技术分享平台

    HTML5学堂 全新的HTML5/前端技术分享平台 HTML5学堂是做什么的? HTML5学堂~http://www.h5course.com~由多名热爱H5的讲师们组成的一个组织.致力于构建一个前端 ...

  8. 简谈HTML5与APP技术应用

    HTML5到底能给企业带来些什么? HTML5是近年来互联网行业的热门词汇,火的很.微软IE产品总经理发文: 未来的网络属于HTML5.乔布斯生前也在公开信<Flash之我见>中预言:像H ...

  9. HTML5学习摘录

    设计原理 不是规范里都包含什么,而是规范里为什么会包含它们,以及在设计这个规范的时候,设计者们是怎么看待这些东西的. 发展史:HTML2.0——>HTML3.2——>HTML4.0.1—— ...

随机推荐

  1. JS基础:函数

    函数声明和函数表达式 在 JS 中定义函数的方式有两种:一种是函数声明,一种是函数表达式. 例如: //函数声明 function fun() { ... } //函数表达式 var f = func ...

  2. 跨域请求Ajax(POST)处理方法

    getXSSAjax(function() {  //跨域请求        that.ajaxDara(self);}, (bs_tita.webapi || "http://webapi ...

  3. msp430入门编程05

    msp430中C语言的运算符和表达式 msp430中C语言的程序结构06 msp430中C语言的函数及实现07 msp430中C语言操作端口I/O10 msp430中C语言的模块化头文件及实现11 m ...

  4. how to read openstack code

    本文的目的不是介绍openstack.我们这里假设你已经知道了openstack是什么,能够做什么.所以目的是介绍如何阅读openstack的代码.通过读代码来进一步学习openstack. 转载要求 ...

  5. python dos2unix

    有时你在windows上创建的文件拿到Linux/unix上运行会出错, 这是因为windows上有些字符如换行符在linux/unix不识别.这种情况下需要用dos2unix这个工具把文件转换成li ...

  6. Office 佳能MP259打印EXCEL线条歪曲,字迹模糊怎么办

    这大概是墨盒的缘故,判断方法很简单,随便找一个文档,点击打印,属性   在维护选项卡中把清洗和打印头对齐做一遍(一般字迹模糊可以通过清洗解决,线条歪曲可以通过打印头对齐解决),如果你打印的结果是纸张边 ...

  7. formData 对象

    (1)创建的formData打印为空? var edition=$("#edinum").val();//版本号 var uploader=$("#upman" ...

  8. firewalld filter

    实现 firewalld  的filter 功能 1. 关闭 INPUT ,关闭OUTPUT  (设置黑名单) 任何主机 都 ping 不通 本主机 1>命令 : iptables -P INP ...

  9. react-color 颜色选择器组件

    demo链接:github demo 安装: npm install react-color --save 有一下几种类型组件 <AlphaPicker /> <BlockPicke ...

  10. CSS和JS结合控制样式

    CSS控制样式,毋庸置疑.但有时,仅靠CSS却很难控制好,比如说,页面在多种条件下进行不同的呈现:或者运行过程中,会发生变化,比如说,左侧的菜单栏收缩了,那么右侧的宽度就变大了. 就拿这个元素的wid ...