142

自从 iPad 面世以来,人们再次看到的争论主题是 Flash 与 HTML5 的问题。有些人认为 HTML5 有朝一日会取代/取代 Adob​​e Flash。

我不开发在浏览器中运行的软件,所以我的(有限的)理解是:

  • HTML 是一种纯文本标记语言,通过 HTTP 传送到客户端浏览器。客户端浏览器根据标准规范解释标记并呈现(不同程度的成功)页面。
  • Adobe Flash 是用于处理音频、视频、声音和光栅/矢量图形的专有框架。它需要特殊的创作工具(也许是编译器?)和可作为大多数常见浏览器插件使用的自定义播放器。

有人可以(向这位 C/C++ 开发人员)解释一下,从技术/编码的角度来看,基于文本的标记语言 (HTML5) 如何可以被视为多媒体框架 (Flash) 的替代品?

请不要自以为是的论点 - 只是技术事实。

4

25 回答 25

85

在本次讨论的上下文中,人们松散地提到 HTML5 是作为标记语言的 HTML、指定其呈现方式的 CSS 以及动态操作 HTML 和 CSS 的 javascript 代码的组合。

此外,HTML5 不仅具有标准的文本元素,还可以<canvas>在其上绘制 2d 图形,以及<video>嵌入视频的元素(顾名思义)。

因此,在完整的 HTML5 实现中,您可以在不使用 Flash 的情况下实现动态网站。一个例子是 Youtube 的 HTML5 版本,它最近作为 Safari/Chrome 用户的测试版推出,请参见此处。另一个是 javascript + HTML 中的NES 模拟器。(好吧,后者并不真正关心 HTML5 ......它使用<canvas>.)

于 2010-01-31T17:48:55.723 回答
67

当 Steve J. 发表关于 HTML5 是未来的评论时,他没有费心解释这句话实际上是指当今最广泛使用的 Flash,即视频。也许他没有故意解释这一点,所以许多想在他们的 iPhone 上观看 Hulu 的错误最终用户会释放他们对 Flash 的愤怒。这正是正在发生的事情……这很烦人,我对史蒂夫失去了尊重。

HTML5 堆栈(html、css 和 JS)不会直接替代 Flash。我开发Flash内容已经10多年了,我对JS也很精通。考虑将 JS 用于 ActionScript 可以用 50% 更少的代码完成相同任务的任务,我感到畏缩。用 JS 和 CSS 来完成有些任务是非常困难的,如果不是不可能的话。对于基本的动画和类似 JQuery 的功能,HTML5 可以代替 Flash 成为一个可行的选择。但是对于复杂的游戏和 RIA,我只是看不到它。Actionscript 已经发展成为一种健壮的、功能齐全的语言。

另一个重要的事情是 Adob​​e 会定期更新 Flash 播放器,以解决可能出现的任何问题。如果 HTML5 规范成为常态并且 Flash 告别了,他们将如何更新/改进 HTML5 规范?他们不会。您必须等待 HTML6 和所有浏览器支持它。这意味着您最终要等待 5-10 年。让我们回到 1998 年的好方法。不,谢谢,我现在会坚持使用 Flash。

尽管开放标准是一个有价值的目标,但我认为这不会像他们所说的那样发展......

我的两分钱。

于 2010-02-03T20:02:52.860 回答
38

我认为这里的一些人正在编程势利并且没有听。我也是一名初级 Flash 开发人员,我不希望它消失。你知道为什么?因为有创造力的人可以很容易地使用 Flash 来开发我们大脑中的内容。喜欢绘画和创造场景的人不一定喜欢编码。键入一堆“句子”不是绘图和动画!你所说的 HTML5 就像是说毕加索和达利应该学习一门编程语言才能画画。荒谬,对吧?

这就是为什么人们更喜欢 Flash 而不是 HTML5。这不是自私自利,它只是承认有能力创造很酷的动画网页内容的人宁愿创造我们自己的愿景,也不愿学习不相关的技能或依靠别人为我们解释。

与其嘲讽,不如想出一个与 Flash 相媲美的 HTML5 视觉环境。

于 2010-08-18T23:13:57.680 回答
10

从技术/编码的角度来看,如何将基于文本的标记语言 (HTML5) 视为多媒体框架 (Flash) 的替代品?

HTML5 是“网络技术堆栈”的新热门名称,而不仅仅是“标记语言”。

它有一种编程语言 (JavaScript),就像 Flash 一样;一组 API,作为通常标记为“HTML5”的努力的一部分而显着扩展,用于绘制图形(SVG、<canvas>)、播放音频和视频(<audio>、<video>)。

与 Flash 不同,“HTML5 应用程序”由浏览器处理,而不是由专有的浏览器插件处理,这很好——至少对浏览器供应商来说是这样(请参阅这篇博文的相关文章——感谢 Jotham)。例如,浏览器供应商可以解决问题(而不是等待 Adob​​e)——IIRC Apple 将 Flash 列为 Mac 上所有崩溃中崩溃的第一大原因。

[编辑删除我懒得支持的“开放标准更好”的主张]

于 2010-01-31T20:51:20.207 回答
8

它不仅仅是 HTML5,而是当浏览器完全采用它时。例如,如果<video>没有浏览器提供的视频播放器来实际呈现视频,HTML5 标签的存在就没有任何意义(希望在这一点上,不再需要 Flash 视频)。<audio>标签也是如此。

此外,HTML5 的 canvas 元素(结合 JS)允许在浏览器中实现比以前更高级的图形。

于 2010-01-31T17:47:48.090 回答
7

好吧,要对 HTML5/canvas + JavaScript 的功能有个印象,你可能想看看Wolfenstein 3D的实现,它完全在 HTML5 中完成,不使用任何 Flash(请注意,你需要一个支持画布的Firefox 之类的浏览器可以查看此功能)。

于 2010-02-20T20:07:13.463 回答
6

与其说 HTML5 可以通过逐个功能匹配 Flash 来取代它。更重要的是,HTML5 堆栈(包括 JavaScript 和 CSS)可用于构建相同类型的富 Web 应用程序,而 Flash 是之前唯一可行的选择。由于 HTML 承诺还可以解决 Flash 平台的一些缺点,因此它有可能在未来在这个领域取代 Flash。

这个讨论非常集中在用于在用户端呈现应用程序的技术上。它没有解决作者实际上能够轻松创建将交付给他们的用户的内容的问题。您已经提到 Flash 与一组商业工具相关联,这些工具由 Adob​​e 专门构建和销售,以满足内容丰富的作者的需求。HTML5 的此类解决方案尚未被广泛采用。对于将创作主要视为编码的开发人员来说,这不是一个大问题,他们不会很难获得 HTML5 的牵引力(许多人已经这样做了)。对于那些没有开发/编码背景的作者来说,这可能是另一回事,对他们来说,HTML5 的可行性将在很大程度上取决于集成创作工具的可用性。

于 2010-01-31T18:45:17.833 回答
5

这些愚蠢的没有创造力的人没有意识到 HTML5/Javascript/CSS 一开始就非常臃肿。所有这些资产仍然完全是 RAW 文本文件。没有压缩没有字节码优化,它总是这样。因此,对于游戏开发者来说,让您的所有资源都容易被盗窃不是一种选择。Flash 允许您以更紧凑的方式编译源代码,同时仍然能够以紧密的矢量图形方式创建动态内容。在该闪存之上已经支持着色器、硬件加速、像素过滤器(像素弯曲器)和图层效果。直到今天,您还无法让 html 元素轻松简单地投下阴影。HTML5 将仅仅试图取代 Flash 作为媒体播放器,但由于 Flash 的流行是由于它的一致性,所以它会很难卖。我对 CSS 和 Javascript 的仇恨可以推测为 40% 的 javascript 代码是为了浏览器兼容性,而 CSS 的实现在不同的浏览器供应商上是不一致的。除非你的书呆子解决这个问题,否则 Flash 永远不会被取代。事实是,无论您在 HTML5 中可以做什么,我们都可以在 Flash 中更快更好地完成。

