- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
王淮,大城小胖论辩HTML5 局部有小雨
王淮,大城小胖论辩HTML5 局部有小雨
摘要:最近王淮的《HTML5的明天 局部有小雨》这篇文章在微博上引起了HTML5爱好者们的浓厚兴趣,对其文章进行了各种讨论,本文就是前端工程师大城小胖的一些见解以及对HTML5进行了全面的分析。大家一起来看下。
最近看了@王淮Harry的文章《HTML5的明天--局部有小雨》,由于作者本身并不是专业搞HTML5的技术专家,而且他自己也很坦诚的说了这文章是在【最近对HTML5产生兴趣,做了粗浅的研究,并和硅谷的两位玩弄此道多年的技术大佬电话交流】之后写下的,所以我看后第一时间也没有太去较真,只是在微博上说了一句“精神可嘉”。
而且客观来说,这篇文章写的真的很不错,文中的结论(或称作观点)很多我也是非常认可,例如
* 在移动端是否采用HTML5技术,取决于你的产品形态
* 将来可能90%的应用会是HTML5,而那10%,可能永远也不适合HTML5
* HTML5性能的提升很大程度上将取决于低耗电高性能CPU/内存的出现,或者电池技术的极大改善。
但是不错的结论却掩盖不了得出这个结论的过程(论据和原因)中所出现的一些疏漏和错误。
而后来看到很多转发和评论的人在认可结论的时候,连带那些错误的东西也一并认同(甚至主要就是认同那些错误的东西),我觉得我不能再沉默了,因为人们对HTML5的误解已经很多,不能再多下去啊。
首先声明,我不是HTML5黑,也绝对不是HTML5红橙黄绿青蓝紫什么乱七八糟的东西,我就是一个靠写代码吃饭的人,什么代码我写着顺手,我就用什么。我用HTML5开发应用或游戏,绝对不是HTML5有多牛逼,而是因为目前我用JS+HTML+CSS这个组合最熟练,仅此而已。
《HTML5的明天--局部有小雨》(以下简称H文,请读者将其和H文学相区分)一文的内容大体如下:
HTML5是什么
HTML5的现状和优劣
HTML5的明天会如何
这个基本上是任何介绍、点评、分析HTML5的(或其他任何技术)文章的标准结构,无任何不妥。
但是H文中每一部分都有一些值得商榷的地方。
首先,在HTML5是什么一节当中,作者无视了HTML5的8大特性,反而把HTML5中微不足道的一些小功能点当做主要内容来写。如果大家真的对HTML5感兴趣,但是又没有时间去仔细的阅读HTML5官方规范,又不相信Google和百度的搜索结果,那么至少应该去W3C官方的HTML5主题页上去看一下,对HTML5的8大特性有所了解。
网页里用很清晰明了的说明了什么是HTML5以及HTML5带来的主要的新特性。
而在HTML5现状中,作者引用了一个数据“App Store上超过50%的应用已经是用HTML5来开发”,我实在不知道这个统计是怎么来的。但是不可否认的是,最近一年以来App Store上基于Hybrid开发的应用确实越来越多了。我的iOS设备里就有几十款HTML5开发的网页手机游戏,不过目测在浩如烟海的App当中,HTML5应用应该不到50%,不过我也拿不出证据,在这里就不明确表态了。
在对HTML5优点的表述中,作者主要提及了“跨平台”这个特性,也没什么不妥,只能说不够全面。
接下来到了H文中篇幅最大,也是问题最多的部分:HTML5的缺点。
作者主要描述了两类问题:一个是性能问题,一个是对HTML5支持度的问题。
H文的作者用大量文字来描写了关于线程的问题,主要想告诉读者“HTML5性能低,因为不支持多线程”。
关于这点网上已经有很多人指出了问题,作者也在后面加入了补充说明,但是我觉得作者可能还是没有理解到“HTML不支持多线程”的关键。
“HTML不支持多线程”绝对不是缺点,而是特点。关于HTML的单线程特点 以及工作原理网上有很多介绍文章,如果大家没时间看相关文档,没时间自己动手体会,可以看一下这个简短的slide (可以从第19页开始看).
简单来说,浏览器运行时,就好像(只是好像)下面这个无限循环:
while(true){
1 更新数据和对象状态
2 渲染可视化UI
}
( 而在需要异步的地方,HTML是提供了异步机制的,例如网络传输 事件响应 )
1 2这两项工作,浏览器同一时间只能做一件。这种单线程模型在满足用户使用需求的同时,也保证了开发方式的最简化,总的说来就是“简单够用”。
也许有人会质疑,怎么可能够用? 可能对于大多数人来说,都会觉得多线程很牛逼,单线程很无力,其实不然,举个简单的例子:目前大家玩到的大多数游戏(甭管它多华丽)的主体部分都是单线程编写的。事实上,在开发游戏时,很少用到多线程技术。
游戏的核心逻辑其实也是一个循环体:
while(true){
处理用户输入
更新数据和对象状态
渲染游戏
您可能关注的文档
- 对_途中工伤_条款存废之我见.pdf
- 8.28日《电路系统图的详解.doc
- 菊河乡群众文化工作实施意见.doc
- Novotechnik LWH-225电子尺.pdf
- 如何编制发改委立项用(甲级)沙滩钢椅项目可行性研究报告(可研报告+甲级+立项+贷款).pdf.pdf
- VM虚拟机中安装Android-x86 2.2系统.docx
- 八年级语文下《五柳先生传.doc
- 4.4.2.6 床突旁颈内动脉瘤夹闭术.pdf
- 渐行渐远 群山背后的思念.doc
- 拓维信息:董事会关于募集资金2009年度存放与使用情况的专项报告 2010-03-20.pdf
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)