HTML5 真能代替 Flash 吗?
回复内容:
从长远来看,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可以让他们可以写出和桌面软件一样强大无比的应用,而且所有平台通吃。 我adobe的同事,已经证实了,adobe放弃flash转向HTML5了,再辩论这个问题还有意义么? 不能,主要是在游戏方面。
或许将来出来替代flash的技术,但肯定不会是HTML5。 不能,就如同Flash不应替代HTML5一样
各司其职是硬道理。 不能
- 这两个技术覆盖的面不是100%重合的。flash平台有其独到的应用领域。
- HTML5本身和周边的发展还很不充分,现在提出这个问题其实还没有什么现实意义。
- 当然HTML5对Flash生存空间的挤压也是理所当然的。
- 技术的优劣不仅限于技术本身,跟大企业支持度,现有市场份额等均有很大关系,而人为因素有时也会起到决定作用。
HTML5文档在iPhone、iPad、Android手机/平板和现代浏览器上的显示效果是一样的;采用HTML5技术之后,文档加载速度提升30%,文件体积减小40%;HTML5具有语义性,方便Google爬虫等程序分析、收录。自己想吧。。。 就说一条:对于在各种操作系统平台、浏览器视觉呈现的一致性,Flash 比 HTML5 方便不是一点点。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

H5代码的最佳实践包括:1.使用正确的DOCTYPE声明和字符编码;2.采用语义化标签;3.减少HTTP请求;4.使用异步加载;5.优化图像。这些实践能提升网页的效率、可维护性和用户体验。

Web标准和技术从HTML4、CSS2和简单的JavaScript演变至今,经历了显着的发展。 1)HTML5引入了Canvas、WebStorage等API,增强了Web应用的复杂性和互动性。 2)CSS3增加了动画和过渡功能,使页面效果更加丰富。 3)JavaScript通过Node.js和ES6的现代化语法,如箭头函数和类,提升了开发效率和代码可读性,这些变化推动了Web应用的性能优化和最佳实践的发展。

H5不仅仅是HTML5的简称,它代表了一个更广泛的现代网页开发技术生态:1.H5包括HTML5、CSS3、JavaScript及相关API和技术;2.它提供更丰富、互动、流畅的用户体验,能在多设备上无缝运行;3.使用H5技术栈可以创建响应式网页和复杂交互功能。

H5通过多媒体支持、离线存储和性能优化提升网页用户体验。1)多媒体支持:H5的和元素简化开发,提升用户体验。2)离线存储:WebStorage和IndexedDB允许离线使用,提升体验。3)性能优化:WebWorkers和元素优化性能,减少带宽消耗。

HTML5是构建现代网页的关键技术,提供了许多新元素和功能。1.HTML5引入了语义化元素如、、等,增强了网页结构和SEO。2.支持多媒体元素和,无需插件即可嵌入媒体。3.表单增强了新输入类型和验证属性,简化了验证过程。4.提供了离线和本地存储功能,提升了网页性能和用户体验。

HTML5代码由标签、元素和属性组成:1.标签定义内容类型,用尖括号包围,如。2.元素由开始标签、内容和结束标签组成,如内容。3.属性在开始标签中定义键值对,增强功能,如。这些是构建网页结构的基本单位。

HTML5的关键元素包括、、、、、等,用于构建现代网页。1.定义头部内容,2.用于导航链接,3.表示独立文章内容,4.组织页面内容,5.展示侧边栏内容,6.定义页脚,这些元素增强了网页的结构和功能性。

HTML5和H5没有区别,H5是HTML5的简称。1.HTML5是HTML的第五个版本,增强了网页的多媒体和交互功能。2.H5常用于指代基于HTML5的移动网页或应用,适用于各种移动设备。