我已经在 Canvas 中看到了 Wolfenstein 3D。其劣质。和微小的。我们可以用更大的窗口制作更好的 3D 引擎。打败那个?

于 2010-07-06T05:13:28.057 回答
4

Flash 不仅仅是音频/视频。最近,Flex 非常流行,因为它具有丰富的编程模型和开发高性能用户界面的能力。

如果 HTML 5 或任何东西必须变得流行,首先内置的 JavaScript 引擎必须更高效。Flex/Flash 现在很流行,因为它具有强大的 ActionScript 引擎。

于 2010-01-31T21:50:37.107 回答
4

我希望我们谈论的是 HTML5 如何替代 swf 和 flv。不完全闪光。我是一名 Flash 开发人员(业余)。对于我这个更具有艺术头脑而不是脚本编程头脑的人来说,Flash 相当容易(大部分时间)使用。如何让卡通人物在 HTML5 中穿过屏幕?或者像将圆形变形(补间)成正方形这样简单的东西?当然我没有把它写成代码。我在实现这一目标的编程方面并没有那么聪明。Flash 相对简单。在您喜欢的任何应用程序中绘制所有图形(我的插画师),然后将它们与动作脚本缝合在一起。我爱你们,Apple 和 Adob​​e。请提出某种妥协。

于 2010-04-12T08:04:26.423 回答
3

我怀疑它是否可以替代 Flash 能够包含的所有内容。但是,如果您现在环顾网络,您会发现 Flash 广泛用于在浏览器中传送视频或音频内容。HTML 5 中包含的东西,虽然现在已经瘫痪,因为他们无法就任何标准编解码器达成一致。

当然,所有那些漂亮的 Flash 游戏和广告不会因为 HTML 5 而消失,而 HTML 5 将无法取代它们。但它的目标是能够取代实际可以提供内容的用途。对于矢量图形,还有 SVG 可能会得到一些特殊处理。

这是否真的会成为视频 Flash 的消亡还有待观察。HTML 5 视频编解码器问题迟早会得到解决。但是,Flash 很可能仍然是内容交付者希望更好地控制将要交付的内容、DRM 和类似技术等的首选媒介。

于 2010-01-31T17:48:30.210 回答
3

支持HTML5 标准的现代浏览器能够在浏览器内播放支持的媒体文件,而无需 3rd 方插件。

你可以自己试试这个。最新版本的 Safary 和 Google Chrome(Firefox 3.6 也是)可以<video>直接在 HTML5 页面中播放标签。YouTube 现在支持 HTML5

这就是为什么如果视频网站使用 HTML5,没有 Adob​​e Flash 插件,使用完全符合 HTML5 标准的 Safari 浏览器,iPad 将能够播放视频。

于 2010-01-31T17:49:06.760 回答
3

连同用于跟踪 GUI 事件的 JavaScript 和新 HTML 5 元素的脚本,您可以获得 Flash 提供的很多功能。

HTML 5 有许多新元素。其中之一称为画布。有了它,你可以在屏幕上绘制任何你想要的东西,在它的范围内。您使用 javascript 来绘制它,您也可以使用 javascript 捕捉任何鼠标点击和类似情况。如果您习惯于桌面上的 GUI 工具包,如 Tk、GTK,您可以将这些新元素比作这些 GUI 工具包的一些小部件。

查看thejit以查看 HTML 5 中的图形示例

于 2010-01-31T18:06:50.413 回答
3

