张建宇 2012年04月24日 星期二 14:44 | 1627次浏览 | 1条评论
Html5出来也有年头了,从2011年我在工作中向领导推荐这个东西,现在开始火的不行了,感觉咱们中国人做事就是这么一窝蜂,要么不搞,要么热点起来全都搞,懂不懂的都乱搞,唉。。。
html5是什么,估计真正理解的人还不多,我看了这么久,有些理解,出来吐吐槽。 html5是什么?为什么推出?主要受众是谁?到底能不能真正一统天下?html5是美的,为什么?接下来,我就一一说一下我的看法。 是什么很关键啊,html5这个概念很模糊,有人说是DOM标签,有人说是很大的一坨东西,包括了DOM、CSS、JS扩展、Device API一系列的东西。其实我看来大家通常意义上说的是后一种。而且从历史上来说,html5最早叫啥?叫WebAPP,是Web版的APP应用开发和运行环境,那当然是一整套的东东了,应该包括程序开发所需的MVC一整套东西,而不仅仅是DOM标签,而且以上几种东西是相辅相成的,割裂开来的话意义至少打个对折。 Html5是个革命性的创新吗?有人说,有了Html5那就怎么怎么玄妙、神奇,完全是外行看热闹。其实Html5完全拿来主义,IE里#data标签不错,就做成标准的local storage;video需求很大,而apple的http streaming做得不错,那好也拿过来;对于常用的JS特效,做成标准的用浏览器的原生代码来实现,提升效率;拖动、多点触控等体验很好,那我增加JS事件来支持他;常用的标签,我直接定义到标准里,这样简化了书写,节约了流量;应用开发需要轻量级的通信工具,好我来个web socket。其实说白了html5就是为了更好的开发基于Web的应用,在功能、效率、兼容性上对原来html做出的补充而已,好多效果通过JS代码都可以模仿出来的。所以很多时候,看到别人看到一个很炫的界面就说,看人家使用html5技术做的,此时我只能偷偷地在心里笑一下,然后默不作声了。
为什么推出html5呢?其实上面说得差不多了,估计大家也都明白了。不过我还是要讲一下应用开发的历史,最早大机时代(main frame)程序都跑在服务器上,用户作为一个terminal接入进去,没有网络程序的概念,纯粹的处理数据;后来随着微机的流行,大家开始玩单机应用,仙剑奇侠传,大富翁神马的;后来好点,就是CS、星际啥的那种局域网的对战游戏,文字的MUD游戏;然后网游逐渐兴起,C/S架构的数据库应用逐渐流行,windows下原生应用开发进入了一个黄金周期;接下来B/S流行,B/S和C/S架构的优劣大家讨论了很久,终于浏览器厂商忍不住了,搞了一个Web APP标准出来,随着慢慢的完善,形成了今天的html5。所以说,html5是啥?其实他是一种程序开发的架构、语言,是B/S向C/S架构学习后,融合了C/S的优点,并且通过对代码进行优化合并,进一步提升B/S程序性能的产物,是一个渐进式的修补过程,由于涉及到的厂商、组织很多,所以达成完全的一致很难,前景也不是很确定,就目前来看,主要的标签和API已经稳定下来了,并且基于WebKit核心的浏览器已经形成了一个事实上的标准,所以大家可以就其开始做一些工作了。
主要受众是谁呢?谁应该最先采用Html5?首当其冲,应该是原来的应用开发者,通过评估来看当前的标准中稳定下来的部分是否能满足我程序开发的需求,如果满足,那么我是不是对性能要求特别高?如果性能也满足,那还要考虑我的代码是否需要保密?如果不怕别人copy,那好你快点用吧,这东西不错的,开发适配成本决定的低廉啊;还有就是内容提供者,如网站、电子阅读等,通过html5能做到给用户更炫的效果,更小的流量,更加节省流量,在服务器侧通过UA实现自动跳转,为什么不做呢?电子阅读,随着kindle format8和apple iBook采用html5格式,后续电子出版也必将转向html5内容,属于不得不跟进;至于一般的用户,其实无所谓了,只要用最主流的浏览器,其他的事情随他去吧。 Html5能一统天下吗?现在看来是的,所有的浏览器厂商都已经支持html5,只是程度不同,尤其是在移动领域,如果不出现大的分歧,估计html5会真正统一WEB应用平台,作为开发者应该从现在开始就学习html5,使用html5。
Html5是美的,为什么呐?
第一,从应用通信角度,从apple的应用商店推出的第一天起,我就感觉这东西太不优雅了,为啥呢?当时没想清楚,后来通过看Unix编程艺术,终于明白我为什么不喜欢它了。随便一个功能都是一个应用,而应用之间不能互相调用、互相通信,一个手机上装了几十个应用,找都不好找,乱七八糟的。而Unix讲究的是专业的事情专业的人来干,通过统一的接口方式,把能力开放出去,利用shell把所有的程序串起来,成为一个整体,这样的话才是我的手机我的设备我做主。而Html5通过统一的URI调用方式,具备应用间通信的能力,而且天生支持本地和远程的运行和调用,实在是弹性云计算的最佳承载方式。
第二,从Html5本身结构来看,DOM/JSON、CSS、JS天生就是MVC架构,简单、平凡而优美的程序开发架构,能实现有效的降低耦合性,便于多人协作,通过这种结构化的设计,让初学者就可以不由自主的学习这种架构,所以说Html5很美,天生就是一个美的架构。
第三,Html5是标准的,是可以拆卸的,是微内核的。为了保证其核心的精简,Device API被列到了外围标准中,这种分层设计的思想,便于我们掌握Html5的精髓之处,又不失扩展能力。
Zeuux © 2024
京ICP备05028076号
回复 zeuux 2012年04月24日 星期二 21:45