和菜头:作为大自然的微信,小程序是微信里的AppStore

微信要上“小程序”了。

我知道你不是程序员,你不在创业公司,你不从事移动互联网,但是,小程序是最近两年来微信最重大的改变。既然你每天都在用微信,那么应该知道一点关于小程序的事情。同时,从昨晚开始到现在,你朋友圈里的技术男应该用小程序刷爆了屏,而你对他们奔走相告的样子很困惑。所以,我准备做一股清流,简单聊聊我对小程序和微信的看法。《微信应用号小程序内侧:微信是一个操作系统、一个AppStore吗?

和菜头:作为大自然的微信,小程序是微信里的AppStore

-什么是小程序?

就是在微信里的软APP。为什么说是软的?因为你手机里的所有APP都要下载,都需要点开才能使用,这叫原生APP(非常不喜欢这个名字,难道还有野生APP不成)。因为要专门开发,每个APP之间彼此独立,所以我管它们叫做:硬APP。更多APP解读:www.yangfenzi.com/tag/app

软APP的意思是不在你的手机屏幕上占一格,它就在你的某个APP里。无需你去下载,也无需你安装,扫一下二维码就可以激活使用。它看起来和硬APP很像,但其实只是一些特殊的网页而已。如果有人问你特殊在哪里,你告诉他说是基于HTML5,然后大家就不用再讨论这个问题了。小程序是在微信里面的软APP,未来可能所有你常用的APP,都可以在微信里面找到一个对应的小程序,直接就能使用。

-小程序好在哪里?

You ask me, I ask who?当年人们问摇一摇好在哪里,附近的人好在哪里,朋友圈好在哪里,公众号好在哪里,哪里有那么多哪里?到现在为止,连一个小程序都没有问世,说好不好的,是不是太早了一点?说到底,小程序是一个新鲜事物,究竟好不好,还需要跑起来看。

对于普通用户来说,小程序免除了下载、安装等等一系列麻烦。而且,就在每天使用的微信里面,用起来、找起来、删起来也方便。对于移动互联网公司来说,用户之间彼此推荐小程序,获取用户的成本会比现在要低。以微信的性格,绝对不肯做中心化的榜单,所以刷榜也没有用,中小公司终于能够长舒一口气了。

-技术男们欢呼什么?

移动互联网世界正在逐步板结,看看排行榜就知道了,天下虽大,但是几大集团已经瓜分了前十名。当年移动互联网出现,在板结的传统互联网世界上撕开一个口子,大家一下子有了新方向、新机会,个人因此得到了新工作、新股权以及新房新车新老婆。所以,这一次微信推出小程序,大家能不为此欣喜若狂,奔走相告吗?

已经有很长一段时间,互联网世界没有什么技术突破。你看前段时间,出了个VR之后,多少人一下子就疯了?虽然没有显著的技术突破,但是微信开启小程序计划,作为中国拥有最多用户的单体APP,这个举动依然为整个移动互联网世界带来了新的变化,引发了从业者的想象力—微信里的AppStore。一个有无限可能的未来,不管是不是真的,都会让人感到兴奋莫名。万一呢?

-我是什么态度?

我冷静地赞赏。很容易把小程序视为微信横空出世的一个新产品,新举措,甚至有人已经开始预言是新平台。但在我看来,小程序是微信自我发展之路上的一站而已。在这一站之前,微信走过了极为艰难也极为漫长的道路。

想一下,小程序它爷爷是谁?你还记得微信里的“群发助手”一类的小插件吗?微信刚出来不久,就已经尝试用插件形式,丰富微信内部的各种服务。但是,你现在还用那些小插件么?小插件并没有流行起来,也没有成为微信的标配,毕竟,和专业的硬APP相比,它们并没有那么好用,所以,爷爷就过去了。

再想一下,小程序的爸爸是谁?百花齐放的小插件过去之后,出现了功能相对聚焦的订阅号和服务号。它们的本质,是微信给与媒体和商家固定的模板,解决微信用户最基本的需求:阅读和生活服务。目前看起来,这两个产品很成功,但是可定制的程度不高,二次开发相对也比较困难。以这两个形式要满足千万商家和亿万用户的需求,依然显得不够。但是作为投石问路,它们要比小插件前进了很大的一步。

继续想一下,小程序的哥哥姐姐是谁?打开你的微信,点击开“发现”,里面有个“购物”。它其实就是京东在微信里的软APP,从浏览商品到下单,用户可以在这里能做的事情和京东APP里能做的事情几乎一样。退出来,在点击“我”,里面有个“钱包”,里面接入了滴滴、车票、酒店、58到家、美丽说、微票等等商家,同样的,在微信里也能获得在各自APP里的完整体验。但有一点不好:它们是微信给你的,不是你自己选定的。你真想要的好的服务,这里未必能有。

现在,小程序的出现,是上述所有探索基础上的一个总结。小程序比小插件功能要强大,比订阅号公众号自由度更高、可定制的可能更多,而且,不再只针对部分开发商开放。即便以微信的强大,在产品演进的过程中,每一步也非常谨慎小心,每次前进一点点,确认没有问题了,才会继续。如果小程序成功了,人们只会记得小程序。但是,我还是想提醒一下那些追求所谓一击必杀的人们,微信并没有在第一天提交小程序。而且,小程序也不会是演变的终点。更多微信解读:www.yangfenzi.com/tag/weixin

-为什么我那么冷静?兴奋起来,请兴奋起来!

我天性矜持可以吗?

如果仔细看过上面一段,相信你和我一样也会非常冷静。历经了微信的整个发展历程,我就想问几个问题:

1、我什么时候开设的微信公众号?我的微信公众号开通赞赏又是什么时候?
2、我什么时候开始的公众号二次开发?距离我的图片交换获得200万张照片过去了多久?

时间,中间过去了许多时间。当然,不排除有许多比我聪明的人,很早就在微信上实现了盈利,或者获得了产品的成功。不过我不算是聪明人,所以我耗费了很长的时间,走了很多弯路,才终于获得一点点成果。那些欢呼雀跃的人可能没有考虑过一个问题:小程序对于微信来说,是一种尝试,也是风险极高的创新。你在微信尝试的基础上尝试,可能要背负更高的风险,和更深重的沉没成本。

时至今日,还有人天真地问:微信什么时候会重新分配流量?会给与导流?小程序一出来,互联网上万众欢腾,感觉是只要今天参加测试,明天三板就能上市。这里我想说几句不中听的话:

什么是微信?微信就是大自然。太多人以为微信是一个花园,会特别地在意某朵花或者某几种花的存亡。事情不是这样的,微信是对于生生死死毫无感觉的大自然。如果一个产品该死,或者在微信之外做不起来,有了公众号,有了小程序,甚至给了微信入口,它还是活不了;如果一个产品有价值,受到用户喜欢,那么有了小程序,最多能让它成长得快一点,在早期获得用户时能节省一点成本。

对于微信来说,千万万万公司的千万万万小程序,在微信体内谁生谁死,根本不是它要关心的问题。相反的,微信乐于见到这样残酷的竞争,和弱者毫无意外的死亡。因为只有这样,那些经过野蛮生长,熬过高低起伏,最大限度上符合微信用户需求的产品,才能存活下来,于是微信用户得到了最好的服务—这是微信最在意的事情。所以,你要自己做产品,你要自己弄流量,你要自己做营销,你要活下去,哪怕比对手只多一天。

为什么那么多人会觉得小程序好像是给自己的特别福利?仿佛那是一个大蛋糕,只需要自己上前一步,就可以切走一块大的?为什么还在幻想微信会出一个微信商店,里面给出小程序分类排名,只要自己刷榜进入前十,就可以获得上亿用户?欢呼一下得了,还不赶紧回家磨刀?刚刚和你欢呼的人里,大概会有一大半将来要倒在你的刀下,大家不应该挥泪道别么?

与其有那个时间欢呼,不如想想年初张小龙在微信公开课上的那些话,那些话现在又写进了小程序的说明里。“用完即走”是什么意思?如果这是新的规则和玩法,存活之道又是什么?

-为什么要叫小程序?

一开始有传说叫“应用号”,但最终发布的时候改名为“小程序”,原因请听文章开头的歌曲。

题图:沙漠行走中的Mr.Allen Zhang

禅定时刻

这是一个简单的小程序
唱着大小公司的悲喜
我想我很心虚
当有你的热情
网上的风向转了

这是一个简单的小程序
唱着我们心头的唏嘘
我想我很适合
当一个开发者
头发在风中落着

【文/和菜头  微信号:槽边往事(ID:bitsea)】

氧分子网(www.yangfenzi.com)是关注互联网生态圈的科技新媒体

·氧分子网http://www.yangfenzi.com)延伸阅读:

➤ 池建强:微信小程序,仅仅是 Web App 么?

➤ 为何互联网硬件火了,因App市场正趋饱和

➤ 我所感知的、几款过亿美金APP的创业法则

➤ 王冠雄:APP推广不只烧钱,这四大招你也可以有!

➤ 杀死那个App:后应用时代来临,语音交互是未来趋势

➤ 法律界Uber“亿律App”上线:开启全球法律服务新模式

➤ 开发者福利:百度MTC上线Galaxy S7新机 App兼容性极速测

分享给您的好友:

您可能还喜欢…

  1. HTML5 是对 HTML 标准的第五次修订,目前仍未完工。其主要的目标是将互联网语义化,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入。HTML5 的语法是向后兼容的。

    但论及 HTML5 时,大部分开发者所指的并不仅仅是这个新标准,而是(如 Jeremy Keith 说)
    doing anything cool (on the web)
    做这些“酷”的东西需要用到的技术和标准,除了 HTML5 标准外,还包括 CSS3 的一些新属性,以及一些新的 API。
    WHATWG 在今年一月份宣布(至少对于 WHATWG 来说),HTML5 将是 HTML 的最后一个版本号,HTML 从此成为了一个不断在更新和变化的活标准。

    大家提到的都是非常好的资料,我这里再补充一些:
    来自 W3C 的 HTML5 草案
    http://www.w3.org/TR/html5/
    来自 WHATWG 的文档
    http://www.whatwg.org/specs/web-apps/current-work/multipage/
    Dive Into HTML5 – 许多泛 HTML5 技术的入门讲解
    http://diveintohtml5.org/
    HTML is the new HTML5
    http://blog.whatwg.org/html-is-the-new-html5

    背景介绍:
    W3C 全称是万维网协会(World Wide Web Consortium),是制定互联网标准的官方组织。
    http://en.wikipedia.org/wiki/World_Wide_Web_Consortium
    WHATWG 是一个非官方的,由包括来自 Mozilla、Google、Opera 等公司的员工组成的开源社区,是任何人都可以参与的。它对 HTML(前 HTML5 标准)、Web Workers API 等标准的制定和更新做出过很大贡献。
    http://en.wikipedia.org/wiki/WHATWG

    之前对 WHATWG 和浏览器厂商关系的叙述有谬误,已更正。更多关于 WHATWG 以及其成员组成的信息,参考 @呂康豪 的评论。

    HTML的英文全称为Hyper Text Markup Language,即超文本标记语言。HTML5是HTML的一个新版本。HTML 不是一种编程语言,而是一种标记语言 (markup language)。
    HTML5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改。
    HTML5特性
    语义特性(Class:Semantic)
    HTML5赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa的,微数据与微格式等方面的支持,构建对程序、对用户都更有价值的数据驱动的Web。
    本地存储特性(Class: OFFLINE & STORAGE)
    基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。Indexed DB(html5本地存储最重要的技术之一)和API说明文档。
    设备兼容特性 (Class: DEVICE ACCESS)
    从Geolocation功能的API文档公开以来,HTML5为网页应用开发者们提供了更多功能上的优化选择,带来了更多体验功能的优势。HTML5提供了前所未有的数据与应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,例如视频影音可直接与microphones及摄像头相联。
    连接特性(Class: CONNECTIVITY)
    更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能。
    网页多媒体特性(Class: MULTIMEDIA)
    支持网页端的Audio、Video等多媒体功能, 与网站自带的APPS,摄像头,影音功能相得益彰。
    三维、图形及特效特性(Class: 3D, Graphics & Effects)
    基于SVG、Canvas、WebGL及CSS3的3D功能,用户会惊叹于在浏览器中,所呈现的惊人视觉效果。
    性能与集成特性(Class: Performance & Integration)
    没有用户会永远等待你的Loading——HTML5会通过XMLHttpRequest2等技术,解决以前的跨域等问题,帮助您的Web应用和网站在多样化的环境中更快速的工作。
    CSS3特性(Class: CSS3)
    在不牺牲性能和语义结构的前提下,CSS3中提供了更多的风格和更强的效果。此外,较之以前的Web排版,Web的开放字体格式(WOFF)也提供了更高的灵活性和控制性。

    禁止禁止 汝知乎?吾知乎!
    现在的HTML5已经是正式的标准了,不再是处于调试状态了。2014年10月28日,W3C正式发布了HTML5的标准版本。

    HTML5 是定义了 HTML 的标准的最新演进。 这个术语代表了两个不同的概念:
    它是 HTML 语言的一个新的版本,具有新的元素,属性和行为,
    以及可以使 Web 站点和应用更加多样化和功能更强大的更丰富的一套技术。 这套技术有时被称作 HTML5 & 它的朋友们 而且往往被缩减到仅是 HTML5。
    从要对全部所有的 Web 开发人员有用这一点出发,这个参考页面链接了有关 HTML5 技术的大量资源,并且基于它们各自的功能,把它们归类成了若干组。
    语义:能够让你更恰当地描述你的内容是什么。
    连通性:能够让你和服务器之间通过创新的新技术方法进行通信。
    离线 & 存储:能够让网页在客户端本地存储数据以及更高效地离线运行。
    多媒体:使 video 和 audio 成为了在所有 Web 中的一等公民。
    2D/3D 绘图 & 效果:提供了一个更加分化范围的呈现选择。
    性能 & 集成:提供了非常显著的性能优化和更有效的计算机硬件使用。
    设备访问 Device Access:能够处理各种输入和输出设备。
    样式设计: 让作者们来创作更加复杂的主题吧!
    以上来自 MDN ,详细请转到:
    HTML5 – HTML (中文)
    HTML5 – Web developer guide (英文)

    简单的说,html5是w3c组织推出的html最新标准
    html5标准推出之前,开发者开发一个产品,需要针对PC端以及安卓端IOS端去撰写不同的代码,才能实现各个端展现相同的功能,方便用户在电脑和移动端上使用产品,没有违和感,后期维护的时候也需要分别各自维护,对于企业,这无疑是一个巨大的支出,html5标准的出世,完全改变了这一现状,开发者不需要根据各个端去编写不同的代码了,在开发过程中不用去了解各个端的独特要求,只需要按照html5标准撰写就可以,符合了html5标准就可以在各端正常运行了,大大减少了开发者的重复劳动,对于企业也降低了开发以及运营、维护成本。

  2. H5 是国内对HTML5 的简称,其实我们每天都在接触它,它无处不在。从「围住神经猫」,「击打企鹅」,「在房祖名中找到张默」这些红极一时的火爆游戏,到现在微信朋友圈推送广告时宝马、VIVO 的广告,支付宝十年账单等等,背后都是 HTML5 技术。
    <!–more–>

    但是很多时候大家对 H5 认识都只是停留在「页面」这个层次上,甚至还会有一些误解,下面就是关于 HTML5 的一些常见的误解:

    #### HTML5 是一项新技术

    HTML5 原本指 HTML 下一个主要的修订版本,所用到的技术很早就已经成熟了,而 HTML5本身并非技术,而是标准。现在国内普遍说的 H5 是包括了 CSS3,JavaScript 的说法(严格意义上说,这么叫并不合适,但是已经这么叫开了,就将错就错了)。

    那可能有不懂技术的同学会问,到底什么是 HTML呢?

    正规的说法是,HTML(Hyper Text Markup Language,超文本标记语言) 是一门标记语言。所谓「超文本」就是指页面里可以包含图片,链接,甚至音乐等非文字元素;计算机之间需要沟通,那些是正文,那些是图片,都需要标记,标记这些的一套规范和标准就是 HTML。

    #### HTML5 的性能不好

    上面已经说了,HTML5 本身并不是技术,而是一个标准,不涉及性能问题。性能的问题往往是多方面的,软件层面(浏览器对 H5 的支持),硬件层面,包括代码都可能会导致性能问题。不过现在硬件的更新速度非常快,iPhone4S 的 CPU 是 A5,而 iPhone6 已经是 A8了,按苹果的说法,速度共提升了7.5倍;移动端浏览器大部分是现代浏览器,对 HTML5 和 CSS3的支持都很好。

    —-

    ### 绘图功能

    SVG 和 Canvas 都能使你在浏览器中画图,但是基本原理不一样。

    #### SVG(Scalable Vector Graphics)

    SVG 即是 `Scalable Vector Graphics`,是一种用来绘制矢量图的 HTML5标签。

    SVG 基于 XML(EXtensible Markup Language,可拓展标记语言,类似于 HTML),这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。

    在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

    #### Canvas

    Canvas,顾名思义,是画布,通过 JavaScript 来绘制 2D 图形。

    Canvas 是逐像素进行渲染的。

    在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

    #### WebGL(Web-based Graphics Language)

    WebGL 是一个跨平台、免费的底层 3D 绘图 API 的 Web 标准,是一套用于渲染 2D 和 3D 图形的标准图形库。作为一项强大的图形技术,WebGL 可以很好的呈现 3D 效果。iOS8 宣布支持 WEBGL 后,百度全景在移动 Web 端支持 WebGL 图形技术了,可以更逼真的模拟街道环境。

    #### Canvas 与 SVG 的主要不同点

    Canvas | SVG
    ———— | ————-
    依赖于分辨率 | 不依赖于分辨率(矢量)
    不支持事件处理器 | 支持事件处理器
    弱的文本渲染能力 | 最适合带有大型渲染区域的应用程序(比如说 Google 地图)
    能够以.png 或 .jpg 格式保存结果图像 | 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
    最适合图像密集型的游戏,其中的许多对象会被频繁绘制 | 不适合游戏应用

    ### 动画的运用

    一般来说,也就是两种。一种是 CSS3 动画,一种是 JavaScript 动画。但是很多情况下,JavaScript 也会用于改变 CSS 属性来实现动画。

    如果是复杂交互的动画,还是用 JavaScript 比较好。

    具体如何处理,那又是比较大的话题了,在这就不细说。

    ### 最后说几句

    当年 Facebook 放弃 HTML5 转投原生开发的,而今微信却在中国让 HTML5 大红大紫,不得不说时势弄人。
    当年 Facebook 采用的是混合式开发,类似于今天我们说的里面是前端代码,然后套了个 PhoneGap 的壳子,打包变成 iOS 应用了。混合式开发一般会占比,但是 Facebook 的 HTML 的部分占比过大,而且 当年 iOS App 里调用的 Webview 的引擎和浏览器 Safari 里用的不一样,对技术支持的也不好。

    在今天,iOS8 的 Webkit 库,使用 WKWebView 来代替以前的 UIWebView,并且使用 Nitro JavaScript 引擎,这意味着所有第三方浏览器运行 JavaScript 可以跟 Safari 一样快。
    发布于 2015-02-09 6 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利
    Moones web前端千人干货学习群: 486792092(入…
    3 人赞同
    HTML5 表面上看是用来取代 Flash Web 视频的,然而,它的使命远不止此。HTML5 是下一代 Web 语言,它不单单是一种标记语言,更为下一代 Web 提供了全新功能,并将引领下一代 Web 实现类似桌面的应用体验。
    HTML5 主要新功能
    本地音频视频播放
    动画
    地理信息
    硬件加速
    本地运行(即使在 Internet 连接中断之后)
    本地存储
    从桌面拖放文件到浏览器上传
    语义化标记
    HTML5 应用现状

    现今,
    各大浏览器对 HTML5 的支持各有千秋
    ,我们期待着他们在一两年内趋向一致,你可能以为,既然这样,现在大概很少人在使用这个未来的标准,事实并不如此,HTML5 现在已经被广泛应用,正如
    William Gibson
    所言,未来的 Web 已经来临,只是还没有被广泛采用。

    你可能不知道,
    Google 的首页
    也使用 HTML5,不过,目前,他们还仅仅使用了
    HTML5 的 doctype
    ,页面的其它部分还是
    旧代码
    , 但 Google 在他们的各种应用中已经在广泛采用 HTML5。最典型的例子是 Gmail,HTML5 的离线存储使用户即使在离线状态下也可以使用 Gmail,另外,Google Docs 也使用离线存储,同样使用离线存储的其它厂商的类似应用还包括 Zoho 的办公套件和 WordPress 的博客平台。如果你对 HTML5 的离线存储功能感兴趣,可以看一看 Mark Pilgrim 的
    how to add offline support to your apps
    一文。

    Scribd 基于 HTML5 的文档阅读器

    上图是 Scribd 的新文档阅读器,全部基于 Web 标准,并未借助 Flash。

    除了视频,HTML5 还可以在多个方面取代 Flash,文档共享站点
    Scribd
    最近
    宣布
    ,他们将
    使用 HTML5 取代 Flash 实现文档阅读器
    ,Scribd 是 HTML5 结合 CSS 所能实现的惊人功能的最好例子,他们还使用 @font-face 实现个性化字体,另外,在翻页时的变换效果也完全基于 CSS3。这些 Web 标准工具的结合使用,使 Scribd 实现了从 Flash 向纯 HTML 的过度,同时并没有牺牲文档在结构,字体,内嵌图片,图层等方面的功能。Scribd 的最新文档阅读器甚至支持 IE6,这里有一个实例,
    使用纯 HTML 输出复杂的公式

    可惜被墙了 – 译者

    HTML5 Canvas 与 HTML5 视频

    基于 HTML5 Canvas 对象的 Invaders 经典游戏

    虽然,Scribd 对 Canvas 的应用已经出神入化,我们还能找到更多这样的站点。
    Canvas Demos
    有一系列关于 Canvas 的应用,从
    各种在线游戏
    ,到
    从网页上提取颜色

    Rainbow
    应用。

    关于视频,最典型的例子莫过于
    YouTube

    Vimeo
    ,他们都提供了 HTML5 版本。

    HTML5 地理信息定位

    点击地图中,黄色小人上方的圆圈,可以告诉 Google 地图你的地理位置

    HTML5 的另一个功能是地理信息定位功能,一些浏览器提供了
    geolocation API
    ,这个 API 也由 W3C 管理,可以结合 HTML5 实现你当前地理位置定位。
    Google Maps
    在使用该功能,在 Google 地图上,有一个小圆圈,点击一下,就能告诉 Google 地图你现在的地理位置。目前,Geolocation API 并没有被众多桌面浏览器广泛采用(只有 Chrome 和 Firefox 3.6+ 采用了),但 Google Gears 插件可以帮助那些旧浏览器实现该功能。

    Twitter
    借此实现地理信息感知的 tweets 消息,当浏览器支持 geolocation API 的时候,会自动使用该 API,否则,则使用 Google Gears。

    HTML5 的更多意义

    HTML5 的意义远不止上面这些,它最大的意义在于改变了 Web 文档的结构方式,借助 header, footer, section, article 这些标签,我们可以实现更具结构化,语义化的 Web 文档。这样,搜索引擎可以更容易索引 Web 站点,我们也可以搜索到更快,更准确的信息。

    HTML,中文直意为“超级文本标记语言"。万维网(W3C)发明至今,已逐渐成为了网页标记语言的行业规范,html5是构成网页的一种标记编写语言(HTML)的第五次重大修改。
    HTML5行业发展趋势
    伴随着HTML5兴起的是Flash的没落,HTML5能打败在多媒体领域称霸多年的Flash,除了移动设备的跨平台性和较好的多媒体支持外,它的应用范围也广于Flash。比如,Flash动画作品的复用性极低,基本没有模板市场,而HTML5却能作为基础填充材料,用来制作报纸图文等模板。
    如何选择html5培训学校
    选择品牌大口碑好的培训学校,一来保证教学质量,二来保障就业问题。作为一家全国知名的IT培训机构,千锋教育HTML5培训中心在培养学员开发能力与学习能力同时,另外通过项目实践方式对学员进行测试,来提升学员们的职场竞争力,让学员毕业即可胜任各类商业项目案例的研发与制作,轻松实现就业。

  3. H5就是HTML5;
    HTML,中文直意为“超级文本标记语言"。万维网(W3C)发明至今,已逐渐成为了网页标记语言的行业规范,html5是构成网页的一种标记编写语言(HTML)的第五次重大修改。
    HTML5行业发展趋势
    伴随着HTML5兴起的是Flash的没落,HTML5能打败在多媒体领域称霸多年的Flash,除了移动设备的跨平台性和较好的多媒体支持外,它的应用范围也广于Flash。比如,Flash动画作品的复用性极低,基本没有模板市场,而HTML5却能作为基础填充材料,用来制作报纸图文等模板。
    如何选择html5培训学校
    1. 看企业口碑。
    口碑好的培训机构必有一定的实力,也代表市场对其的认可。
    2.看培训机构的师资力量。
    师资是一个HTML5培训机构的核心资源,一个合格的HTML5讲师首先要拥有多年项目实战经验,更要熟悉最新HTML5技术和动态,这样才能保证授课中理论结合实践,提高学员的就业工作能力。如果机构本身能出版教材、免费视频教程,这样的机构应作为首选,因为这样的机构整体师资实力肯定要强于只会拿别人教材讲课的机构。
    3.学员就业情况。
    学员的就业率、就业薪资水平从一定程度上反映了培训机构的教学水平、培训课程与市场结合情况。这里要特别说明一下,学习是个人与讲师互相配合、自我努力的过程。在如今的企业择优录用、优胜劣汰的竞争环境下,那种不问学员基础条件、承诺包就业的机构需要慎重选择。
    4.课程安排是否合理。
    学习HTML5开发关键要摆好心态,我觉得学HTML5开发,首先心态要好,不要想着我已经学习很长时间了,可以找个好工作,可以赚钱了,牛人除外,不过大多都是普通人。 先慢慢培养兴趣下定决心,然后开始找资料,找视频,查百度。等你觉得这些基础的都差不多理解了,那就别看书,将精力集中于界面开发、一定的数据库开发、通讯接口开发、协同开发与联调。然后自己设计个东西,可以涵盖他们的,做个自己想做的东西出来,虽然可能很难,但是你会在过程中学到很多,是别人教不会你的。

    HTML5从入门到精通免费教程分享啦。兄弟你还在等什么?HTML5是一种编程语言,最近在微信中也很火与H5 这个称呼也是HTML5的一种缩写方式。HTML5变成语言比jsp都好。日后发展还是在于HTML5编程语言的天下。掌握HTML5就等于掌握了先机。通俗点来说就是HTML的升级版,把一些原来没有的功能完善上去了,并以此来制定标准,至于更新的内容,需要你作两者比对才能了解清楚。HTML5是什么

    一个假借人们对HTML的『跨平台』和『易发布』特性的期待,而拙劣的模拟 native 的平台。

    和Java一样,HTML从来不是『跨平台』,它就是平台。
    比Java强一些,HTML与hosting平台的融合性更好。比如它的control一般都是native。但是比Java更差,HTML的跨平台一致性很差。开发者能容忍它是因为很长一段时间里,分布式系统和互联网没有更好的发布手段。
    开发者能容忍HTML还因为它够简单,所以不同平台上的差异容易弥合。但是HTML5改变了这一切。它的canvas和video就是分裂的前兆。如果HTML5不能以WebKit这样的code base作为唯一平台,分裂指日可待。
    HTML发布优势,在mobile平台上从来没有成功。而在桌面上也已经被众多语言和框架的auto-update功能排挤。

    给外行解释HTML5

    给外行解释技术,通常要用到类比手法,抓准HTML5的特征,然后在对方擅长的领域举例。html5的特征有哪些?

    标准,html5并不是一种新的语言而是一个新的标准,新的api,新的规范。
    革新,html5相对与之前的版本带来了大量的更新,让复杂的事情变简单,让不可能变为可能
    缺点,依赖浏览器的更新换代,只是还是少部分人的玩物。
    如果让我举例的话,我会这样比喻:过去的html就像你我身上穿着的衣服,而html5则是米兰、巴黎时尚T台上模特们的新装。新鲜悦目、其中一些内容能够在不久将来进入我们的生活,但不是现在,也有人说,就是现在。

    给小白程序员解释HTML5

    给普通人讲首先要强调结果,介绍HTML5对他们的影响:
    让你不用装Flash,浏览器不再崩溃,笔记本和手机更省电;
    让你在浏览器里玩愤怒的小鸟;
    让你上大众点评不用搜索,而是直接点“附近”;
    让你不打字直接用语音输入文字。

  4. 用纯CSS实现图片的即不变形拉伸,同时又占满容器宽度的布局。
    几乎所有的网站在实现这样的布局时都是使用JS计算实现,我在最早看到这种布局时也是觉得CSS没办法实现这样的布局,直到我看了《CSS Secrets》这本书,开始思考能否用纯CSS实现这种布局,没有想到最终真的只用CSS做出来了。如果想了解具体如何实现可以阅读我博客的文章:使用纯 CSS 实现 Google Photos 照片列表布局 · Issue #4 · xieranmaya/blog · GitHub

    刚在简书上看到一篇文章【用 HTML 和 CSS 来打造一个自己的「大白(●—●)」】,然后去实验楼看了原来的课程内容,很赞啊:

    Web – 打造网页版「大白」
    而且实验楼上也有很多比较好玩的前端项目:

    Web – JavaScript实现玫瑰花
    Web – SCSS(SASS)画小黄人
    Web – 一起来抽奖吧
    Web – 网页版扫雷
    Web – Ajax歌词同步播放器
    ……

    我把内容也转载过来了,给作者说过,可以看看:

    文/小柑(简书作者)
    原文链接:用 HTML 和 CSS 来打造一个自己的「大白(●
    著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

    注:本文转载自实验楼课程【打造网页版「大白」】,转载请注明出处~

    还记得《超能陆战队》里的 “暖男” -「大白」 么?是不是很想拥有一个?我们就利用 HTML 和 CSS 来打造一个自己的「大白」吧!

    最终的成果是这样滴,是不是萌萌哒……

    PS:您最好对 HTML 和 CSS 有一定的了解,但如果你是小白也没关系,小白见「大白」也是可以的!

    再PS:这个「大白」的教程步骤是基于实验楼环境制作的,你也可以上实验楼在线查看该课程~
    一、准备工作

    进入到 /home/shiyanlou/ 目录下,新建空白文档:

    命名为 Baymax.html (其它名字也可以,但后缀名必须是 .html):

    使用 gedit 打开,准备编辑代码:

    二、编写 HTML

    填写以下代码:
    <!doctype html>
    <html>
    <head><meta charset="utf-8"><title>Baymax</title></head>
    <body>

    <div id="baymax">

    <!– 定义头部,包括两个眼睛、嘴 –>
    <div id="head">
    <div id="eye"></div>
    <div id="eye2"></div>
    <div id="mouth"></div>
    </div>

    <!– 定义躯干,包括心脏 –>
    <div id="torso">
    <div id="heart"></div>
    </div>

    <!– 定义肚子腹部,包括 cover(和躯干的连接处) –>
    <div id="belly">
    <div id="cover"></div>
    </div>

    <!– 定义左臂,包括一大一小两个手指 –>
    <div id="left-arm">
    <div id="l-bigfinger"></div>
    <div id="l-smallfinger"></div>
    </div>

    <!– 定义右臂,同样包括一大一小两个手指 –>
    <div id="right-arm">
    <div id="r-bigfinger"></div>
    <div id="r-smallfinger"></div>
    </div>

    <!– 定义左腿 –>
    <div id="left-leg"></div>

    <!– 定义右腿 –>
    <div id="right-leg"></div>

    </div>
    </body>
    <html>

    三、添加 CSS 样式

    我们已经使用 HTML 定义好「大白」的各个元素,现在就需要利用到 CSS 来绘制它的样式外表。
    由于「大白」是白色的,为了更容易辨识,我们把背景设为深色。
    然后首先是头部:
    body {
    background: #595959;
    }

    #baymax{
    /*设置为 居中*/
    margin: 0 auto;

    /*高度*/
    height: 600px;

    /*隐藏溢出*/
    overflow: hidden;
    }

    #head{
    height: 64px;
    width: 100px;

    /*以百分比定义圆角的形状*/
    border-radius: 50%;

    /*背景*/
    background: #fff;
    margin: 0 auto;
    margin-bottom: -20px;

    /*设置下边框的样式*/
    border-bottom: 5px solid #e0e0e0;

    /*属性设置元素的堆叠顺序; 拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面*/
    z-index: 100;

    /*生成相对定位的元素*/
    position: relative;
    }
    效果预览:

    赶紧再来添加眼睛和嘴吧!
    #eye,
    #eye2{
    width: 11px;
    height: 13px;
    background: #282828;
    border-radius: 50%;
    position: relative;
    top: 30px;
    left: 27px;

    /*旋转该元素*/
    transform: rotate(8deg);
    }

    #eye2{
    /*使其旋转对称*/
    transform: rotate(-8deg);
    left: 69px; top: 17px;
    }

    #mouth{
    width: 38px;
    height: 1.5px;
    background: #282828;
    position: relative;
    left: 34px;
    top: 10px;
    }
    一个 mini 的「大白」,雏形初现:

    接下来是躯干和腹部:
    #torso,
    #belly{
    margin: 0 auto;
    height: 200px;
    width: 180px;
    background: #fff;
    border-radius: 47%;

    /*设置边框*/
    border: 5px solid #e0e0e0;
    border-top: none;
    z-index: 1;
    }

    #belly{
    height: 300px;
    width: 245px;
    margin-top: -140px;
    z-index: 5;
    }

    #cover{
    width: 190px;
    background: #fff;
    height: 150px;
    margin: 0 auto;
    position: relative;
    top: -20px;
    border-radius: 50%;
    }
    赋予「大白」象征生命的心脏:
    #heart{
    width:25px;
    height:25px;
    border-radius:50%;
    position:relative;

    /*向边框四周添加阴影效果*/
    box-shadow:2px 5px 2px #ccc inset;

    right:-115px;
    top:40px;
    z-index:111;
    border:1px solid #ccc;
    }
    现在的「大白」是这个样子的了:

    还没有手和脚,怪萌怪萌的…「大白」需要温暖的手臂:
    #left-arm,
    #right-arm{
    height: 270px;
    width: 120px;
    border-radius: 50%;
    background: #fff;
    margin: 0 auto;
    position: relative;
    top: -350px;
    left: -100px;
    transform: rotate(20deg);
    z-index: -1;
    }

    #right-arm{
    transform: rotate(-20deg);
    left: 100px;
    top: -620px;
    }
    还没有手指头呢:
    #l-bigfinger,
    #r-bigfinger{
    height: 50px;
    width: 20px;
    border-radius: 50%;
    background: #fff;
    position: relative;
    top: 250px;
    left: 50px;
    transform: rotate(-50deg);
    }

    #r-bigfinger{
    left: 50px;
    transform: rotate(50deg);
    }

    #l-smallfinger,
    #r-smallfinger{
    height: 35px;
    width: 15px;
    border-radius: 50%;
    background: #fff;
    position: relative;
    top: 195px;
    left: 66px;
    transform: rotate(-40deg);
    }

    #r-smallfinger{
    background: #fff;
    transform: rotate(40deg);
    top: 195px;
    left: 37px;
    }
    有点意思了:

    迫不及待要给「大白」加上腿了吧:
    #left-leg,
    #right-leg{
    height: 170px;
    width: 90px;
    border-radius: 40% 30% 10px 45%;
    background: #fff;
    position: relative;
    top: -640px;
    left: -45px;
    transform: rotate(-1deg);
    z-index: -2;
    margin: 0 auto;
    }

    #right-leg{
    background: #fff;
    border-radius:30% 40% 45% 10px;
    margin: 0 auto;
    top: -810px;
    left: 50px;
    transform: rotate(1deg);
    }
    duang~ duang~ duang~ 特技完成!

    先不说3d效果,就论一个平面上的话,

    只用一行div,无js,就可以画一幅世界名画蒙娜丽莎,CSS博大精深→ _→

    Mona Lisa with pure CSS

    虽然作者不是手写的,但至少另一个角度说明css可以做到这样的效果,画画不只有canvas,svg等。。。

    下面有小伙伴提到了刚出来时很火的“纯CSS技术画出30个濒危动物图片”,这里一并列出并给出网址,

    “30个物种,30中碎片拼图。”点开这场展览的网站主页,空灵的背景音乐引入了颜色饱满的多边形图案,配合着30种濒危动物的文字介绍。而之所以叫“30片三角”,是因为James起初在摆弄编程的时候,第一幅成型的作品“夏威夷乌鸦”,刚刚好是30片三角形拼接而成。

    但这次展览拼的不是技术或着艺术。伴随30只生命样貌的切换,一幅幅几何状组合的破碎,设计师试图展现过去10年来栖息地遭受破坏是如何把动物推向灭绝的边缘——曾是 2014 年巴西世界杯吉祥物的三带犰狳( Three-Banded Armadillo of Brazil)数量减少了 30%,新几内亚岛上的原针鼹鼠( Long-Beaked Echidna )因人类的狩猎而在过去 35-40 年间减少近 80%。

    官方网址:
    30个CSS碎片拼图,30种濒临灭绝动物(官网需要fanqiang查看)

    无论是背景音的选用,还是动物样貌之间的切换,抑或是细节处的动效展现,再加上主题的升华,有技术有内涵,这是一部成功的作品。

    可以闲来无事画画小动物:

    打打灰机:
    Airplane (Pure CSS)

    CSS Faces

    这些都是静止的,想想再加上各种动画,也可以做出很多效果出来的。

    CSS3D苹果笔记本动画:
    这又是一款超酷的CSS3 3D动画效果,它是一款带有3D视觉效果,并且可以360度旋转的macbook air。这款CSS3 3D动画的笔记本底部有一个逼真的投影,可以跟随图片一起转动,从而凸显其3D效果,是一款很不错的CSS3 3D动画特效
    CSS3 3D 苹果笔记本动画DEMO演示

    还有

    CSS3扇形动画菜单DEMO演示

    HTML5超级玛丽体验:
    HTML5³¬¼¶ÂêÀö

    我们知道js在web方面能做很多事
    有一句话说:限制你的可选项,会让你重新评估手头上已有的工具。
    如果只让你用css,能完成某项任务吗?而这个任务中,只用一个div,全靠css属性来实现效果,可以吗?
    可以看看翻译的一篇
    基于单个 Div 的 CSS 绘图 – 前端外刊评论 – 知乎专栏:
    “为了得到更大的挑战,探索 CSS 的潜力,我给自己定了这个限制,只是用一个 Div。不能直接买一只绿色的笔(添加更多的 Div),我要做的就是尽其所能地结合 CSS 属性来实现我的目的。”

    以下这些都是基于一个div所做的:
    css可以用来做图像,做完图像还可以用css添加动画,能做成什么样还要看你的想象力了。再加上合适的主题,就能做出一件成功的作品。
    还有动态的车子:
    Bike Season

    上面两个例子来自can you code this ui
    https://stories.uplabs.com/can-you-code-this-ui-4530315290a1#.65da2m9rs

    css可以用来做图像,做完图像还可以用css添加动画,能做成什么样还要看你的想象力了。再加上合适的主题,就能做出一件成功的作品。
    如果你真的闲,做一个每个单元格1px*1px的表格铺满屏幕,配合 animation 你可以做一部电影出来。
    就像是那些拿 Excel Word 来作画的人一样,说实话我并没有觉得那些人有多厉害。
    上面很多回答虽然很炫,但是几乎没有任何使用价值。
    把技术用来做它适合做的事才是智慧。
    算是抖机灵的回答么?
    不知道国内的能不能打开这个链接,反正我第一次看就被惊艳了
    CodePen – Chill the lion

    Tree.js 写的,如果打不开请留言告诉我,我挪个地方再展示

    ——————–
    我才注意到题目里要求只用html5 css

    同一个作者其他作品:
    Sneeze the dragon
    Paranoid vs shy birds
    Mighty fish
    Saturn

    css画的海贼王
    http://liujuping.github.io/cssDraw/
    开始是看到一张动图,非常喜欢,想实现。好几次觉得实现不了,但是不愿意放弃。特别是火焰的效果,第一次真的是一点一点移出来的啊,后面机智了一下下,用sass写了个函数,用js辅助(用于产生sass数据),可以在页面直接点击,生成一个个小火焰,并且输出函数的参数格式的数据。
    慢慢画,终于完成了。
    手动画的可能不是很逼真,但是火焰的效果挺好的。
    之后用js实现的,和原图一样,可以对比下。
    http://liujuping.github.io/cssDrawTool/demo.html
    和之前看到的蒙娜丽莎一样,用像素点和box-shadow实现的。
    现在对前端,我只觉得,只要想做,就肯定有办法实现。没有做不到,只有想不到。

  5. 目前HTML5标准的制定工作还在进行中,最规范最齐全的指南当然是HTML5规范本身: http://dev.w3.org/html5/spec/Overview.html

    如果觉得规范太详细、太难读、太催眠,可以退而求其次,读 HTML5 reference – a web developer’s guild,它可以看作是规范的精简版本,讲解了主要属性和参数,读起来轻松很多: http://dev.w3.org/html5/html-author/

    书籍资源的话,有以下:

    《pro HTML5 programming》(人邮出版社,《HTML5高级程序设计》)
    这本书的主要价值是讲到了其他HTML5资源少讲到的一些如Geolocation、Web Socket、Workers和跨文档消息通信,如果你的网站需要用到以上的这些技术,那这本书应该适合你。翻译不错。

    这本书的缺点是实用性差,太前瞻,像Web Worker这种功能,目前所有阅览器没法支持,只能模拟。

    《HTML5 up and running》(电子工业出版社,《HTML5揭秘》)

    《HTML5 up and running》其实也就是开源图书《dive into HTML5》,可以免费阅读: http://diveintohtml5.info/

    这本书(英文版)只是略读过其中两章,丰富的配图加上一些有趣的相关插叙,读起来很轻松。

    主要内容覆盖了大部分现阶段能用的HTML5功能。

    《HTML5 and CSS3》(The Pragmatic Bookshelf,这本好书似乎还没有出版社在翻译,可惜)

    这本书不但介绍了HTML5,还介绍了CSS3,另外还提供详细的fall back tips,讲解如何让旧阅览器使用HTML5的新功能,是推荐的三本书中实用性最好的。

    这也是我翻得最多的一本书。

    总结一下,如果你在构造像是聊天室、LBS这类网站功能性需求很强的网站,那《pro HTML5 programming》适合你。

    如果你的网站比较简单,而且你只是想做像是“将网站内的 < div = "header" > 改成 < header > ”、“把input里的输入提示从java script改成原生HTML5提示”这类小改进,那《HTML5 up and running》和《HTML5 and CSS3》都可以。

    如果你是HTML5或者CSS3新手,或者你的网站对向后兼容性要求很高,那推荐《HTML5 and CSS3》。

    新出了一本《图解CSS3》,不知道是否有帮助:《图解CSS3:核心技术与案例实战》CSS极力推荐 CSS: The Definitive Guide, 3rd Edition – O’Reilly Media
    https://www.amazon.cn/CSS%E6%9D%83%E5%A8%81%E6%8C%87%E5%8D%97-%E8%BF%88%E8%80%B6/dp/B0011F5SIC/ref=sr_1_1?ie=UTF8&qid=1460033047&sr=8-1&keywords=css+%E6%9D%83%E5%A8%81%E6%8C%87%E5%8D%97

    另外顺便安利一下O’ Reilly Media系列的书,这个可以直接亚马逊上搜。
    至于HTML,我觉得应该直接看W3cschool的在线教程应该也够了。

    <HTML&CSS design and build website>
    这绝对是我见过最好看的书了,中文版貌似也有,只是不知道叫什么名字
    在读这本书的时候得到了很多设计网站的灵感,而且其实这本书你不需要去读它,你可以把它当成一本CSS和HTML的代码手册。
    书编排的很有条理,而且图文并茂,这本书自己就是一个信息媒介设计(网站和书的本质都是一样的,都是传播信息的一个媒体,平台)的典范。

    强烈推荐之,amazon上面还可以look inside,而且评分是4.5+(out of 5),这本书是受到大众一致认可的,可惜的是在国内一直不温不火,看来各位码农还是习惯于看那种大段大段文字+黑白图片的书吗?

    P.S.:这本书在网页设计和HTML&CSS类书籍里一直是第一哦
    1、Essentital c++—lippman—C++之父,旁枝暂略,主攻核心,轻薄短小,初学者
    2、The c++ programming language—-C++之父,技术权威,用词深峻,思想深远,c++百科全书代表,圣经。
    3、c++ Primer—-lippman—纵横书市十数年,c++最佳教本,c++百科全书代表。
    4、Inside the c++ object model—–lippman—-揭示c++底层,非常好,非常难。
    5、Effective c++—–通过50个编程实例,展示专家经验,行文有趣,深处浅出。
    6、More Effective c++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。
    7、The c++ standard libray---c++标准库的百科全书。
    8、设计模式:可复用面向对象软件的基础------good!

    HTML 是标记语言,不具备图灵完备性,应该不算编程语言。HTML5感觉更像一个平台,而不是一个语言。html5 包含 html等基础标记,有人也把 css3 划归到html5里面,更具划时代意义的是html5 提供了很多 js 的api,通过 js 调用这些api可以做到很多完备编程语言的事情。
    用一个不恰当的比喻,编程语言是厨师,编写一个程序就是做一道菜。html5 就像一个厨房,js 是一个厨师,css类似各种调料,html5 新的api 就像冰箱和各种厨具。厨房提供原料让厨师做菜。

    一套(计算机)语言是制定了一系列特定语法结构所表征含义的协议。
    HTML是人与HTML解析器(解析、呈现)之间的协议,一个特定的HTML文本试图通过HTML定义的标记规则来表征一个网页的布局和内容,里面可以嵌入也可以从外部引用静态修饰布局和内容的另一个语言(协议)称为CSS,也可以嵌入或从外部引用动态设定布局和内容的一个「编程语言」,例如 JavaScript。
    编程语言是人与程序编译器(compiler)或解读器(intepreter)之间的协议,规定了特定语法结构所表征的执行过程,对于命令式编程语言(imperative programming language)和函数式编程语言(functional programming language),这种解读有所不同,但总得是表征执行性的内容,而非表征静态的布局和内容。

    算不上编程语言,就字面理解,编程至少重点是程序,需要通过繁杂的逻辑指令达到一定的功能或者是模拟一些行为,HTML5只是一门标记语言,重在标记和承载。
    所以HTML5是一种信息的存储和管理。编程语言是逻辑处理和执行。<button>
    计算
    <v:touch>
    <v:if condition="balabala">
    <v:branch value="true">
    结果:表达式为真哦
    </v:branch>
    <v:branch value="false">
    结果:表达式为假哦
    </v:branch>
    </v:if>
    </v:touch>
    </button>
    从来没有人规定html不能这么写对吧(你妹上面是xml吧)。啥,你问我他怎么执行?有js啊亲。
    等等,你说用到了js所以html本身不是语言?那我们来谈谈用到了C++编译器的C++是不是语言的问题吧?

    PS:不管怎么说我还是认为html 不是语言。

  6. html作为一门标记语言,更重要的作用是作为信息的呈现载体,注重信息的呈现形式。
    而编程语言的作用更多的在于对信息的收集,筛选和整理这个逻辑过程。
    html5中出现了很多的新特性,但总体还是更偏重于信息的呈现方式,而不是对信息本身的处理。
    当然,这只是对开发者来说。对于用户来说,究竟html5是不是编程语言无关紧要。
    而且,不能因为现状就保证它会始终如此,毕竟它是在不断发展的,标记语言和编程语言的界限也会越来越模糊。谁说的清楚明天会变成什么样子。
    什么叫“编程语言”,没有一个清晰的定义。
    如果把编程语言定义为“编程过程中用到的计算机语言”,那么可以把HTML5视为一种编程语言。
    而如果把编程语言定义为“描述逻辑的计算机语言”,则HTML5几乎不算是。这里说“几乎”是因为CSS3还是有一点点逻辑描述能力的
    编程语言(programming language),又称程序设计语言(program design language,简称PDL),是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
    单说定义语法规则的话,我觉得标记语言也可以算作编程语言,解释器会把它转换成计算机指令;但是“让程序员准确定义计算机所需要使用的数据”这一句我也不太理解其确切含义,私下猜测是应当包含变量或者类似变量这样的东西,那么HTML里的id和class这类东西可不可以算是这个范畴呢?我也不知道。

    对于HTML5很多人不了解,为了能帮助大家认识,我们从一个程序员的角度,为大家解说一下HTML5是什么!
    我要说明的就是HTML5 不是一门编程语言!有一些朋友误把HTML5理解为一种编程语言.
    在狭义上HTML5是不具备图灵完备,不算编程语言,html5 包含 html等基础标记。
    而在广义上,HTML5感觉更像一个平台,而不是一个语言。有人也把 css3 划归到html5里面,更具划时代意义的是html5 提供了很多 js 的api,通过 js 调用这些api可以做到很多完备编程语言的事情。
    对于HTML5包括了js API+CSS3,这就算是编程语言了?
    html5提供了接口,不能算编程语言,操作的是javascript。
    而对于HTML5 是一门编程语言吗?「HTML5」这个称谓的确也包含了对一些JS API 的定义,虽然本身不是编程语言,但「HTML5 Programming」的说法我认为还是可以说通的。就像「iOS Programming」这样。否则「Programming」前的名词就只能是编程语言了。
    当然从英语角度,可以解释为 programming via HTML5!
    HTML5叫做一种代码规范标准更合适。html作为一门标记语言,更重要的作用是作为信息的呈现载体,注重信息的呈现形式。而html5中出现了很多的新特性,但总体还是更偏重于信息的呈现方式,而不是对信息本身的处理。
    当然,这只是对开发者来说。对于用户来说,究竟html5是不是编程语言无关紧要。因为HTML对开发者来讲,是嫁衣不是新娘。
    最后,HTML5 是一门编程语言吗?最基本的一个问题是,编程语言是为了解决一个问题,通过给计算机处理问题的逻辑指令从而得到相应结果的一种人机交互语言,html5是标记语言,其本质是信息载体,并不具备处理问题逻辑的能力,所以不是编程语言。

    从长远来看,HTML5从入门到精通已经挤占Flash大部分的市场,但Flash主要是在游戏开发方面还是会有一块生存空间。
    功能上:现代浏览器正在迅速地拓展javascript的应用范围: 原生的视频/音频API,2D绘图有Canvas,3D有WebGL,即时通信有WebSockets,还有Local Storage。正在讨论并有可能会在将来加入标准的API还有Geolocation(地理位置),File API(更强大的上/下传),WebStorage(加强版cookie),甚至还有本地文件处理能力等。Flash现阶段在功能已经没有太大优势可言,作为流媒体解决方案暂时还有一席之地,但浏览器原生API普及之后被取代是迟早的事情。在数据存储和本地操作方面,由于是一个插件,更是受到各种安全性的制约。 (这里基于web,不讨论Air)

    性能上:曾经Flash在整体性能上具有明显优势,AS3是编译语言,在虚拟机上运行效率比当年的javascript要快很多。但是现在各大浏览器都注重了javascript引擎的优化,尤其是Chrome的V8,单纯在代码运行的效率上已经和AS3并驾齐驱。但是在2D动画上,Flash的优势依然明显,即使是在Chrome上,平均fps依然要比canvas高出一截。另外Flash本身的IDE对矢量图的支持也是Canvas所不具备的。从这一点来看,Flash在依赖大量2D图像的游戏上仍然保持着绝对优势。3D方面,Flash Player通过Molehill API获得了GPU支持,而WebGL也是直接调用GPU的,性能上没有太大差别,主要是开发上API和第三方3D引擎的比较,这方面Flash显然更为成熟,但js正迎头赶上。

    语言上:AS3本身是从ECMAScript(也就是javascript的ISO标准的正式名称)拓展出来的,但是提供了更完善的类型支持,风格上变得更接近于java,在复杂的OO项目上要比js更容易管理。Javascript本身是一个很独特的语言,兼具OOP, imperative和functional的风格,但是对类型的支持很弱(prototype-based),这使得用js开发复杂的项目比较麻烦,但是近来随着js的升温,各种针对js的design pattern和模块化js库相继出现,借助它们也可以有效的加强js代码的结构性。另外需要指出的是js现在的应用范围已经远远超越了浏览器内部,Node.js提供了一个基于V8引擎的js运行环境,使得js可以用来作为服务器语言,也可以用来写各种命令行工具。其他也有如MongoDB就是使用js的数据库。javascript的未来应用前景要比AS3广泛的多。
    平台支持上:Flash是嵌入型的,只要能运行,那么在它本身的虚拟机内就不存在兼容性的问题,只存在版本的问题;而Flash Player的版本更新adopt rate向来是非常高的。这一点上对开发者而言少了很多麻烦。HTML5最令人头痛的就是参差不齐的浏览器兼容性,这也是现阶段HTML5最大的硬伤。但是HTML5在平台上也有一个明显优势,那就是越来越重要的移动平台上,HTML5的支持情况要好很多很多(iOS支持几乎所有的HTML5 API和CSS3属性,而大多数移动浏览器都是HTML5支持良好的webkit内核),相比之下Flash在iOS上直接出局,也是一个硬伤。从长远来看,HTML5还是绝对赢家,因为浏览器支持度只会越来越好,而移动平台上Flash已经没有竞争力,Adobe最近已经宣布停止了移动平台上Flash Player的继续开发。

    额外一点:在相当多的大型企业内部,都有很多昂贵的内部专用的网络应用,因为开发年代久远,都是针对IE6开发的,一旦不用IE6就要出问题。更新浏览器意味着要替换这些应用,耗费会很大,加上这些企业的管理层不懂技术,往往不愿意这么做。而开发新应用的时候,开发者就必须要针对IE6开发,这就给了Flex应用一个独特的生存空间:在IE6里也可以提供丰富的界面和复杂的功能要求。不过这一点随着时间的推移,迟早也是要不成立的。

    要知道HTML5或者说H5,他们两个是同一个东西,后者是前者的简称,首选我们谈一下之前的HTML。
    之前的HTML是HTML4.01,1999年发布的,然后现在的HTML5是2014年10月发布的,他们都属于HTML,代表HTML不同的版本。然后HTML5可以说是功能更强大,糅和了HTML、CSS、JavaScript,跟贴近了当前的环境,同时它的兼容性应该更好。
    至于HTML5的特点有哪些,这里先mark一下。

    ML — mark language 标记语言,是一种描述性的语言。

    编程语言一般要实现条件分支,循环,变量运算等,所以从此角度看,不算编程语言。编程语言”应该是指“通用编程语言”(generic programming language),即可以执行任何计算,理论上就是要看该编程语言是否是“图灵完备”(Turing completeness)的,图灵完备是指可以完全模拟图灵机。
    注:所谓“计算”即定义为图灵机所能执行的计算,图灵完备即保证编程语言可执行任何计算。
    回到问题本身,HTML是一个标记语言,本身并不执行计算,如果把JavaScript也算作HTML一部分的话当然是图灵完备的。

    HTML的英文全称为Hyper Text Markup Language,即超文本标记语言。HTML5是HTML的一个新版本。HTML 不是一种编程语言,而是一种标记语言 (markup language)。
    HTML5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改。
    HTML5特性
    语义特性(Class:Semantic)
    HTML5赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa的,微数据与微格式等方面的支持,构建对程序、对用户都更有价值的数据驱动的Web。
    本地存储特性(Class: OFFLINE & STORAGE)
    基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。Indexed DB(html5本地存储最重要的技术之一)和API说明文档。
    设备兼容特性 (Class: DEVICE ACCESS)
    从Geolocation功能的API文档公开以来,HTML5为网页应用开发者们提供了更多功能上的优化选择,带来了更多体验功能的优势。HTML5提供了前所未有的数据与应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,例如视频影音可直接与microphones及摄像头相联。
    连接特性(Class: CONNECTIVITY)
    更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能。
    网页多媒体特性(Class: MULTIMEDIA)
    支持网页端的Audio、Video等多媒体功能, 与网站自带的APPS,摄像头,影音功能相得益彰。
    三维、图形及特效特性(Class: 3D, Graphics & Effects)
    基于SVG、Canvas、WebGL及CSS3的3D功能,用户会惊叹于在浏览器中,所呈现的惊人视觉效果。
    性能与集成特性(Class: Performance & Integration)
    没有用户会永远等待你的Loading——HTML5会通过XMLHttpRequest2等技术,解决以前的跨域等问题,帮助您的Web应用和网站在多样化的环境中更快速的工作。
    CSS3特性(Class: CSS3)
    在不牺牲性能和语义结构的前提下,CSS3中提供了更多的风格和更强的效果。此外,较之以前的Web排版,Web的开放字体格式(WOFF)也提供了更高的灵活性和控制性。

  7. html作为一门标记语言,更重要的作用是作为信息的呈现载体,注重信息的呈现形式。
    而编程语言的作用更多的在于对信息的收集,筛选和整理这个逻辑过程。
    html5中出现了很多的新特性,但总体还是更偏重于信息的呈现方式,而不是对信息本身的处理。
    当然,这只是对开发者来说。对于用户来说,究竟html5是不是编程语言无关紧要。
    而且,不能因为现状就保证它会始终如此,毕竟它是在不断发展的,标记语言和编程语言的界限也会越来越模糊。谁说的清楚明天会变成什么样子。
    什么叫“编程语言”,没有一个清晰的定义。
    如果把编程语言定义为“编程过程中用到的计算机语言”,那么可以把HTML5视为一种编程语言。
    而如果把编程语言定义为“描述逻辑的计算机语言”,则HTML5几乎不算是。这里说“几乎”是因为CSS3还是有一点点逻辑描述能力的
    编程语言(programming language),又称程序设计语言(program design language,简称PDL),是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
    单说定义语法规则的话,我觉得标记语言也可以算作编程语言,解释器会把它转换成计算机指令;但是“让程序员准确定义计算机所需要使用的数据”这一句我也不太理解其确切含义,私下猜测是应当包含变量或者类似变量这样的东西,那么HTML里的id和class这类东西可不可以算是这个范畴呢?我也不知道。

    对于HTML5很多人不了解,为了能帮助大家认识,我们从一个程序员的角度,为大家解说一下HTML5是什么!
    我要说明的就是HTML5 不是一门编程语言!有一些朋友误把HTML5理解为一种编程语言.
    在狭义上HTML5是不具备图灵完备,不算编程语言,html5 包含 html等基础标记。
    而在广义上,HTML5感觉更像一个平台,而不是一个语言。有人也把 css3 划归到html5里面,更具划时代意义的是html5 提供了很多 js 的api,通过 js 调用这些api可以做到很多完备编程语言的事情。
    对于HTML5包括了js API+CSS3,这就算是编程语言了?
    html5提供了接口,不能算编程语言,操作的是javascript。
    而对于HTML5 是一门编程语言吗?「HTML5」这个称谓的确也包含了对一些JS API 的定义,虽然本身不是编程语言,但「HTML5 Programming」的说法我认为还是可以说通的。就像「iOS Programming」这样。否则「Programming」前的名词就只能是编程语言了。
    当然从英语角度,可以解释为 programming via HTML5!
    HTML5叫做一种代码规范标准更合适。html作为一门标记语言,更重要的作用是作为信息的呈现载体,注重信息的呈现形式。而html5中出现了很多的新特性,但总体还是更偏重于信息的呈现方式,而不是对信息本身的处理。
    当然,这只是对开发者来说。对于用户来说,究竟html5是不是编程语言无关紧要。因为HTML对开发者来讲,是嫁衣不是新娘。
    最后,HTML5 是一门编程语言吗?最基本的一个问题是,编程语言是为了解决一个问题,通过给计算机处理问题的逻辑指令从而得到相应结果的一种人机交互语言,html5是标记语言,其本质是信息载体,并不具备处理问题逻辑的能力,所以不是编程语言。

    从长远来看,HTML5从入门到精通已经挤占Flash大部分的市场,但Flash主要是在游戏开发方面还是会有一块生存空间。
    功能上:现代浏览器正在迅速地拓展javascript的应用范围: 原生的视频/音频API,2D绘图有Canvas,3D有WebGL,即时通信有WebSockets,还有Local Storage。正在讨论并有可能会在将来加入标准的API还有Geolocation(地理位置),File API(更强大的上/下传),WebStorage(加强版cookie),甚至还有本地文件处理能力等。Flash现阶段在功能已经没有太大优势可言,作为流媒体解决方案暂时还有一席之地,但浏览器原生API普及之后被取代是迟早的事情。在数据存储和本地操作方面,由于是一个插件,更是受到各种安全性的制约。 (这里基于web,不讨论Air)

    性能上:曾经Flash在整体性能上具有明显优势,AS3是编译语言,在虚拟机上运行效率比当年的javascript要快很多。但是现在各大浏览器都注重了javascript引擎的优化,尤其是Chrome的V8,单纯在代码运行的效率上已经和AS3并驾齐驱。但是在2D动画上,Flash的优势依然明显,即使是在Chrome上,平均fps依然要比canvas高出一截。另外Flash本身的IDE对矢量图的支持也是Canvas所不具备的。从这一点来看,Flash在依赖大量2D图像的游戏上仍然保持着绝对优势。3D方面,Flash Player通过Molehill API获得了GPU支持,而WebGL也是直接调用GPU的,性能上没有太大差别,主要是开发上API和第三方3D引擎的比较,这方面Flash显然更为成熟,但js正迎头赶上。

    语言上:AS3本身是从ECMAScript(也就是javascript的ISO标准的正式名称)拓展出来的,但是提供了更完善的类型支持,风格上变得更接近于java,在复杂的OO项目上要比js更容易管理。Javascript本身是一个很独特的语言,兼具OOP, imperative和functional的风格,但是对类型的支持很弱(prototype-based),这使得用js开发复杂的项目比较麻烦,但是近来随着js的升温,各种针对js的design pattern和模块化js库相继出现,借助它们也可以有效的加强js代码的结构性。另外需要指出的是js现在的应用范围已经远远超越了浏览器内部,Node.js提供了一个基于V8引擎的js运行环境,使得js可以用来作为服务器语言,也可以用来写各种命令行工具。其他也有如MongoDB就是使用js的数据库。javascript的未来应用前景要比AS3广泛的多。
    平台支持上:Flash是嵌入型的,只要能运行,那么在它本身的虚拟机内就不存在兼容性的问题,只存在版本的问题;而Flash Player的版本更新adopt rate向来是非常高的。这一点上对开发者而言少了很多麻烦。HTML5最令人头痛的就是参差不齐的浏览器兼容性,这也是现阶段HTML5最大的硬伤。但是HTML5在平台上也有一个明显优势,那就是越来越重要的移动平台上,HTML5的支持情况要好很多很多(iOS支持几乎所有的HTML5 API和CSS3属性,而大多数移动浏览器都是HTML5支持良好的webkit内核),相比之下Flash在iOS上直接出局,也是一个硬伤。从长远来看,HTML5还是绝对赢家,因为浏览器支持度只会越来越好,而移动平台上Flash已经没有竞争力,Adobe最近已经宣布停止了移动平台上Flash Player的继续开发。

    额外一点:在相当多的大型企业内部,都有很多昂贵的内部专用的网络应用,因为开发年代久远,都是针对IE6开发的,一旦不用IE6就要出问题。更新浏览器意味着要替换这些应用,耗费会很大,加上这些企业的管理层不懂技术,往往不愿意这么做。而开发新应用的时候,开发者就必须要针对IE6开发,这就给了Flex应用一个独特的生存空间:在IE6里也可以提供丰富的界面和复杂的功能要求。不过这一点随着时间的推移,迟早也是要不成立的。

    要知道HTML5或者说H5,他们两个是同一个东西,后者是前者的简称,首选我们谈一下之前的HTML。
    之前的HTML是HTML4.01,1999年发布的,然后现在的HTML5是2014年10月发布的,他们都属于HTML,代表HTML不同的版本。然后HTML5可以说是功能更强大,糅和了HTML、CSS、JavaScript,跟贴近了当前的环境,同时它的兼容性应该更好。
    至于HTML5的特点有哪些,这里先mark一下。

    ML — mark language 标记语言,是一种描述性的语言。

    编程语言一般要实现条件分支,循环,变量运算等,所以从此角度看,不算编程语言。编程语言”应该是指“通用编程语言”(generic programming language),即可以执行任何计算,理论上就是要看该编程语言是否是“图灵完备”(Turing completeness)的,图灵完备是指可以完全模拟图灵机。
    注:所谓“计算”即定义为图灵机所能执行的计算,图灵完备即保证编程语言可执行任何计算。
    回到问题本身,HTML是一个标记语言,本身并不执行计算,如果把JavaScript也算作HTML一部分的话当然是图灵完备的。

    HTML的英文全称为Hyper Text Markup Language,即超文本标记语言。HTML5是HTML的一个新版本。HTML 不是一种编程语言,而是一种标记语言 (markup language)。
    HTML5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改。
    HTML5特性
    语义特性(Class:Semantic)
    HTML5赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa的,微数据与微格式等方面的支持,构建对程序、对用户都更有价值的数据驱动的Web。
    本地存储特性(Class: OFFLINE & STORAGE)
    基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。Indexed DB(html5本地存储最重要的技术之一)和API说明文档。
    设备兼容特性 (Class: DEVICE ACCESS)
    从Geolocation功能的API文档公开以来,HTML5为网页应用开发者们提供了更多功能上的优化选择,带来了更多体验功能的优势。HTML5提供了前所未有的数据与应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,例如视频影音可直接与microphones及摄像头相联。
    连接特性(Class: CONNECTIVITY)
    更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能。
    网页多媒体特性(Class: MULTIMEDIA)
    支持网页端的Audio、Video等多媒体功能, 与网站自带的APPS,摄像头,影音功能相得益彰。
    三维、图形及特效特性(Class: 3D, Graphics & Effects)
    基于SVG、Canvas、WebGL及CSS3的3D功能,用户会惊叹于在浏览器中,所呈现的惊人视觉效果。
    性能与集成特性(Class: Performance & Integration)
    没有用户会永远等待你的Loading——HTML5会通过XMLHttpRequest2等技术,解决以前的跨域等问题,帮助您的Web应用和网站在多样化的环境中更快速的工作。
    CSS3特性(Class: CSS3)
    在不牺牲性能和语义结构的前提下,CSS3中提供了更多的风格和更强的效果。此外,较之以前的Web排版,Web的开放字体格式(WOFF)也提供了更高的灵活性和控制性。

  8. HTML5不会太大发展, 以后趋势应该是js框架, 例如flex里面的mxml是把常用的控件或功能用mxml的形式来表达,已达到快速入门和代码简化. 但目前js还无法做到,所以html5发展会很慢不如直接用js框架.

    从长远来看,HTML5会挤占Flash大部分的市场,但Flash主要是在游戏开发方面还是会有一块生存空间。
    功能上:现代浏览器正在迅速地拓展javascript的应用范围: 原生的视频/音频API,2D绘图有Canvas,3D有WebGL,即时通信有WebSockets,还有Local Storage。正在讨论并有可能会在将来加入标准的API还有Geolocation(地理位置),File API(更强大的上/下传),WebStorage(加强版cookie),甚至还有本地文件处理能力等。Flash现阶段在功能已经没有太大优势可言,作为流媒体解决方案暂时还有一席之地,但浏览器原生API普及之后被取代是迟早的事情。在数据存储和本地操作方面,由于是一个插件,更是受到各种安全性的制约。 (这里基于web,不讨论Air)
    性能上:曾经Flash在整体性能上具有明显优势,AS3是编译语言,在虚拟机上运行效率比当年的javascript要快很多。但是现在各大浏览器都注重了javascript引擎的优化,尤其是Chrome的V8,单纯在代码运行的效率上已经和AS3并驾齐驱。但是在2D动画上,Flash的优势依然明显,即使是在Chrome上,平均fps依然要比canvas高出一截。另外Flash本身的IDE对矢量图的支持也是Canvas所不具备的。从这一点来看,Flash在依赖大量2D图像的游戏上仍然保持着绝对优势。3D方面,Flash Player通过Molehill API获得了GPU支持,而WebGL也是直接调用GPU的,性能上没有太大差别,主要是开发上API和第三方3D引擎的比较,这方面Flash显然更为成熟,但js正迎头赶上。
    语言上:AS3本身是从ECMAScript(也就是javascript的ISO标准的正式名称)拓展出来的,但是提供了更完善的类型支持,风格上变得更接近于java,在复杂的OO项目上要比js更容易管理。Javascript本身是一个很独特的语言,兼具OOP, imperative和functional的风格,但是对类型的支持很弱(prototype-based),这使得用js开发复杂的项目比较麻烦,但是近来随着js的升温,各种针对js的design pattern和模块化js库相继出现,借助它们也可以有效的加强js代码的结构性。另外需要指出的是js现在的应用范围已经远远超越了浏览器内部,Node.js提供了一个基于V8引擎的js运行环境,使得js可以用来作为服务器语言,也可以用来写各种命令行工具。其他也有如MongoDB就是使用js的数据库。javascript的未来应用前景要比AS3广泛的多。
    平台支持上:Flash是嵌入型的,只要能运行,那么在它本身的虚拟机内就不存在兼容性的问题,只存在版本的问题;而Flash Player的版本更新adopt rate向来是非常高的。这一点上对开发者而言少了很多麻烦。HTML5最令人头痛的就是参差不齐的浏览器兼容性,这也是现阶段HTML5最大的硬伤。但是HTML5在平台上也有一个明显优势,那就是越来越重要的移动平台上,HTML5的支持情况要好很多很多(iOS支持几乎所有的HTML5 API和CSS3属性,而大多数移动浏览器都是HTML5支持良好的webkit内核),相比之下Flash在iOS上直接出局,也是一个硬伤。从长远来看,HTML5还是绝对赢家,因为浏览器支持度只会越来越好,而移动平台上Flash已经没有竞争力,Adobe最近已经宣布停止了移动平台上Flash Player的继续开发。

    额外一点:在相当多的大型企业内部,都有很多昂贵的内部专用的网络应用,因为开发年代久远,都是针对IE6开发的,一旦不用IE6就要出问题。更新浏览器意味着要替换这些应用,耗费会很大,加上这些企业的管理层不懂技术,往往不愿意这么做。而开发新应用的时候,开发者就必须要针对IE6开发,这就给了Flex应用一个独特的生存空间:在IE6里也可以提供丰富的界面和复杂的功能要求。不过这一点随着时间的推移,迟早也是要不成立的。

    再补充一下Html5和Flash的比较。 Flash的效率和通用性很成问题,这尤其体现在移动终端上面。对于用户来说,不用每次安装完系统、浏览器后还要装个Flash插件。也不需要忍受浏览器老崩溃的情况;对于Flash开发者固然不是什么好消息,不过现在学习还来得及。。。 而传统的Web开发者的春天就来了,Html5可以让他们可以写出和桌面软件一样强大无比的应用,而且所有平台通吃。

    最近做HTML5图形组件优化,实现基于Canvas的拓扑图,上万图元流畅操作,可导出两亿像素的大图,图形渲染能力已经将flex, silverlight抛到脑后了,ActionScript效率低就不说了,现在连flash拿手的2D图形也落了下风,被替代是自然的事

    下面是六千多图元时的弹簧布局效果,背后界面是十万图元拓扑图渲染
    优酷视频:

    基于HTML5的拓扑图 – 十万图元流畅展示
    http://v.youku.com/v_show/id_XNzI1NDc2NzQ0.html
    不能,主要是在游戏方面。
    或许将来出来替代flash的技术,但肯定不会是HTML5。
    不能,就如同Flash不应替代HTML5一样
    各司其职是硬道理。
    我adobe的同事,已经证实了,adobe放弃flash转向HTML5了,再辩论这个问题还有意义么?
    这两个技术覆盖的面不是100%重合的。flash平台有其独到的应用领域。
    HTML5本身和周边的发展还很不充分,现在提出这个问题其实还没有什么现实意义。
    当然HTML5对Flash生存空间的挤压也是理所当然的。
    另外
    技术的优劣不仅限于技术本身,跟大企业支持度,现有市场份额等均有很大关系,而人为因素有时也会起到决定作用。

    HTML5文档在iPhone、iPad、Android手机/平板和现代浏览器上的显示效果是一样的;采用HTML5技术之后,文档加载速度提升30%,文件体积减小40%;HTML5具有语义性,方便Google爬虫等程序分析、收录。自己想吧。。。

    可以肯定的是:HTML5市场份额会越来越大,FLASH则会越来越少。

    不过 Flex 在 AIR 上的应用应该还是可以走很久的。UI 比原生的 Windows 控件好看很多。
    自身的库支持很多,比如内置SQLite Driver、图片处理API、视频音频播放、而且动画效果也很好。

    HTML5只是一个 语义化的标签语言, 实现编程还要靠JS
    Flash 是一个体系 东西太多了, AS3是编程语言, Flex 是比html5强大数倍的框架. AIR是本地应用跨平台的编译运行环境.

    针对 JS和AS3 对比 AS3图像 3D 编程 目前JS还是无法相比.
    针对 开发环境 流程 Flash有一系列完善的工具. JS目前没有.

    HTML5说白了没有任何优势, 除了通过浏览器跨平台, 但实际上 不同的浏览器实际就是多个平台, 还没意识到吗? HTML5 真能通过浏览器跨平台只是一个虚假的梦想而已.

    而且JS框架 开发成本真的比Flash低吗? 我只能说不了解HTML5和JS的人把未来想象的太美好, 但现实是在html4时代 IE6成为了一个浏览器标准, 在html5 webkit的safari将会成为一个标准, 至于想用html5跨平台 想都不要想

    们这也是看到了html5势头好,将原先的flex版本系统迁移至了html5,前端用的easyui,具体的图形处理改的百度的echart,但是做完了比flex做出来慢的太多太多了,大数据(8M)直接用fastjson转不出来,郁闷死了,还得拆分,话说用flex处理大数据二级制blazds也要一分多钟但设上滚动条还是能用的,html直接不能用了,唉,websocket转二进制也没戏,只能说大数据量应用还是flex的性能好,但是要求不高求漂亮的应用可以使用很多现成的html5框架。

    1、Adobe 提升AVM的表现力,特别是移动端定制化的AVM,让flash为前端的web app在性能上接近Native App。然后规范AS使用,减少垃圾开发者的垃圾作品。
    2、开放技术细节,把flash生态环境开放给各OS和浏览器商,让各种iOS内置flash AVM,届时大量可以媲美Native App的flash web app会非常流行,试想一下你做了一个接近本地应用的web应用 还可以跨平台 那么多爽的一件事情。

    另外现在Html5+JS表现力太差,很多html5 app一个简单的操作都很不流畅,开发极其麻烦,不同浏览器兼容也并非很好,开发成本高,严重影响了核心创意的表现。

    对于Flash和HTML5两个技术领域的观点判断大致如下:
    Flash已经走入软件生命周期的末期,但它仍颇具价值。
    Flash不论当初多么辉煌,在它的生命周期里从未真正赢得移动领域。
    HTML5已经重回轨道,未来取胜的关键则在移动领域。
    虽然HTML5已经重回轨道,但要达到高度完善的技术普及状态,它必须进行几方面的突破。
    首先想提到的是,HTML5也不仅指HTML5本身,而是泛指HTML5、CSS3、 JavaScript以及新的浏览器API所包含的整个web前端技术。而Flash就不用多说了,跟老婆似的,每天起床也看的到,睡觉前也看的到。

    HTML5不是用户应用的迫切需求,更多是厂商试图改变软件生态格局的战略需求。
    HTML5的兼容性鉴于各大浏览器的以往表现,有待观望,不宜立即迁移应用。
    HTML5需要一个成熟完整的开发环境,记事本+浏览器对付不了。
    HTML5功能的暴增,浏览器必须有一个高效的图形引擎和脚本引擎。
    HTML5需要杀手级应用来吸引和引导用户升级浏览器,最终完成HTML5终端的部署。
    Flash是一个不断在发展的技术,有很强的灵活性,HTML5不可能完全取代Flash,众多的开发人员也不会断然抛弃Flash。

    结论:
    HTML5持跟进态度,多一个方向或者说多了解门技术也不是坏事,谁也说不准未来的事情。
    Flash还是一如既往的支持,一个产物的出现、演变、甚至是灭亡总要有一个过程。如果有一天它不存在了,也是一段历史,那我也将是这段历史的参与者和见证人。往后抱着孙子给他说,你这什么破游戏,想当年俺用Flash..(扯远了。。)

  9. WallpaperPCMobile可以说完全碾压任何一个壁纸站。就壁纸数量来说,就1080P以上分辨率的壁纸就将近14万张,随便挑几张吧:
    1.Sea, dawn, nature, sky, sunset, vacation, weather, ocean, sun, boat, vietnam wallpaper,sea HD wallpaper,dawn HD wallpaper,nature HD wallpaper,sky HD wallpaper,sunset HD wallpaper,vacation HD wallpaper,weather HD wallpaper,ocean HD wallpaper,sun HD wallpaper,boat HD wallpaper
    Milky Way, Stars, Sky, Nature wallpaper,milky way HD wallpaper,stars HD wallpaper,sky HD wallpaper,nature HD wallpaper,4416×2944 HD wallpaper
    Nature, Pier, Lake, Mountain, Calm, Stars, Night wallpaper,nature HD wallpaper,pier HD wallpaper,lake HD wallpaper,mountain HD wallpaper,calm HD wallpaper,stars HD wallpaper,night HD wallpaper
    Nature, Landscape, Mountain, Rock, Sky, Night, Stars, Milky Way, Rock Formation wallpaper,nature HD wallpaper,landscape HD wallpaper,mountain HD wallpaper,rock HD wallpaper,sky HD wallpaper,night HD wallpaper,stars HD wallpaper,milky way HD wallpaper,rock formation HD wallpaper
    当然,精彩的来了,WallpaperPCMobile黑科技在于它的智能裁剪技术,基于它的HTML5 SmartCrop技术,WallpaperPCMobile能智能分析一张图片的主次部分,并根据你的分辨率裁剪出一张图片的主体部分,因此,你想要手机、平板电脑还是PC的分辨率,WallpaperPCMobile都能把它裁剪成最完美的壁纸,不得不感叹国内外web前端差距啊,现在举个例子验证它的智能裁剪技术:
    1.来张美女壁纸:Women, Face, Jeans, Standing, Look, Asian wallpaper,women HD wallpaper,face HD wallpaper,jeans HD wallpaper,standing HD wallpaper,look HD wallpaper,asian HD wallpaper
    OK,裁剪成常见手机分辨率480×800分辨率:
    Women, Face, Jeans, Standing, Look, Asian wallpaper for 480×800 resolution download
    不要急着被震撼,再来换一张其它的:
    2.Cute girl with blue eyes wallpaper,girls HD wallpaper,1920×1080 HD wallpaper,woman HD wallpaper
    为了验证裁剪效果,我们不用横屏分辨率,还是选择竖屏手机分辨率:480×800:
    Cute girl with blue eyes wallpaper for 480×800 resolution download
    wallpaperPCMobile甚至能判别人脸的存在!!!(第一次碾压地球上各壁纸网站)
    基于HTML5 canvas rendering技术,你也可以拖动滑块在线调整壁纸的图片质量,从0%到100%都是在线调整(第二次碾压地球上各壁纸网站)
    当然,如果上述尺寸不是你想要的裁剪结果,别担心,wallpaperPCMobile基于HTML5 canvas rendering技术,它甚至可以让你在线裁剪一张壁纸!!!(第三次碾压地球上各壁纸网站)
    Custom resize Cute girl with blue eyes wallpaper
    如果图片没有你想要的效果怎么办,别担心,wallpaperPCMobile早就给你准备好了各种特效了,还是基于HTML5 canvas rendering技术(不得不说HTML5为啥这么火爆,真的很强大),你可以添加各种特效,(第四次碾压地球上各壁纸网站)还是上面这张美女图片,我们添加一点柔和特效:
    Edit Cute girl with blue eyes wallpaper with resolution 480×800
    这特效柔不柔和??
    WallpaperPCMobile 一直安安静静躺在我的书签里,其他壁纸网站从来视而不见

    孟子易 前端工程师&amp;PHPer
    某次的Google Doodle ,那个魔八个月前在玩VR的时候,看到了这个Demo: three.js – Oculus Rift
    原来还可以这么玩。。。
    Codrops | Useful esources and inspiration for creative minds
    Tutorialzine
    上面有很多的Demo,质量都很高,开源免费可商用

    还有CodePen – Front End Developer Playground & Code Editor in the Browser,像是前端界的github

    3D立体书Codrops上有几个,不知道是不是你找的:
    Animated Books with CSS 3D Transforms
    3D Shading with Box-Shadows
    3D Book Showcase

    我把HTML5代码都看了下,新增了不少新元素,整理了下,这些标签应该对SEO还是比较有影响的,适当运用,也许对SEO优化是有很大好处的!

    结构上的
    <header>定义了站点的头部信息,也就是页眉,一般放置网站的站点名称以及LOGO和导航栏。搜索引擎更容易识别站点的类型。
    <nav>定义导航链接,也就是栏目或者频道的链接。搜索引擎可以更好了解网站的信息架构,分类等。良好的信息架构,更有利于蜘蛛的爬行和权重的分布。
    <footer>定义了底部信息,也就是页脚。放置页脚导航,一些比如公司介绍,联系我们之类的信息。一般来说对网站比较不重要,有可能搜索引擎会降低其位置的权重。
    <section>该元素用来表示网页中不同的分区。优势体现在每个部分都可以有其独立的HTML标题。这可以让搜索引擎更好的了解网页的结构是如何划分的。搜索引擎可能会根据网页中的<section>标签找出其信息架构。(同左撇子)
    <article> 定义文章区域,可以更有利于搜索引擎识别网页的内容以及判断相关性。,
    <aside>定义页面内容之外的内容,在左侧或右侧边栏。比如知乎右侧的“相关问题”就属于<aside>区域。aside标签的文字信息与article标签区域的文字信息最好是相关。可能会影响到该页面和目标页面的排名。
    这些结构元素有些在HTML4时代,一般是用div来定义。如<div id="header">、<div id="nav">和<div id="footer">,但是难免有些网站会采用其它的命名方式。而HTML就把这些都标准化了,规范化了,简洁明了。更有利于搜索引擎衡量网页上的内容和相关性,甚至分配权重的流向。

    块元素
    <figure>定义媒介内容的分组,以及它们的标题,<figcaption>定义 figure 元素的标题。这两个元素可以说非常好的使媒介和文字说明联系在了一起。有利于搜索引擎理解内容。文字说明是可见的。
    <time>定义日期/时间,time标签可能会作为一个来判断网页文字源,也就是能够通过time标签来识别哪篇文章是原创的。
    <audio>定义音频
    <video>定义视频
    这两个元素区域中间的文字信息将会让搜索引擎读懂视频和音频。据说很多国外社交网站都开始试用HTML5,就是因为搜索引擎可以更好识别社交网站更多出现的音视频。

    另外目前搜索引擎可能还不能很好支持的HTML5,毕竟现在还没有更好的推广和运用。但我相信这是未来的趋势。
    这里另外再推荐两篇文章:
    姜东栋:HTML5中SEO可以用那些代码来做优化:http://www.qisir.com/Blog/HTML5-SEO/
    HTML5与搜索引擎优化:http://lusongsong.com/reed/398.html

    都一点了,南哥你还邀请了好多题,难度都不小。我这几天会好好琢磨,并完成的。也很感谢知乎这个平台,让我重新学习了一遍。
    从现在的SEO环境来讲,影响真不大。

    那些所谓的内容规范,都可以用http://schema.org完美解决,并且现阶段使用http://schema.org必然比使用HTML5来对内容代码进行规范化处理来得安全且实用。

    也许会有人觉得短见,但是SEO这一块谁能预言几年后会是什么样?等到HTML5真正普及了,搜索引擎的排名规则又变成什么样了?

    HTML5真正的牛逼之处在提高网站的用户体验上,追求这些<article><time>代码,实在是捡了芝麻丢了西瓜。

  10. 网页分割与语义的丰富HTML5一个最大的特点是将标记语言的语义进一步丰富,我们可以直接使用<header>,<article>这样的标记。这样搜索引擎将能够根据这些语义对网页中的内容进一步分析,来帮助用户寻找想要的内容。在Div+CSS技术流行起来之后,我们通常使用<div>的id来对内容分区进行有意义的定义。通常我们会这样来组织一个具有语义的网页。这样虽然程序员知道各个部分的语义是什么,但是搜索引擎却不能够识别其语义内容。
      而在HTML5引入一些新的元素,例如,<header>、<article>、<aside>、<footer>,这样一个网页将会变的更有意义。
      这样做的好处显而易见,当网络爬虫知道诸如<header>与<footer>之类的部分后可以非常简单的跳过它们,更好的定位网页内容。又或者使用这些元素来进行其他目的的索引,譬如识别版权信息或者寻找网站Logo等。
    HTML5元素可以影响搜索引擎索引下面是一些可以直接对SEO产生影响的元素。
    <article>这是内容为王的时代,我们都知道网页内容对与搜索引擎排名的重要程度。恐怕该元素将对HTML5的SEO产生最为重要的影响。一个潜在的变化可能是搜索引擎将会对该元素的内容放置更多的权重。
    <section>该元素用来表示网页中不同的分区。优势体现在每个部分都可以有其独立的HTML标题。这可以让搜索引擎更好的了解网页的结构是如何划分的。搜索引擎可能会根据网页中的<section>标签找出其信息架构。
    <header>该元素可以让搜索引擎知道站点的名字和Logo以及其主要的导航栏。
    <footer>在网页设计中,通常在页脚处显示一些站点额外的信息,譬如版权、营业执照、隐私条款等。该元素可以使得搜索引擎来确认与这些信息相关的内容。
    <nav>该元素可以极大的方便搜索引擎收录某个站点的信息架构,譬如通过此来建立简单的站点地图等等。

    1.falsh:很多企业站采用flash,如果用html5实现,优化起来方便的多。
    2.图片:html5里可以不用alt,而是为图片设定标题文字。
    3.速度:加载快
    4.搜索引擎:貌似baidu还没那么开明。
    发布于 2012-01-12 1 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利
    陈宣宣 不会摄影的产品经理不是好运营
    html5 ,上名解
    HTML的英文全称为Hyper Text Markup Language,即超文本标记语言。HTML5是HTML的一个新版本。HTML 不是一种编程语言,而是一种标记语言 (markup language)。
    HTML5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改。
    HTML5特性
    语义特性(Class:Semantic)
    HTML5赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa的,微数据与微格式等方面的支持,构建对程序、对用户都更有价值的数据驱动的Web。
    本地存储特性(Class: OFFLINE & STORAGE)
    基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。Indexed DB(html5本地存储最重要的技术之一)和API说明文档。
    设备兼容特性 (Class: DEVICE ACCESS)
    从Geolocation功能的API文档公开以来,HTML5为网页应用开发者们提供了更多功能上的优化选择,带来了更多体验功能的优势。HTML5提供了前所未有的数据与应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,例如视频影音可直接与microphones及摄像头相联。
    连接特性(Class: CONNECTIVITY)
    更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能。
    网页多媒体特性(Class: MULTIMEDIA)
    支持网页端的Audio、Video等多媒体功能, 与网站自带的APPS,摄像头,影音功能相得益彰。
    三维、图形及特效特性(Class: 3D, Graphics & Effects)
    基于SVG、Canvas、WebGL及CSS3的3D功能,用户会惊叹于在浏览器中,所呈现的惊人视觉效果。
    性能与集成特性(Class: Performance & Integration)
    没有用户会永远等待你的Loading——HTML5会通过XMLHttpRequest2等技术,解决以前的跨域等问题,帮助您的Web应用和网站在多样化的环境中更快速的工作。
    CSS3特性(Class: CSS3)
    在不牺牲性能和语义结构的前提下,CSS3中提供了更多的风格和更强的效果。此外,较之以前的Web排版,Web的开放字体格式(WOFF)也提供了更高的灵活性和控制性。
    影响
    html5里多的无非是多些js文件
    注意下title标签和元标签
    1、头部标签(header标签)
    2、导航标签(nav标签)
    3、文章标签(article标签)
    4、左或右侧标签(aside标签)

    随着HTML5的发展,虽然有很多人这几年都写了很多关于HTML的文章,但好像很少有提供关于HTML5能够影响有机的流量或者真的与SEO有关系的证据。而本文将主要阐述关于HTML5对于你的SEO的影响,首先我们需要知道HTML5可以提供什么及不足之处?
    HTML5可以提供
    ◆ 在用户的可用性和友好体验上带来一些改进
    ◆ 有几个新的标签,这将有主开发人员定义重要的内容
    ◆ 可以给站点带来更多的多媒体元素(视频和音频)
    ◆ 可以很好的替代FLASH和Silverlight
    ◆ 当涉及到网站的抓取和索引的时候,对于SEO很友好
    ◆ 将被大量用户移动应用程序和游戏
    因此,我们可以说HTML5有一天将是WEB更加的美好,但是有一天并不是现在。我们不能不提到重要的一点:迄今为止,并没有什么流行的浏览器可以完全的支持所HTML5规范的所有功能。需要明确的是,今天的主流浏览器都将趋于支持HTML5,但是仍存在许多不完全的支持或兼容。
    谷歌和HTML5
    2010年5月22日,谷歌创建了一个涂鸦来纪念Pac Man的视频游戏。这个涂鸦是一个动画,同时也是一个可以玩的Pac Man的游戏。这个涂鸦就是谷歌通过使用HTML5标准制作的,当然谷歌也提供一个FLASH版本来支持不兼容HTML5的浏览器。我敢打赌,这是大多数互联网网民第一次和HTML5的接触。对于个人来说,这是一个兴奋的消息。以我的观点,这个涂鸦提供了一个机会可以窥视未来互联网、网页、移动应用软件和游戏等发展趋势。对于搜索引擎优化,他开辟了我更多的想象,它让我思考HTML5在SEO领域的潜力。网站转移到HTML5标准对于SEO有什么优

  11. html5 webapp 响应式 学习他们的书籍或建议
    1,html5 本身是一个大类目…
    2,webapp 应该是css+html+javascript 共同构建的~ 当然css3 和 html5 起到了很大的作用
    3,响应式,这个是另外一个概念… 直接看 winter 推荐的文章,然后自己实践一下吧

    总的说回答第4个关键词
    我默认你已经掌握基本的css html javascript
    那么你只要了解基本的html5概念 敲一遍css3的新属性那么你完全可以直接开工了…
    发现问题google就行…

    如果希望系统的学习。。
    我也推荐
    html5触摸界面开发与设计
    只看过这本,不过这本也只是一本 工具书

    如果你想跳过这些东西 直接玩 webapp ~
    那么 建议 直接在W3C看 jquery moble~ 不说性能与定制,但可以很快搭建一个webapp

    推荐一下hbuilder 的 mui 框架~ 快速搭建ios系统级别的ui界面
    再推荐一下 vuejs …

    温特菊苣给的那篇文章很全面,里面不止说了响应式设计中前端的工作,也包括了设计等其他方面,作为菜鸡我只能推荐几本书(有的我自己也还没看…):
    《响应式web设计:html5和css3实战》
    封面是一只瓢虫,这本其实响应式的东西讲得比较少,大半内容是关于介绍h5和css3的基础知识,全书主要是带领读者做一个小网页来写的,如果同时想了解h5和css3和响应式设计入门,这本不错~
    《响应式web设计实践》
    《跨终端web》
    《html5触摸界面开发与设计》
    (先写一点,上完课再继续答)

    基础知识
    1、
    HTML + CSS 这部分建议在线教程 上学习,边学边练.
    之后可以模仿一些网站做些页面。在实践中积累了一些经验后,可以系统的读一两本书,推荐《Head First HTML 与 CSS
    中文版》,这本书讲的太细了,我没能拿出耐心细读。你可以根据情况斟酌。
    2、Javascript 要学的内容实在很多,如果没有其他编程语言的基础的话,学起来可能要费些力,建议看《Javascript语言精粹》,JS是一门很混乱的语言,这本书能够帮助你区分哪些是语言的精华,哪些是糟
    粕,对于语言精华,应该深入学习。糟粕部分能看懂别人写的代码就行,自己就不用尝试了。
    有了以上基础,就可以进行一般的静态网页设计,不过对于复杂的页面还需要进一步学习。
    1、CSS。必看《精通CSS》,看完这本书你应该对:盒子模型,流动,Block,inline,层叠,样式优先级,等概念非常了解了。作为练习可以看下《CSS艺门之匠》这本书,它对标题,背景,圆角,导航条,table,表单等主题都有详细的介绍。
    2、Javascript。上面提到内容还不足以让你胜任JS编程。在有了基础之后,进一步学习内容包括:
    a) 框架。
    推荐jQuery,简单易用,上手jQuery即可完成一些简单的项目。学习方法也很简单,照着产品文档做
    几个页面就行了,不用面面俱到,以后遇到问题查文档就行了。框架可以帮你屏蔽浏览器的差异性,让你能更专注与Web开发学习的精髓部分。补充: 可以使用
    Codecademy 学习 Javascript,jQuery,用户体验真的很好(感谢 TonyOuyang )。
    b) Javascript 语言范式
    。这个名字可能并不恰当,只是我找不到可以描述“面向对象”,“函数式”这个两个概念的概念。Javascript不完全是一个面向对象的语言,它的很多
    设计理念都有函数编程语言的影子,甚至说如果你不用面向对象,完全可以把它理解成一门函数式编程语言。
    Javascript的很多语言特性,都是因为他具有函数式语言的特点才存在的。这部分推荐先学习面向对象的基本理论,对封装,继承,多态等概念要
    理解,维基百科,百度百科会是你的帮手,另外推荐《Object Oriented
    Javascript》,应该有中文版。对与函数式编程我了解的也不系统,不好多说,可以自己百度一下。
    c) Javascript 语言内部机制。必须弄清如下概念:JS
    中变量的作用域,变量传递方式,函数的定义环境与执行环境,闭包,函数的四种调用方式(一般函数,对象的方法,apply,call),以及四种调用方式
    下,‘this’指向的是谁。这部分内容你会在《Javascript语言精粹》中详细了解。另外,你必须理解 json。
    d) dom编程,这个Web前端工程师的核心技能之一。必读《Dom编程艺术》,另外《高性能 Javascript》这本书中关于dom编程的部分讲的也很好。
    e) Ajax编程,这是另一核心技术。Ajax建议在网上查些资料,了解这个概念的来龙去脉,百度百科,维基百科上的内容就足够了。真正编程是很容易的,如今几乎所有框架都对Ajax有良好的封装,编程并不复杂。
    f) 了解浏览器差异性。这部分包括CSS和js两部分,浏览器差异内容很多,建议在实践中多多积累。另外对于浏览器的渲染模式,DOCTYPE等内容应该系统学习。
    3、HTML5和CSS3 。HTML5规范已经于2014年10月28日发布了,移动端HTML5和CSS3已经得到了非常广泛的使用,必知必会呀。

    再进一阶 · 代码层面:
    有了以上知识,对于大多数小型网站,你应该已经可以写出能够工作的代码了。但要想成为更专业的前端,你还需继续努力。更高的要求大概还有四方面:1)易维护,2)可测试,3)高性能,4)低流量(移动端)。
    1)易维护。对于页面你该理解‘样式’,‘数据’,‘行为’三者分离,对应的当然就是CSS,HTML,js。对于js代码,你最好了解设计模式,重构,MVC等内容。
    2)可测性。
    3)高性能。必读《高性能Javascript》
    4)低流量。移动端关注比较多。
    5)对于想要学习前端的同学,尤其是自学的伙伴,自学并非永久的,假如没有定力的还是找个培训机构吧。
    再进一阶 · 工程层面:
    前端项目同样面临软件生命周期的各个环节,首先是代码管理,你必须学会使用Svn和Git。其次是代码的构建,如今前端代码构建已经不是简单的压缩一下了,需要进行依赖管理、模块合并、各种编译,比需要学会使用Grunt、Gulp等前端构建工具。

    对于前端开发,基本内容就这些了,可以根据自己的兴趣爱好选择性学习以下内容。
    1、交互设计。大公司依然有专业人士搞这些,不过不懂交互的前端一定不是好前端。

    2、后端。
    应该说前段工程师必须至少了解一门后端语言,不过如果爱好也可深入学习,入手难度比较低的应该是PHP了。这部分由可分为基于页面,基于框架两种。
    大型项目都是基于框架开发的,建议至少了解一个MVC框架,比如PHP的Ci、Yii、Yaf
    等,好还框架的设计思想都大同小异。如今NodeJs在大公司已经得到普遍的使用,推荐大家使用在Node上使用Express框架做一些后端服务的开
    发。
    3、Android和IOS开发。
    时至今日,前端的工作领域已经非常广泛,native的界面开发本质上也是前端开发,个大公司都面临着Native环境和web环境页面同时维护的问题,如果能够在技术上得到统一,将会有巨大的价值。对于学有余力的同学,应该了解Native开发的基本流程,至少了解到界面构建的技术。

    熟悉与HTML的关系和区别,熟练掌握CSS3(响应式布局)、绘图API以及相关JsAPI的使用
    第一章: HTML5概述
    1
    HTML的发展,HTML5的诞生,HTML5和HTML的关系和区别
    2
    HTML5的目标、HTML5与之前HTML语法的改变、新增的元素和废除的元素、全局属性
    第二章: HTML5基础
    1
    新增文档结构元素(Article、section、nav、aside、header、footer、address)
    2
    表单改良(input改良以及output元素的新增)、验证、自定义错误信息
    3
    文件API(FileList对象和File对象、FileReader接口)、和拖放API(自定义拖放图标)
    阶段性项目: 复习具体知识点,和HTML4文档结构做对比,熟练使用表单和文件新功能
    第三章: CSS3
    1
    CSS3的概念以及对比CSS2区别、新增的后代选择器、新增伪类选择器(before、after…)
    选择器相关
    2
    文本阴影(text-shadow)、文本自动换行(word-break)、自定义字体(@font-face)
    文本相关
    3
    圆角(border-radius)、图片边框(border-image)、盒阴影(box-shadow)、两端对齐
    盒子相关
    4
    变形处理(transform)、动画(transitions)、帧定义(key-frames)、旋转(rotate)
    动画相关
    5
    视角(perspective)、变形类型(transform-style)、圆点(transform-origin)、3D旋转
    3D相关
    6
    响应式布局概念以及语法(@media)、web网页和mobile网页的区别、样式继承
    响应式布局
    阶段性项目: 课堂案例举一反三,作业完成,2D(网易邮箱首页动态图壁报)和3D动画(模拟3D城市)
    第四章: HTML5高级之绘制图形
    1
    Canvas标签基础知识、绘制矩形、绘制圆形、使用路径、图像裁剪、保存为文件、简单动画
    2
    Svg体系的基础知识、和canvas标签的功能对比、和canvas的区别、绘制动画
    阶段性项目: canvas实现银河系旋转、svg实现萌Q宝宝,时钟
    第五章: HTML5高级之多媒体
    1
    多媒体的概念、audio音频元素、音频元素javascriptAPI、音频回调事件、audioContext
    2
    Video视频元素、视频元素javascriptAPI、视频回调事件
    阶段性项目: 潭州音乐播放器(音乐播放、歌词同步、曲谱图、MV同步)
    终篇: HTML5企业级实战技术
    1
    本地存储web storage、本地数据库基础概念和sql基础
    本地存储
    2
    缓存概念、本地缓存和浏览器网页缓存的区别、本地缓存applicationCache
    本地缓存
    3
    通信基础知识、跨文档消息传输的概念、webSocket通讯
    通信
    4
    定位基础知识以及原理、通过GeolocationAPI获得地理位置信息、结合google(高德)地图定位
    GPS及定位
    5
    PhoneGap实现各种传感器、光度传感器、方向传感器、重力感应等
    传感器
    阶段性项目: 每个都有对应的项目案例可以实现
    综合项目(新浪微博手机响应式布局网站 潭州微商城开发 等企业响应式手机网站)

    「HTML5移动前端webapp」的一些建议,书籍的话市面上肯定是没有讲「移动前端webapp」的,如果非要说有的话,基本上都是「Angular.js 指南」「React.js 指南」之类,「移动前端webapp」是一个比较大的概念,如果加上「HTML5」就更大了。讨论「HTML5移动前端webapp」就像后端狗讨论如何开发 「WEB 服务端」一样,需要针对不同的技术框架针对性讨论。我感觉如果想要掌握并且能够擅长「HTML5移动前端webapp」的开发,是需要掌握很多要点的。

    首先就是移动webapp,你需要学习各种新技术,比如 CSS3、ES2015/ES6、webpack/browserify、gulp/grunt、Less/sass,然后还要掌握周边的各种辅助技术,如生成sourcemap方便调试,以及rem可以更好的适配多种不同尺寸的移动终端,此外还有很多细枝末节都需要不断的去积累。如果能够掌握以上的几个技术点,并且踩过不少移动端的坑,你就可以开始研究一个框架了,现在比较热门的当属 React.js 及 Angular.js 了,开始这些之后会有更多的周边技术等着你去研究,对于webapp,路由基本上是由前端控制吧,你应该去学习一个控制路由的库,诸如 react-router,那么OK,如果到这一步你都能掌握的话,你就可以开始做「H5移动webapp」了,性能调优方面的话也应该了解一些,移动设备上最吃内存的就是图片,需要重点优化。

    由于从事新媒体推广工作,现在在移动端流行“高大上”的HTML5。作为代码零基础的我,该如何迅速学习HTML(或HTML5)?”
    所以下面分两种情况来分析:

    1.如果题主零基础的情况下想去学代码的话,就得把HTML5、CSS3、JavaScript三个一口气都学了,这样就不需要各种求供应商和技术了。
    这种情况下建议题主在网上学习+课本学习同步进行:
    网上学习强推网易云课堂上浙大的翁恺老师的计算机课程。
    其一,翁恺老师本身就是高校里面的人气教师,讲课简明生动,很适合初学者入门【之前学过一些计算机课程,因为太过晦涩,对程序语言甚至有点心理阴影,所以初学者学的课程还是要谨慎选择】。
    其二,翁恺老师在网上授课已经有蛮多经验了,也不会出现什么讲课中途遮住了PPT,代码看不清等等诡异的问题。。。
    其三,网易云课堂上的三门课程都已经整理完毕,方便学习,平台也比较稳定。而且这些课程完全免费,每门课都有几万人在学【卖不了吃亏也买不了上当=、=
    HTML5入门:HTML5入门 – 网易云课堂
    CSS3:CSS3 – 网易云课堂
    JavaScript:JavaScript – 网易云课堂
    书的话,还是推荐一些经典的吧:
    《Head first HTML&CSS》:入门级必备,难度合适
    《JavaScript DOM编程艺术》:同样入门级教材
    《HTML5权威指南》:内容全面,进阶阶段可看
    《JavaScript高级程序设计》:JS圣经,殿堂级教材
    建议交错搭配学习,加深理解,不过这样学习来比较费时间就对了
    2、如果只需要能制作出简单的H5页面,就可以绕过代码这关,善用各类H5制作平台,应该都能轻松上手。
    Maka:MAKA.im | 简单、强大的HTML5创作工具
    印象中是最早开始做H5页面的平台之一,目前只有web端没有移动端,但网页上各类模板齐全,动态效果和交互也做得不错,只要自己填充内容就好,简单易上手。
    初页:初页 – 优质H5手机页、微信海报
    和maka不同,专门做移动端的,也有一些预设的模板,支持添加文字、图片、音乐等,方便在手机上直接制作,胜在速度。
    秀制作:秀米 XIUMI
    来自微信公众号排版常用的工具秀米出品,可以和秀米配合使用,目前也只有web端。
    Epub360意派:Epub360意派-专业级H5微场景设计平台
    模板不多,但自由度较高,适合有设计感的设计师来操刀制作,发挥交互功能,不过只能免费制作10个,而且作品还自带logo,有ipad版和web版。

  12. http://lynda.com提供了很多不错的课程。
    HTML Essential Training很适合入门,另外还有一些HTML5的前沿技术API的专题,建议从基础开始,循序渐进。
    课程是视频形式,且作者会根据需要更新自己嗯课程,但又不像普通的公开课视频,一个课程的每个视频都不会超过10分钟,不会出现像公开课看久了枯燥的状况。
    关于下载的问题,一般在kickass.to可以搜索到
    先说一个免费的网站,慕课网有完整的教程。
    每个例子都去实践。把HTML+CSS+JavaScript部分基本学完。例子也学完。
    但是感觉还是不能开发什么东西。然后百度前端技术学院!可能不是开放时间。不过没关系。里面内容可以去实践。
    一个一个人物敲过去。应该就有还不错的水平了。继续学习吧。

    1. 我曾经从事了15年的Flash和HTML相关工作,我经历过。这是鄙人的亲身经历,1999年开始接触Flash技术,2000年向Macromedia提交了Flash AS1的Math相关算法而成为beta tester,2003年是Macromedia Flash的dev volunteer, 2004年成为Macromedia在中国的第一个技术员工,2005年,Adobe并购Macromedia结束,进入Adobe做工程师,2008成为Flash Video与Flash Media Server的大客户技术经理,2009年成为Flash Platform Evangelist,2014年离开Adobe前,除了Flash,也参与了Adobe HTML5系列技术工具的相关工作。
    2. 我现在是一家做HTML5技术公司白鹭引擎的技术合伙人,管理这家公司的研发团队,每天的工作都跟HTML5的Web技术相关。
    3. 这个时间点回答这个问题貌似最好,因为一切答案正在浮出水面。

    好了,回到答题本身。

    我本人对于Flash和HTML5两个技术领域的观点判断大致如下:
    Flash已经走入软件生命周期的末期,但它仍颇具价值。
    Flash不论当初多么辉煌,在它的生命周期里从未真正赢得移动领域。
    HTML5已经重回轨道,未来取胜的关键则在移动领域。
    虽然HTML5已经重回轨道,但要达到高度完善的技术普及状态,它必须进行几方面的突破。

    Flash已经走入软件生命周期的末期,是的,万物皆有始终,更何况Flash。1994年4月10日到今日,Flash已经有21岁。21岁对于一个人而言,正属风华绝代之年,但是在软件领域里,存活21年实在算的上是一个老家伙了。说到衰落,必然要提崛起。21年的过程中,Flash经历了三次成功高峰,分别是1999年的网络动画时代,2005年的Flash Video时代与2008年的Web Game时代。这三次互联网领域的高峰,全部都被Flash赶上(不得不说命好运也好),并且这三次成功,引领了Flash在生命周期中的一次又一次产品形态上的变化。

    Flash Animation的流行引领了Flash的第一次成功,1999年,借着第一波互联网.com的热潮,由于当时HTML技术功能上的羸弱,大量被人所称道的Banner,动画,MTV都是借助Flash创作而来,这些充满神奇的交互效果充斥了每个网站,Flash在网页动画创作领域开始快速崛起。我当时的雇主美国Macromedia公司旗下的Flash,Dreamweaver和Fireworks被国人亲切的叫做网页三剑客,当时我主要泡闪客帝国(前身是边城浪子的回声资讯)和蓝色理想这两个Flash开发者聚集的论坛。2004年,借助着前几年Flash所取得的成绩,Macromedia公司被Adobe公司以34亿美金收购。2005年,Flash有史以来最重要的版本之一Flash 8(codename:8 ball)登场,这一版本里集成了2个最重要的功能,其中一个功能引领了后来YouTube和优酷土豆视频网站的成功,就是Flash Player里集成了Sorenson Spark H.263(VP6)的视频解码功能,而另一个功能为以后Flash可以创作更精彩的Web Game埋下伏笔,就是Bitmap和Bitmapdata位图操作的实现。2008年,Flash又“幸运”的赶上了社交游戏的浪潮,随着Zynga和Facebook的大获成功,Flash在社交游戏的技术领域独领风骚,之后的Stage3D技术又让Flash彻底统治PC网页游戏领域。在Flash最为巅峰的这么多年内,任何其他类似的技术都没有在与Flash竞争上胜出,期间也出现过若干“Flash Killer”,包括Silverlight,JavaFX,Lazslo和Unity Player。作为胜出者Flash自然有他的缘由,就是独一无二高度统一的Flash Player,强大的内容设计开发工作流,多年积累而成的强大的社区生态。

    水满则溢,月盈而亏。Flash开始走下坡路业界都认为是从苹果乔布斯的那篇檄文而起。没错,那篇檄文是Flash开始走下坡路的开始,后续的一系列对Flash的不利消息又接踵而来,都给Flash造成了沉重的打击。我这里给各位总结一下Flash由盛转衰的几个重要事件。它们分别是:
    苹果iOS不支持Flash Player.
    MACOSX系统不提供面向Flash Player的视频硬件解码能力调用。
    Adobe Flash Player所建立的Open Screen Project(OSP)计划的推进不佳被终止。
    Adobe宣布裁撤Flex团队,终止Flash Builder开发计划,并将Flex项目捐给Apache,这间接促成了Google AngularJS的大获成功,因为AngularJS的作者就是Flex的核心科学家。
    Adobe不再开发Android系统的Flash Player后续版本。
    Adobe宣布终止开发了80%的ActionScript4.0和AVM3.0项目。
    Adobe终止了Stage3D的后续开发工作。
    Adobe终止AIR SDK的ANE(Adobe Native Extension)和内置Webkit的开发维护。
    Adobe裁撤整个中国研发中心,其中有很多工程师原属于Flash团队,其中包括Flash Player,Stage3D,CrossBridge(原Alchemy),骨骼动画以及Platform Evangelism。(很有趣,其中一部分工程师后来加入了Egret团队)
    FireFox曾默认关闭Flash内容显示。(修正:Firefox是因为Flash的一个0-day漏洞默认关闭了Flash内容,在修复后,又重新开启。来源:​Firefox now blocks all versions of Flash Player by default)
    Google Chrome停用NPAPI的支持,并关闭PPAPI Flash Player的硬件加速。
    Google Chrome将Flash内容默认关闭。(修正:Google Chrome宣布将智能化选择性的关闭Flash内容的显示。来源:http://www.zdnet.com/article/amazon-ditches-flash-ads-amid-ad-industry-push-towards-html5-ads/)
    可以说是一系列的坏消息,如果合在一起看,那简直是坏的不能再坏的消息了,其中很多的决策来自于Adobe自己,这有充分的理由让我们相信,Flash这个平台型的技术已经进入了最后的生命周期。但Flash给Web进化带来了很多有价值的推动。

    首先,在Flash最为鼎盛的时期,来自Adobe的官方统计,全球有将近200万的Flash开发者,这个群体不同于其他语言的开发者,可以说他们是一个独特的开发者群体,我们可以理解他们才是真正的“Full Stack”工程师,会开发游戏,会制作动画,会创作富媒体应用,甚至很多人还兼修美术,烹饪和刺绣。从2010年Flash开始走下坡路,这些Flash开发者陆续转型,他们成为了后来众多应用和游戏公司的中坚力量,目前市场上大量的Unity,Cocos的手游开发者,Egret Engine社区里近一半的HTML5开发者,甚至是大量的AngularJS和JQueryMobile的开发者,都来自于原来的Flash社区。

    其次,Flash开发生态为HTML5标准的进化带来了大量有借鉴价值的范本模型。Adobe通过Flash Professional工具开放了JSFL扩展;支持了JQuery Mobile和WebGL的输出,甚至于矢量绘图的动画都支持CreateJS的导出;Adobe将全球最流行的骨骼动画项目之一DragonBones转给了Egret继续原生和HTML5版本的开发工作;Flex项目的主程成为了Google AngularJS的作者;曾经流行的Flash游戏框架Flixel的作者后来又参与创作了HTML5游戏框架Phaser;被Adobe捐助给Mozilla组织的AVM2虚拟机的源码间接驱动了IonMonkey,SpiderMonkey项目中GC的更新换代和Flash转换HTML5项目Shumway的流行;Adobe的ActionScript3.0的语法方式被Egret Engine团队在HTML5的引擎产品设计上所借鉴;Stage3D项目后续促成了Away3D和Minko等原Flash3D项目完美转型HTML5技术领域。还有很多HTML5相关的视频和音频项目在过去几年的发展中大量的融合了Flash相关的媒体库来提供更多的功能支持,当今大量的HTML5 Video Player都是从原来的Flash领域变换而来。这一切都是Flash技术带给当今HTML5领域的财富。现实是很多人并未看到这些,看到的是当Apple宣布iOS不支持Flash技术开始,有些所谓的“专家”和“专业媒体”将Flash营造成HTML5的头号死敌的话题博取业界的更多眼球,其实他们并不关心Flash和HTML5为Web领域真正带来了什么,也不关心谁赢谁输,他们唯一关心的就是自己的知名度和访问量。

    接下来说说第二个观点,Flash从未真正赢得过移动领域。在开始这段之前,推荐各位在知乎看看我回答的这篇帖子“iOS不支持Flash的真实原因是什么?”iOS 不支持 Flash 的真实原因是什么? – 知乎用户的回答。下面则是更多事实可以证明Flash一路走来,赢得了PC,丢掉了移动市场:

    1.在2004年,Flash跟中国移动对接动画标准一事,当时Flash Lite进入中移动动画标准评测流程之前,已经有两家利用Flash Player 6 SDK泄露的源码而做了山寨Flash播放器的公司在跟中移动对接了,一家韩国公司,一家中国公司,而且接触中移动的时间已经不短。Macromedia虽然是Flash官方,但是最后一个进场,而且当时中移动已经初定一家山寨Flash的产品成为标准,称之为MFlash。虽然中移动知道Macromedia是Flash的官方,技术更强,也乐意重新在中移动定制的功能机上使用Flash Lite标准,但是由于Macromedia坚持要求中移动承诺植入FL的设备总数,并按照单台1美金收取授权费。因为中移动是大公司,多少人挤破头想和中移动合作,但是Macromedia这家美国公司偏偏坚持成为标准,每台设备要收1美金。结果可想而知,Flash第一次错过了中国最大的移动运营商,很不幸的是,主导Flash播放器收取设备授权费的这个美国人跟着Macromedia一同进了Adobe,还被提升成为全球业务的高级总监,不幸的事情再次发生就自然而然了。

    2.Nokia当年太有钱了,这家公司带头支持了内置Flash Lite,也带头支付给Adobe了Flash的设备授权费用。这一行径使得Adobe坚持认为Flash在移动设备上能收取费用且必须收取费用,不论是任何厂商,都不例外。一刀切的收费策略也自然引发了当年很多大大小小手机厂商的不满,当然,这个Adobe CEO可能不知道,只有我们这些处在一线的员工才了解。但是这条线的决策当时由上面说到的那个美国人来负责时,KPI自然也是以能为公司贡献多少利润来衡量团队业绩的唯一标准。所以,只看眼前利益,不花大力气培养移动生态成了Flash错过移动市场的另一个主因。

    3.当年Adobe对于Flash播放器的源码访问已经到了无比严苛的地步,只有在美国注册且有实体研发的公司才能通过clean room的方式获取Flash Player的源代码进行移动设备的定制,其他硬件公司都必须通过引入Adobe授权的第三方Porting Partner的机制来获取定制后的Binary Build。这个流程简单描述就是,如果我是一家中国的手机公司,有植入Flash播放器的需求,而且愿意付费,那我要跟Adobe授权的一家Porting公司签协议,这家Porting公司注册在美国,研发在印度……印度,你懂的,然后印度人来中国找我,了解我的设备(这里还有一个大问题,就是即使签署保密协议,但这家Porting Flash的公司必然知道我将来要发布到市场的新手机的所有硬件规格,妈蛋啊,我新手机保密还未上市就都让别人全知道了,有可能这家知道我的手机规格的公司还在为我的竞争对手做porting!虽然有了保密协议,好吧,就当是完全保密吧。),然后评估是否可以移植Flash,然后回印度在clean room里访问Flash源代码,进行移植。移植完成后,要把装有定制Flash Player Build的样机送回给美国Adobe进行认证和备案,符合一切QA认证流程后,告知我可以出货了。好吧,这个蛋疼的流程虽然我不知道当初是谁制定的,但是结果就是,我有款新上市的手机有植入Flash的计划,我要先把我的硬件信息全部公开给第三方进行评估,而且手机将来能否出货,要先等几个月的Porting和Certify的流程,还要先付给Adobe一笔预付款,最后可能手机上市日期因为种种原因流产了。。。这么死板不人性化的流程成为Flash错过移动市场的第三个主要原因。

    4.就是众所周知的苹果在iOS上屏蔽Flash的事件,虽然当年Adobe用了“We Love Flash, We Love Apple”极富煽情的公关方式来应对,但是然并卵,Flash错过了移动市场上的第一个大腿iOS。

    5.Adobe然后开始决定不再移动设备上花费大量的人力物力来维护和开发Flash播放器,所以接着又官方宣布了不再更新安卓版本的Flash Player的决定。转而鼓励开发者使用Adobe AIR的打包技术来将Flash内容打包为原生的解决方案,这个方案几乎成功的实现了Flash进入移动市场的目标,因为全球当时已经有数十万个iOS的app是通过Adobe AIR打包而成。但是突然,又发现了巨大的问题,那就是AIR SDK打包原生,要依赖Apple官方提供的原生系统扩展API,比如支付,GameCenter,文件访问等等。而Adobe AIR的ANE(Adobe Native Extension)则是一个黑盒,那就变成苹果只要升级系统或调整API,ANE如果不及时更新,所有AIR打包的原生app都被卡住,需要等待Adobe升级更新ANE包才可以继续保证app的正常运转。这一个无法逾越的深坑让大量的用AIR打包原生app的Flash开发者大倒苦水,对ANE的海量吐槽直接飞向Adobe总部。如果Adobe ANE团队及时关注产品反馈并及时更新,这一个跟XCode打包几乎一致的GCC/LLVM打包方案完全可以茁壮成长下去,可惜,Adobe又一次做了一个碉堡了的决策,将ANE美国研发团队裁撤,将工作转到印度班加罗尔做维护,又是印度,你又懂了。终于,Flash又一次错过机会。

    6.虽然黑莓当时内置了AIR,QNX的车载导航几乎都是Flash和AIR技术,但是市场太小了,一个倔强的浪头完全无法逆转整个形势了。

    所以我们可以认定Flash即使在PC上有过三次辉煌,但是它并未真正的赢得过移动市场,用一首诗来形容它的移动之路就是“待到秋来九月八,我花开后百花杀。冲天香阵透长安,满城尽带黄金甲”。在移动设备如日中天的今天,Flash本有机会开启并引领富媒体Web在移动设备上的革命,但它并非赢家。

    再来看第三个观点,HTML5已经重回轨道,未来取胜的关键则在移动领域。为什么这么讲。PC发展落后于移动已经是事实。今天,人手至少一台智能手机,移动流量超越了PC流量。技术为业务服务,业务由市场导向。HTML5狭义上是超文本链接标记语言第5版,单从名字上并无神奇之处,但广义而言,HTML5代表了新一代的HTML,CSS和JavaScript技术的总和,它可以跨平台,这在屏幕尺寸和分辨率林林总总的移动设备上简直就是天生的优势(天生就是东宫太子),响应式设计,跨操作系统,而且随着硬件计算能力的飞速进化,浏览器内核或者VM对于脚本型技术的性能瓶颈也在被逐渐抹平,在不是特别关注性能的应用开发上这个缺点渐渐被忽略不计。网络资源加载的尴尬也随着移动网络的速度飙升和使用成本的大幅降低而不再成为关键性的制约因素。HTML5虽然经历了2012-2013年的重大技术低潮,一大波HTML5的技术先锋在这两年沉沙折戟,但是不妨碍它的跨平台,标准开放的技术本质,2014年后再次卷土重来。

    任何人都需要通过移动设备连接世界,获取信息。这个基于Touch的市场机遇远大于使用键盘鼠标的PC领域,每天若干的创新都在这里出现,内容层出不穷,且这个领域的内容呈现需要高度的跨平台,跨设备的适配性,HTML5这种开放性的Web技术成为这些创新的主要技术方案顺理成章,因为HTML的发展史就是一部互联网的发展史。

    PC浏览网络信息,仍然靠浏览器。但是移动设备浏览网络信息,app就是介质。微信,微博,手机助手,新闻客户端,所有Webview支持的app就可以很完美的采用HTML5技术。HTML5技术在移动设备上的用户场景原则上可以无限大,任何我们现在接触的app,都有使用HTML5进行制作开发的可能。突破浏览器对于HTML5的束缚是HTML5在移动设备上走向顶峰的必经之路。我经常跟人争论的一个话题就是,谁规定HTML5的标准化的执行和实现就一定要依赖于浏览器?用HTML5技术开发的内容,但是不用浏览器形态的方式去浏览,算不算是HTML5所涵盖的领域?

    另外,PC某些垂直领域在几年内仍然无法摒弃插件体系,尤其是页游市场。国内目前的页游市场是几百亿人民币的规模,而这个领域使用Flash Stage3D技术已经根深蒂固,从游戏创作的技术工作流程和性能要求上,HTML5的能力目前还无法达到那个高度,光从Flash Stage3D可以在PC调用DirectX和OpenGL,而HTML5只能调用WebGL这点来看就被完爆。而且Adobe Flash播放器已经在PC领域渗透超过10亿台终端,这个市场占有率还不能短时间内被取代,在Flash与HTML5的更新交替年代,与其等待PC市场漫长的自然更迭,HTML5为何不能从没有Flash的移动市场强势介入,成为跨平台富媒体内容的开发首选?

    最后一个观点是建立在第三个观点之上的,HTML5最广泛的被接纳与普及前,还要先解决以下几个关键问题。

    1.HTML5的标准化的能力推进需要更多参与制定厂商的通力协作,不要把商业的博弈及目标凌驾在标准化的普及之上,公心要大于私心,通力协作,才可能尽快实现更多具有前瞻创新技术标准草案的落地。HTML5规范虽然在2014年底终于定稿,但是这其中经历了太多的曲折,推进的过程中充满了各大浏览器厂商借助标准扩大行业话语权的暗战,目前,仍然有大量的创新标准无法在日新月异的移动领域市场快速被定案与普及。太多事实,给各位列举几个。CSS3的标准落地异常复杂,甚至于出现在开发者创建和声明CSS3新属性时,针对不同浏览器,一个属性要设定针对浏览器的众多前缀才能保证浏览器对它的支持,这么蛋疼的编写设定虽然是过渡方案,但是不得不说标准化落地过程中产生的各种额外代价都无形的转嫁给了开发者。另一个例子是关于WebGL,来源于http://webglstats.com的数据统计,移动设备对于WebGL的支持率已经上升到有史以来的最高,超过8成支持WebGL内容的访问,这无疑是可喜的状况。但是从另一方面的比较则看出WebGL的进化仍面临巨大挑战。首先是,WebGL1.0从2011年起到现在已经近4年多几乎没有过任何能力上的进化,这几年全部都是标准规范草案定义能力的推进普及,变革速度相比起微软的DX12和Kronos组织全新一代的Vulkan技术的进化速度相比,简直惨不忍睹。当未来PC和主机游戏,甚至手机原生游戏都更多的可以从下一代的DX和Vulkan技术中全面获益,获得飞一样的提升时,我们HTML5的开发者们仍旧在为越来越多的设备终于支持WebGL而沉浸其中。好比有钱人又买别墅了,我还在为今年终于工资涨了几百而欢欣雀跃一样讽刺。如果HTML5技术想大成,不仅标准化的普及要快,功能性的创新也同样要快。

    2.HTML5相关开源项目(包括DOM,JavaScript/TypeScript,CSS)在github上无疑是总数世界第一。但是另外一方面,HTML5仍然需要更为强大,更有工作效率的工作流。我们需要在HTML5领域内有能跟其他领域一样世界级的工作流方案,强大的引擎,高度可视化的创意工具,云与端的计算完美结合,这些都能更有效的保证我们的工作成果和工作过程越来越专业。各行各业最顶级的创意开发工具,目前来看,没有一个是专门为HTML5技术而生的。例如Visual Studio虽然也可以支持HTML5和JS开发,但是相比C++,C#在VS中的集成工作流,待遇显然就是一个不招待见的“干儿子”。我们Web前端开发已经习惯用各种script editor,配合浏览器的developer tools,再配以各种node上的testing,build和publish工具,最后再通过Phonegap或者Cordova类似的打包来完成工作,这就是我们HTML5开发者的工作流,且我们认为已经很好了。但是这是我们被习惯被教育后采用的工作方式,是因为业界本就没有针对HTML5更高效专业的工作流。我天天弯着腰犁田,换个牛车替我就感觉很满足了,殊不知世界上有插秧机这种更高效的工具一样。正在使用的不代表就是最好的,因为更好的我们没见过。HTML5技术领域的创新绝对不能忽略更高度更自动化的工作流,这是一个高度繁荣市场的终极需求,不是某个通过terminal和command就能搞定一台机器的极客需求。

    虽然HTML5看似已经成了移动市场上实现网络富媒体交互技术的好选择,但是HTML5的技术未来并不是想象中的那么乐观,前路依然任重而道远。

  13. 技术而言,我更挺HTML5,光看会Javascript和会ActionScript的人数就知道哪个是趋势了。
    就商业而言:如果Apple、微软WP、安卓都支持Flash,那么应用商用Flash开发应用,他的应用就都可以在所有平台通用了,这显然挑战了苹果的AppStore商业壁垒,是Apple不能容忍的,他们这么多年来一直坚持不支持Flash,就是要保持自己AppStore的优势,这是导致了Flash随着Apple的强盛而不断衰退的关键。如果说Flash的商业障碍在Apple的话,HTML5的障碍就在微软,现在微软在转变战略更加互联网化,对HTML5的支持也越来越好,随着微软这个障碍的逐步解除,HTML5发展就是时间问题了。
    最后Adobe 现在推出了flash导出为html5的工具了。
    首先想提到的是,HTML5也不仅指HTML5本身,而是泛指HTML5、CSS3、 JavaScript以及新的浏览器API所包含的整个web前端技术。而Flash就不用多说了,跟老婆似的,每天起床也看的到,睡觉前也看的到。

    HTML5不是用户应用的迫切需求,更多是厂商试图改变软件生态格局的战略需求。
    HTML5的兼容性鉴于各大浏览器的以往表现,有待观望,不宜立即迁移应用。
    HTML5需要一个成熟完整的开发环境,记事本+浏览器对付不了。
    HTML5功能的暴增,浏览器必须有一个高效的图形引擎和脚本引擎。
    HTML5需要杀手级应用来吸引和引导用户升级浏览器,最终完成HTML5终端的部署。
    Flash是一个不断在发展的技术,有很强的灵活性,HTML5不可能完全取代Flash,众多的开发人员也不会断然抛弃Flash。

    结论:
    HTML5持跟进态度,多一个方向或者说多了解门技术也不是坏事,谁也说不准未来的事情。
    Flash还是一如既往的支持,一个产物的出现、演变、甚至是灭亡总要有一个过程。如果有一天它不存在了,也是一段历史,那我也将是这段历史的参与者和见证人。往后抱着孙子给他说,你这什么破游戏,想当年俺用Flash..(扯远了。。)

    一定是H5干死flash占主旋律,今年是个理性回归,开始看到了H5的不足,也回忆起了flash的好,H5推了那么久,也没牛逼游戏出来,而且之前脸书主推H5的时候股价暴跌,给了H5狠狠的一记耳光,把如今H5能干的事概况起来,有如下几种:在手机浏览器打开的H5,可以说,基本没啥意思,成不了主流,现在手机用户没多少时间是花在浏览器上的,用H5开发的游戏,再用原生代码包装为app,这个有点意思,但是很难通过苹果审核,还有就是在PC浏览器上的H5,这个做做展示还行,要真是全站H5,广大闲着没事给站长贡献流量的还在用IE6的大叔大妈们都流失了。。最后就是微信H5,现在说H5开发,其实很多说的都是微信朋友圈H5转发,换句话说,在H5大战flash这5年里,H5的成绩也就微信转发神经猫和京东活动这种。。
    ——————————
    再说说flash,比H5提供了更多的功能是肯定的,比方说视频直播,H5就干不来,就算用上HLS也是个鸡肋,天生延迟高,再说视频格式,flash自带平滑算法,同样的视频flash放出来更清晰,而且可以分段加载,可以对视频二进制自行加密,就H5的video标签,能干个啥,还有声音的处理,flash提供了音效处理底层API,从二进制流中截取一段作为声音播放,H5只能给它个url,然后浏览器去播放。还有P2P功能、stage3D显卡渲染、嵌入字体,都是H5不具备的,就图形来说,flash提供多种滤镜、 多种叠加效果、变色,H5啥也没有,还有flash最引以为豪的矢量图形,一条直线都可以有多种画法,线头是尖还是圆等等,以及矢量的抗锯齿、字体抗锯齿等等,H5只能呵呵了
    —————————–
    再来说说性能,AS3的执行效率本来就比V8-JS快,再看渲染性能,看你用哪种方式开发,越接近底层性能越高,PC上chrome开启硬件加速,canvas重绘性能直接秒flash,但是flash使用starling的话,估计能秒canvas,egret、cocosJS和laya这种自带H5加速器的,在手机端据说性能达到原生的性能,我也没做过测试,不敢多说,希望了解的朋友补充一下
    —————————–
    其实我们生活中大量存在着flash,不只页游和广告,还包括商场大屏广告、星际争霸2等游戏大作UI界面、美女直播、优酷土豆、KTV点歌屏都是flash的,还有很多C++开发的桌面客户端,在实现华丽界面或者动画的时候,都嵌入flash来实现,这些业务长期来看都不会被H5取代,PC上flash的地位不可撼动,而flash失去的,是手机平台,或者说,手机上,原生开发同时干翻了flash和H5
    ——————————
    展望未来,flash和H5都在很努力的在手机上推进,flash的air,如今看来已解决性能和发烫耗电的问题,兼容性和开发环境都有了很大的进步,一个app放在我面前,我都很难分辨是不是air开发的,只有仔细看滚动的时候,flash的滚动算法和原生略有一点不同,这才能看得出来。同样H5也是,安卓的腾讯手机页游里面,用egret和laya加速的游戏,全屏的,感觉完全没有浏览器的存在,性能也相当好,不掉帧,发烫耗电正常,和原生没啥区别
    未来还是IOS开发最高,其他差不多,要说项目的话,不差钱的大厂就继续原生开发,但如果我是小厂老板,我肯定选AIR做移动开发,微信平台,我就用laya,把AS编译为JS发到朋友圈,页游手游手机页游什么的,还是用laya,把AS同时编译为flash页游、air手游和H5手机页游(真尼玛拗口),减少开发人员,全平台制霸是未来方向

    html5的主要困境其实和flash是一样的,都是主流浏览器厂商的利益。
    谷歌浏览器肯定是希望html5快速发展好,谷歌的广告业务高度依赖网页。
    微软原来的拼命拆台的,另搞个兼容不好的js捣乱javascript,搞个sliverlight去取代flash,现在微软没那么强势了,但是为了windows,它还是不希望浏览器太强大。
    苹果肯定不希望html5发展好,html5发展好了,网页就会像微信取代短信一样取代苹果的应用商店。
    火狐等专做浏览器的希望html5越强大越好。

    html5的问题不是技术问题,是利益问题。

    先不提 HTML5,从本质上来讲,Flash 就不是一项开放的技术。标准掌握在 Adobe 手中,所有媒体开发者、浏览器厂商都必须使用 Adobe 提供的软件来制作、播放 Flash 媒体。

    而 HTML5 的标准是开放的,开发者按照规范来写网页,浏览器厂商按照规范写浏览器,程序就能跑起来。不需要一个别人专有的东西来支持它。

    PS:我在 GitHub 上咋从来没见过有人写 Flash 应用呢 ……

    早两年都H5是嗤之以鼻,特别是有些人叫嚣APP已死,H5才是未来。不知道这些人钻哪里去了。
    H5要发威当然必须得指望游戏,现在流行的那种H5宣传页面,就是PPT玩剩下的东西,花里胡哨,不能形成商业模式。H5想牛逼当然必须搞游戏了,但不要指望跟Native去硬拼,必须发挥自己轻量化的优势。

    我觉得商用wifi的portal页面可以成为H5一个发威的场景。这种比app更加轻、更加碎片化的使用场景如果能通过某个方式积累起来,将是很巨大的。比如chinanet的登陆页,没账号的用户为什么不可以让他玩上面的H5游戏呢?占用几个流量?每天多少PV被浪费了?玩爽了想下载native版本,作为游戏分发渠道,难道还心疼送用户一点流量?

    H5的问题在于:
    第一:内容创作,目前的内容方面雷同居多,有亮点的内容少之又少,短小精炼的文案+符合场景意境的图片+动画+个性化的音效等等;
    第二:表现形式,当前的H5:图片+背景音乐+少量文字+动画为主(后期这块有更多的创意空间),交互参与方面方面还有很大的拓展空间,人与H5页面的互动,对H5感兴趣的人与人之间的互动几乎没有;
    第三:传播渠道,微信对于H5的限制很多,封一级传播域名,掐断传播路径(具体表现是:你以为自己分享出去了,在自己的朋友圈仅自己可见,其他朋友其实是看不到的);竞争对手恶意举报等等;其他传播通道:微博、手机QQ、单个群组或者私信,比较分散,很难再短时间带来病毒传播需要的种子分享数量;
    第四:技术限制,html5技术还有待进一步提高,3D以及其他方面的技术还有很大的拓展空间。
    第五:H5行业整体的盈利性方面,目前在手机页游领域还需要突破,在h5营销领域,开发者所获得收益会越来越低,甚至接近于白菜价,其他商业化的渠道还有待挖掘。
    第六:不是任何人都可以很轻易的制作h5,了解h5制作、传播分享、技术实现方面所遇到的各种“坑”。
    如果有兴趣试试ppt转成h5,推荐试用pp匠,http://ppj.io(浏览器输入这个就可以)

    扒皮叔 什么都不会。就像一颗米,除了被吃,就没…
    Flash限制太大,不够便捷,个人认为以后html5可能会完全代替

  14. 技术而言,我更挺HTML5,光看会Javascript和会ActionScript的人数就知道哪个是趋势了。
    就商业而言:如果Apple、微软WP、安卓都支持Flash,那么应用商用Flash开发应用,他的应用就都可以在所有平台通用了,这显然挑战了苹果的AppStore商业壁垒,是Apple不能容忍的,他们这么多年来一直坚持不支持Flash,就是要保持自己AppStore的优势,这是导致了Flash随着Apple的强盛而不断衰退的关键。如果说Flash的商业障碍在Apple的话,HTML5的障碍就在微软,现在微软在转变战略更加互联网化,对HTML5的支持也越来越好,随着微软这个障碍的逐步解除,HTML5发展就是时间问题了。
    最后Adobe 现在推出了flash导出为html5的工具了。
    首先想提到的是,HTML5也不仅指HTML5本身,而是泛指HTML5、CSS3、 JavaScript以及新的浏览器API所包含的整个web前端技术。而Flash就不用多说了,跟老婆似的,每天起床也看的到,睡觉前也看的到。

    HTML5不是用户应用的迫切需求,更多是厂商试图改变软件生态格局的战略需求。
    HTML5的兼容性鉴于各大浏览器的以往表现,有待观望,不宜立即迁移应用。
    HTML5需要一个成熟完整的开发环境,记事本+浏览器对付不了。
    HTML5功能的暴增,浏览器必须有一个高效的图形引擎和脚本引擎。
    HTML5需要杀手级应用来吸引和引导用户升级浏览器,最终完成HTML5终端的部署。
    Flash是一个不断在发展的技术,有很强的灵活性,HTML5不可能完全取代Flash,众多的开发人员也不会断然抛弃Flash。

    结论:
    HTML5持跟进态度,多一个方向或者说多了解门技术也不是坏事,谁也说不准未来的事情。
    Flash还是一如既往的支持,一个产物的出现、演变、甚至是灭亡总要有一个过程。如果有一天它不存在了,也是一段历史,那我也将是这段历史的参与者和见证人。往后抱着孙子给他说,你这什么破游戏,想当年俺用Flash..(扯远了。。)

    一定是H5干死flash占主旋律,今年是个理性回归,开始看到了H5的不足,也回忆起了flash的好,H5推了那么久,也没牛逼游戏出来,而且之前脸书主推H5的时候股价暴跌,给了H5狠狠的一记耳光,把如今H5能干的事概况起来,有如下几种:在手机浏览器打开的H5,可以说,基本没啥意思,成不了主流,现在手机用户没多少时间是花在浏览器上的,用H5开发的游戏,再用原生代码包装为app,这个有点意思,但是很难通过苹果审核,还有就是在PC浏览器上的H5,这个做做展示还行,要真是全站H5,广大闲着没事给站长贡献流量的还在用IE6的大叔大妈们都流失了。。最后就是微信H5,现在说H5开发,其实很多说的都是微信朋友圈H5转发,换句话说,在H5大战flash这5年里,H5的成绩也就微信转发神经猫和京东活动这种。。
    ——————————
    再说说flash,比H5提供了更多的功能是肯定的,比方说视频直播,H5就干不来,就算用上HLS也是个鸡肋,天生延迟高,再说视频格式,flash自带平滑算法,同样的视频flash放出来更清晰,而且可以分段加载,可以对视频二进制自行加密,就H5的video标签,能干个啥,还有声音的处理,flash提供了音效处理底层API,从二进制流中截取一段作为声音播放,H5只能给它个url,然后浏览器去播放。还有P2P功能、stage3D显卡渲染、嵌入字体,都是H5不具备的,就图形来说,flash提供多种滤镜、 多种叠加效果、变色,H5啥也没有,还有flash最引以为豪的矢量图形,一条直线都可以有多种画法,线头是尖还是圆等等,以及矢量的抗锯齿、字体抗锯齿等等,H5只能呵呵了
    —————————–
    再来说说性能,AS3的执行效率本来就比V8-JS快,再看渲染性能,看你用哪种方式开发,越接近底层性能越高,PC上chrome开启硬件加速,canvas重绘性能直接秒flash,但是flash使用starling的话,估计能秒canvas,egret、cocosJS和laya这种自带H5加速器的,在手机端据说性能达到原生的性能,我也没做过测试,不敢多说,希望了解的朋友补充一下
    —————————–
    其实我们生活中大量存在着flash,不只页游和广告,还包括商场大屏广告、星际争霸2等游戏大作UI界面、美女直播、优酷土豆、KTV点歌屏都是flash的,还有很多C++开发的桌面客户端,在实现华丽界面或者动画的时候,都嵌入flash来实现,这些业务长期来看都不会被H5取代,PC上flash的地位不可撼动,而flash失去的,是手机平台,或者说,手机上,原生开发同时干翻了flash和H5
    ——————————
    展望未来,flash和H5都在很努力的在手机上推进,flash的air,如今看来已解决性能和发烫耗电的问题,兼容性和开发环境都有了很大的进步,一个app放在我面前,我都很难分辨是不是air开发的,只有仔细看滚动的时候,flash的滚动算法和原生略有一点不同,这才能看得出来。同样H5也是,安卓的腾讯手机页游里面,用egret和laya加速的游戏,全屏的,感觉完全没有浏览器的存在,性能也相当好,不掉帧,发烫耗电正常,和原生没啥区别
    未来还是IOS开发最高,其他差不多,要说项目的话,不差钱的大厂就继续原生开发,但如果我是小厂老板,我肯定选AIR做移动开发,微信平台,我就用laya,把AS编译为JS发到朋友圈,页游手游手机页游什么的,还是用laya,把AS同时编译为flash页游、air手游和H5手机页游(真尼玛拗口),减少开发人员,全平台制霸是未来方向

    html5的主要困境其实和flash是一样的,都是主流浏览器厂商的利益。
    谷歌浏览器肯定是希望html5快速发展好,谷歌的广告业务高度依赖网页。
    微软原来的拼命拆台的,另搞个兼容不好的js捣乱javascript,搞个sliverlight去取代flash,现在微软没那么强势了,但是为了windows,它还是不希望浏览器太强大。
    苹果肯定不希望html5发展好,html5发展好了,网页就会像微信取代短信一样取代苹果的应用商店。
    火狐等专做浏览器的希望html5越强大越好。

    html5的问题不是技术问题,是利益问题。

    先不提 HTML5,从本质上来讲,Flash 就不是一项开放的技术。标准掌握在 Adobe 手中,所有媒体开发者、浏览器厂商都必须使用 Adobe 提供的软件来制作、播放 Flash 媒体。

    而 HTML5 的标准是开放的,开发者按照规范来写网页,浏览器厂商按照规范写浏览器,程序就能跑起来。不需要一个别人专有的东西来支持它。

    PS:我在 GitHub 上咋从来没见过有人写 Flash 应用呢 ……

    早两年都H5是嗤之以鼻,特别是有些人叫嚣APP已死,H5才是未来。不知道这些人钻哪里去了。
    H5要发威当然必须得指望游戏,现在流行的那种H5宣传页面,就是PPT玩剩下的东西,花里胡哨,不能形成商业模式。H5想牛逼当然必须搞游戏了,但不要指望跟Native去硬拼,必须发挥自己轻量化的优势。

    我觉得商用wifi的portal页面可以成为H5一个发威的场景。这种比app更加轻、更加碎片化的使用场景如果能通过某个方式积累起来,将是很巨大的。比如chinanet的登陆页,没账号的用户为什么不可以让他玩上面的H5游戏呢?占用几个流量?每天多少PV被浪费了?玩爽了想下载native版本,作为游戏分发渠道,难道还心疼送用户一点流量?

    H5的问题在于:
    第一:内容创作,目前的内容方面雷同居多,有亮点的内容少之又少,短小精炼的文案+符合场景意境的图片+动画+个性化的音效等等;
    第二:表现形式,当前的H5:图片+背景音乐+少量文字+动画为主(后期这块有更多的创意空间),交互参与方面方面还有很大的拓展空间,人与H5页面的互动,对H5感兴趣的人与人之间的互动几乎没有;
    第三:传播渠道,微信对于H5的限制很多,封一级传播域名,掐断传播路径(具体表现是:你以为自己分享出去了,在自己的朋友圈仅自己可见,其他朋友其实是看不到的);竞争对手恶意举报等等;其他传播通道:微博、手机QQ、单个群组或者私信,比较分散,很难再短时间带来病毒传播需要的种子分享数量;
    第四:技术限制,html5技术还有待进一步提高,3D以及其他方面的技术还有很大的拓展空间。
    第五:H5行业整体的盈利性方面,目前在手机页游领域还需要突破,在h5营销领域,开发者所获得收益会越来越低,甚至接近于白菜价,其他商业化的渠道还有待挖掘。
    第六:不是任何人都可以很轻易的制作h5,了解h5制作、传播分享、技术实现方面所遇到的各种“坑”。
    如果有兴趣试试ppt转成h5,推荐试用pp匠,http://ppj.io(浏览器输入这个就可以)

    扒皮叔 什么都不会。就像一颗米,除了被吃,就没…
    Flash限制太大,不够便捷,个人认为以后html5可能会完全代替