Flash 使用时间线、舞台和场景进行操作,并允许在另一个之上加载电影。它还具有洋葱皮、补间和其他矢量艺术工具,可通过逐帧动画轻松制作卡通动画。您完成所有这些操作,然后通过非常少量的代码/操作脚本来控制它。对于作者而言,HTML JAVA CSS 远不是一种艺术体验,而且要实现类似的结果需要更多的编码——flash 更快、更容易且用户友好。我怀疑Flash会匆匆忙忙地去任何地方。

于 2010-05-05T14:59:07.040 回答
3

很多人声称 HTML5 会淘汰 Flash 和 Silverlight 等插件,但事实并非如此。

以这种情况为例。

通过 url 加载二进制文件。为了演示,我们将使用 shapefile 格式 (.shp),其中包含坐标系中的地理多边形。

解析客户端的字节内容。

以有效的方式绘制内容。

演示:http ://www.libertyvanguard.com/liberty-gis

这只是插件技术不会被 HTML5 取代的一个例子。

于 2010-09-09T17:09:14.827 回答
3

HTML5 确实距离取代 Flash 或 Silverlight UI 技术还很遥远。问题不仅在于 HTML5 在应用程序 UI 组件中所需的数量有限,而且还不允许以无缝集成到运行时的方式创建自定义组件。

看看Ample SDK - JavaScript UI Framework,它的架构很大程度上继承自 Flex、Silverlight 或 Gecko 中的架构。它支持跨浏览器的 UI 技术之一是 XUL,可在 CSS 中设置样式,并在 JavaScript 中使用 XUL DOM 或 jQuery API 进行编程。您还可以在框架之上创建自己的 UI 技术。

于 2010-11-07T16:47:53.777 回答
3

我当然希望 HTML5 能够交付商品,并且可能不会完全取代 Flash,但至少在视频方面是这样。虽然 Flash 视频的尺寸很小,但它确实占用了太多的处理时间。在没有启用 flashblock 的情况下转到 youtube,然后打开任务管理器。现在,您可以看到每当您访问像 youtube 这样的闪存驱动网站时,Firefox 的进程是如何突然跳出页面的。我的建议是 Flashblock。

于 2011-01-31T07:53:33.423 回答
3

我认为 HTML5 将取代大部分 flash/flex,它可能会继续作为另一个分支,因为 canvas 很酷。新的图书馆将会出现。但是只要 JS 实际上是单线程的,它就不会那么快,尤其是在游戏方面,假设 adobe 不会放弃。

于 2011-08-19T19:31:50.420 回答
2

我第一次听到史蒂夫乔布斯的“HTML取代Flash”的评论。(他讨厌 Flash 也许是因为它在他的 Mac 电脑上崩溃了,我不确定。我认为他失去了联系。证据就是他的荒谬产品“iPad”。)

关键是它对开发者有多好?答:不如Flash。然而。为什么我以我有限的经验这么说?这就是您在 Javascript 中需要的所有“尝试...捕获”兼容性代码才能在所有浏览器中工作。一堆垃圾。ActionScript/Flash 是适用于所有浏览器的一段代码/应用程序。

Flash 的另一项功能是图形(和非图形)开发软件工具,用于简化流程。

所以简短的回答是,ADOBE 不会让 HTML5 “取代” Flash,至少在短期内是这样。但如果人们为它制作足够多的开发工具,特别是所见即所得的图形工具,它就可以与 Flash 竞争,比如谷歌开发了一个易于使用的所见即所得编辑器来制作 GWT 应用程序。这是一个很大的 IF。

于 2010-02-24T09:17:47.957 回答
2

基于文本的标记语言 (HTML5) 有可能取代多媒体框架 (Flash)。

解决方案很简单,只需将框架移入浏览器并成为开放标准即可。不仅是多媒体框架,浏览器现在还可以包含很多其他属于操作系统的东西。

最终浏览器可能会成为操作系统(用户模式)。当前的操作系统将仅限于内核模式,主要处理硬件。

于 2010-07-06T17:19:21.533 回答
2

很少有人提出一个非常明显且更广泛的观点,即模糊引用的“flash”术语实际上涵盖了整个 Flash 平台,其中包括 Flash IDE。

使用该技术创建复杂卡通和动画的动画师和其他艺术类型几乎完全依赖 IDE 来完成他们的工作。没有它简直是不可能的。故事结局。重要的不仅仅是语言规范级别的技术!在这种情况下,它还与 IDE 中的“支持技术”有关(我说的是“支持”,但 Flash IDE 在很大程度上是一种与 Flash 平台的其余部分集成的技术)。

如果有人构建的 HTML5 IDE 具有与 Flash IDE 相媲美的功能,那就太好了,但我很惊讶这一点很少被提出。艺术家和程序员一样是辩论的一部分,说这不关他们的事是不合理的。

因此,直接回答您的问题:当且仅当为它构建适当的 IDE 时,HTML5 将被认为是 Flash 等多媒体框架的完全合理的替代方案 - 甚至替代品,从而也将其提升为多媒体框架。

在不考虑 IDE 的情况下进行论证是不现实的。如果问题具体是“在没有 IDE 的情况下,处于完成状态的 HTML5 是否可以替代 Flash 用于除了手动动画复杂动画之外的应用程序?” 那么答案很可能是肯定的,我们都会回家。

于 2010-10-03T15:42:38.133 回答
2

有趣的话题。我在这里附和大多数海报的观点,虽然 HTML 5 在基本的多媒体演示方面取得了巨大的飞跃,但它无法取代 Flash。所有的在线游戏网站都是一个很好的例子。Flash 可以在大多数浏览器上运行,但某些移动设备除外。

关于这一点,我认为电池消耗是史蒂夫乔布斯不想在 iPhone 和 iPad 上支持 Flash 的最初原因。这可能会在路上咬苹果(没有双关语)。Android 2.2 将支持闪存(但不清楚是否所有硬件制造商都会支持它——他们会对自己的电池充满信心)。

此外,看起来 Flash 10+ 将在未来的黑莓设备上肯定会出现,包括 BB 手机和即将推出的 BB Playbook 平板电脑(顺便说一句,这个玩具有一些杀手级规格 - 迫不及待想在它推出时拿到手明年)。

我敢打赌,即使在 HTML 5 支持变得普遍之后,Flash 仍将在 Web 开发中占据重要地位。

于 2010-10-21T00:38:34.160 回答
2

我们目前正在开发 LCMS,其中一个领域是完全所见即所得的创作工具,用于开发符合 SCORM 和 AICC 的培训材料,其中包含动画、视频、音频、多种类型的互动评估。该工具看起来接近电源点的外观,允许用户轻松地将学习对象拖放到带有图片的幻灯片、调整图像大小、移动它们、重叠文本、添加测试等。

这个工作区目前在 Flex 中完成并且具有出色的性能,甚至 Google Docs/Presentations 都无法与此应用程序的灵活性和性能相提并论。

我想知道是否可以在没有大量资源的情况下使用 HTML5 开发这种规模的应用程序。我们是一家拥有少量开发人员的小公司。

于 2010-11-13T21:04:17.847 回答
1

简而言之,许多人希望 HTML5 功能与 javascript 相结合,可以提供比 flash 更好、更便宜、更高效的图形 Web 体验。考虑到许多复杂的网站,如 gmail、google maps 和 youtube,可以使用 HTML 和 javascript 在没有任何 Flash 的情况下运行。对 javascript 和 HTML 的改进允许网站开发更丰富的图形和动画功能,而无需向 Adob​​e 付费。

于 2010-01-31T17:47:29.883 回答
1

Web 开发人员仍然关心像 IE6 这样非常老的浏览器,因此您可以确定 Flash 和类似技术将存在很长时间......

于 2010-01-31T18:37:42.230 回答