所以,自从史蒂夫乔布斯说Flash很糟糕并暗示HTML5可以在不需要插件的情况下完成Flash的所有工作,我会不断听到很多人的那些确切的话.
我真的想在某个地方(类似于http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML5%29#Form_elements_and_attributes)有一张图表,我可以向这些人展示.展示Flash现在可以做的所有小事情,HTML5/Ajax/CSS还没有考虑过.但当然HTML5也做得更好.
我希望看到比较的详细信息,如音频播放,实时音频处理,字节级访问,位图数据操作,网络摄像头访问,二进制套接字,P2P技术(adobe stratus)等工作中的东西以及我不知道的所有内容关于我自己.理想情况下,可以使用二进制套接字(例如POP3客户端)作为示例,因为它们对非程序员来说并不意味着很多,因为他们只会说"我们可以做到没有二进制套接字".理想情况下,目前的一些基准测试和一些使用该技术的网站示例.
我在网上搜索过,很惊讶没有发现任何东西.在某处有这样的比较吗?或者有人想创建它并将其发布到维基百科吗?;-)
关于HTML5和Flash之间的比较,已经有很多问题要求.HTML5本身不够强大(作为标记语言),但人们通常在引用HTML5时引用整个堆栈,即HTML5,Javascript,CSS3等.这不是您正在寻找的表格比较,但它得到了一些观点.
首先,HTML5是一个标准,需要时间才能完成.浏览器的实施方式因今天而异,尽管Chrome,Safari和Firefox在已实施的内容方面非常活跃.现在,Flash和HTML5之间的最大区别是沙箱.作为浏览器插件的Flash可以访问HTML5所没有的所有低级功能,因为浏览器的安全限制.通过对插件的简单更新来解除Flash中的限制要容易得多,但是一旦最终确定并实现了更新规范就更加困难了,这就是它花费这么长时间的原因.也就是说,HTML5弥合了这个差距,以尽可能接近Flash的作用.
音频/视频播放
在HTML5中,为音频和视频播放提供了完整的编程访问.受支持的编解码器的问题仍然存在,并且正在争论中.
实时音频/视频处理
对于实时音频和视频处理,对于HTML5来说,事情并不糟糕.查看此演示,获取实时音频可视化示例.另一个用于实时运动检测的演示可用.
Websockets(带有服务器发送事件)和P2P支持
HTML5具有允许创建与服务器的全双工连接的WebSockets,从而减少了对反向Ajax/Comet技术的需求.这对于需要实时数据的游戏,聊天,股票和许多其他类型的应用程序非常有用.WebSockets不是原始套接字,只会连接到实现WebSocket协议的服务器.因此,例如,直接访问您的IMAP帐户是不可能的.WebSockets目前的一个主要缺点是缺乏P2P支持.如果它支持与其他客户端的连接,那将会更有用.这可能会在未来发生变化,但截至今天还没有P2P支持.
UI
HTML缺乏UI方面的主要原因是缺少像Flash这样的画布.SVG在那里,但它不是世界上最容易使用的东西.IDE对这些的支持仍然很少,但它应该随着时间的推移而改进.画布使HTML5与Flash相提并论,至少在UI方面.
设备 - 网络摄像头/麦克风/ ..
一个HTML5设备规格朝着提供接入设备,如摄像头,麦克风等针对性有趣的是,也有这个链接P2P支持一提.它仍然是编辑草案,但看起来我们最终会在HTML6之前拥有P2P.有关捕获API(视频/音频)的更多详细信息,请参见此处.此处列出了设备端正在处理的完整列表.这已经脱离了HTML5规范,并且在一个单独的工作组下.
离线存储,地理位置,并行处理
除其他事项外
在iPhone和Android上使用Mobile Safari,HTML5的移动支持也很好看.
对于一些很酷的演示,请查看以下链接:
http://linuxers.org/article/some-cool-html5-demos
http://html5demos.com/
http://people.mozilla.com/~prouget/demos/
http://htmlfive.appspot.com/
http://9elements.com/io/projects/html5/canvas/
http://ajaxian.com/archives/html5-demos
感谢@iddqd,还有两个很棒的链接
http://apirocks.com/html5/html5.html#slide
http://html5readiness.com