search
HomeWeb Front-endH5 TutorialHTML5 真能代替 Flash 吗?

回复内容:

从长远来看,HTML5会挤占Flash大部分的市场,但Flash主要是在游戏开发方面还是会有一块生存空间。
  1. 功能上:现代浏览器正在迅速地拓展javascript的应用范围: 原生的视频/音频API,2D绘图有Canvas,3D有WebGL,即时通信有WebSockets,还有Local Storage。正在讨论并有可能会在将来加入标准的API还有Geolocation(地理位置),File API(更强大的上/下传),WebStorage(加强版cookie),甚至还有本地文件处理能力等。Flash现阶段在功能已经没有太大优势可言,作为流媒体解决方案暂时还有一席之地,但浏览器原生API普及之后被取代是迟早的事情。在数据存储和本地操作方面,由于是一个插件,更是受到各种安全性的制约。 (这里基于web,不讨论Air)
  2. 性能上:曾经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正迎头赶上。
  3. 语言上: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广泛的多。
  4. 平台支持上:Flash是嵌入型的,只要能运行,那么在它本身的虚拟机内就不存在兼容性的问题,只存在版本的问题;而Flash Player的版本更新adopt rate向来是非常高的。这一点上对开发者而言少了很多麻烦。HTML5最令人头痛的就是参差不齐的浏览器兼容性,这也是现阶段HTML5最大的硬伤。但是HTML5在平台上也有一个明显优势,那就是越来越重要的移动平台上,HTML5的支持情况要好很多很多(iOS支持几乎所有的HTML5 API和CSS3属性,而大多数移动浏览器都是HTML5支持良好的webkit内核),相比之下Flash在iOS上直接出局,也是一个硬伤。从长远来看,HTML5还是绝对赢家,因为浏览器支持度只会越来越好,而移动平台上Flash已经没有竞争力,Adobe最近已经宣布停止了移动平台上Flash Player的继续开发。
  5. 额外一点:在相当多的大型企业内部,都有很多昂贵的内部专用的网络应用,因为开发年代久远,都是针对IE6开发的,一旦不用IE6就要出问题。更新浏览器意味着要替换这些应用,耗费会很大,加上这些企业的管理层不懂技术,往往不愿意这么做。而开发新应用的时候,开发者就必须要针对IE6开发,这就给了Flex应用一个独特的生存空间:在IE6里也可以提供丰富的界面和复杂的功能要求。不过这一点随着时间的推移,迟早也是要不成立的。
最近做HTML5图形组件优化,实现基于Canvas的拓扑图,上万图元流畅操作,可导出两亿像素的大图,图形渲染能力已经将flex, silverlight抛到脑后了,ActionScript效率低就不说了,现在连flash拿手的2D图形也落了下风,被替代是自然的事

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

HTML5 真能代替 Flash 吗? 基于HTML5的拓扑图 - 十万图元流畅展示 http://v.youku.com/v_show/id_XNzI1NDc2NzQ0.html
HTML5 真能代替 Flash 吗? 我感觉flash肯定会慢慢没落的,因为adobe现在的投资基本已经不在flash上面。而HTML5也肯定会发展,以后还会有HTML6,JS2之类。有一天,会被替代的。当前,还没完全替代。 如果未来的互联网是基于“云+终端”构架,那么Html5或类似Html5的终端兼容解决方案必然会出现。Html5出现的最大意义也在于此,开发者不需要为iOS平台和Android平台重复开发应用,Html5提供一个统一的解决方案。
-----------------------------------------------------
好像跑题了。。。 哈哈
好吧,再补充一下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 方便不是一点点。
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How to Add Audio to My HTML5 Website?How to Add Audio to My HTML5 Website?Mar 10, 2025 pm 03:01 PM

This article explains how to embed audio in HTML5 using the <audio> element, including best practices for format selection (MP3, Ogg Vorbis), file optimization, and JavaScript control for playback. It emphasizes using multiple audio f

How to Use HTML5 Forms for User Input?How to Use HTML5 Forms for User Input?Mar 10, 2025 pm 02:59 PM

This article explains how to create and validate HTML5 forms. It details the <form> element, input types (text, email, number, etc.), and attributes (required, pattern, min, max). The advantages of HTML5 forms over older methods, incl

How do I use the HTML5 Page Visibility API to detect when a page is visible?How do I use the HTML5 Page Visibility API to detect when a page is visible?Mar 13, 2025 pm 07:51 PM

The article discusses using the HTML5 Page Visibility API to detect page visibility, improve user experience, and optimize resource usage. Key aspects include pausing media, reducing CPU load, and managing analytics based on visibility changes.

How do I use viewport meta tags to control page scaling on mobile devices?How do I use viewport meta tags to control page scaling on mobile devices?Mar 13, 2025 pm 08:00 PM

The article discusses using viewport meta tags to control page scaling on mobile devices, focusing on settings like width and initial-scale for optimal responsiveness and performance.Character count: 159

How do I handle user location privacy and permissions with the Geolocation API?How do I handle user location privacy and permissions with the Geolocation API?Mar 18, 2025 pm 02:16 PM

The article discusses managing user location privacy and permissions using the Geolocation API, emphasizing best practices for requesting permissions, ensuring data security, and complying with privacy laws.

How to Create Interactive Games with HTML5 and JavaScript?How to Create Interactive Games with HTML5 and JavaScript?Mar 10, 2025 pm 06:34 PM

This article details creating interactive HTML5 games using JavaScript. It covers game design, HTML structure, CSS styling, JavaScript logic (including event handling and animation), and audio integration. Essential JavaScript libraries (Phaser, Pi

How do I use the HTML5 Drag and Drop API for interactive user interfaces?How do I use the HTML5 Drag and Drop API for interactive user interfaces?Mar 18, 2025 pm 02:17 PM

The article explains how to use the HTML5 Drag and Drop API to create interactive user interfaces, detailing steps to make elements draggable, handle key events, and enhance user experience with custom feedback. It also discusses common pitfalls to a

How do I use the HTML5 WebSockets API for bidirectional communication between client and server?How do I use the HTML5 WebSockets API for bidirectional communication between client and server?Mar 12, 2025 pm 03:20 PM

This article explains the HTML5 WebSockets API for real-time, bidirectional client-server communication. It details client-side (JavaScript) and server-side (Python/Flask) implementations, addressing challenges like scalability, state management, an

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools