自从 iPad 发布以来,关于 Flash 和 HTML5的争论又重新抬头。有人认为 HTML5有朝一日将取代/取代 Adobe Flash。
我不开发在浏览器中运行的软件,所以我(有限的)理解是:
有没有人可以向这位 C/C + + 开发人员解释一下,为什么 从技术/编码的角度来看可以认为基于文本的标记语言(HTML5)可以取代多媒体框架(Flash) ?
请不要固执己见的论点-只是技术性的事实。
简而言之,许多人希望 HTML5与 javascript 相结合的特性能够提供比 flash 更好、更便宜、更高效的图形化 web 体验。考虑到许多复杂的网站,如 gmail,谷歌地图,和 youtube 可以运行没有任何闪存使用 HTML 和 javascript。对 javascript 和 HTML 的改进允许网站开发更丰富的图形和动画特性,而无需支付 Adobe。
它不仅仅是 HTML5,而是当浏览器完全采用它的时候。例如,如果没有浏览器提供的视频播放器来实际呈现视频,HTML5 <video>标签的存在就毫无意义(希望到那时,Flash Video 将不再需要)。<audio>标签也是如此。
<video>
<audio>
此外,HTML5的画布元素(结合了 JS)允许在浏览器中实现比以前更高级的图形。
我怀疑它是否意味着要替代 Flash 所能包含的一切。然而,如果你环顾现在的网络,你会发现 Flash 在浏览器中被广泛用于传输视频或音频内容。HTML5中包含的一些内容,尽管由于他们无法就任何标准编解码器达成一致,现在已经被削弱了。
当然,所有那些漂亮的 Flash 游戏和广告不会因为 HTML 5和 HTML 5不能取代它们而消失。但它的目标是能够取代实际使用 可以交付内容。对于矢量图形,还有 SVG,它可能会得到一些特殊的处理。
这是否真的会是 Flash 视频的死亡还有待观察。HTML5视频编解码器问题迟早会得到解决。然而,Flash 很可能仍然是内容提供者的首选媒介,他们希望对将要提供的内容、 DRM 和类似的技术有更大的控制权。
在这个讨论的上下文中,人们大致提到的 HTML5是 HTML 作为一种标记语言、指定如何呈现它的 CSS 以及动态操作 HTML 和 CSS 的 javascript 代码的组合。
此外,HTML5不仅有标准的文本元素,而且还有可以绘制2d 图形的 <canvas>和嵌入视频的 <video>元素(顾名思义)。
<canvas>
因此,在成熟的 HTML5实现中,您可以不使用 Flash 实现动态网站。一个例子是最近为 Safari/Chrome 用户推出的 HTML5版 Youtube,见 给你。另一个是 javascript + HTML 中的 NES 模拟器。(后者并不真正关注 HTML5... ... 它使用 <canvas>。)
支持 HTML5标准的现代浏览器能够在浏览器中播放支持的媒体文件,而不需要第三方插件。
你可以自己试试。最新版本的 Safary 和 Google Chrome (同样是 Firefox 3.6)可以直接在 HTML5页面中播放 <video>标签。YouTube 现在支持 HTML5.
这就是为什么如果视频网站使用 HTML5,不使用 Adobe Flash 插件,使用完全符合 HTML5标准的 Safari 浏览器,iPad 将能够播放视频。
加上用于跟踪 GUI 事件的 javascript 和新的 HTML5元素的脚本,您可以获得许多 Flash 提供的功能。
HTML5有许多新元素。其中一个叫做 Canvas。有了它,你可以在屏幕上画任何你想要的东西,在它的范围内。你可以使用 javascript 来绘制它,你也可以捕捉任何鼠标点击和类似的 javascript。如果您习惯于桌面上的 GUI 工具包,比如 Tk、 GTK,那么您可以将这些新元素比作这些 GUI 工具包的一些小部件。
看一下 该死,可以看到 HTML5中的一个图形示例
网络开发者仍然喜欢像 IE6这样的浏览器,因为它实在是太老了,所以你可以确定 Flash 和类似的技术将会在很长一段时间内存在。
HTML5可以通过匹配一个又一个的特性来取代 Flash,这并不是说它可以取代 Flash。更重要的是,HTML5栈(包括 JavaScript 和 CSS)可以用来构建与之前 Flash 是唯一可行选择的富 Web 应用程序相同的类型。因为 HTML 承诺同时解决 Flash 平台的一些缺点,所以将来它有可能取代 Flash。
这个讨论主要围绕用于在用户端呈现应用程序的技术展开。它没有解决作者实际上能够轻松创建将提供给用户的内容的问题。您已经提到过 Flash 与一组商业工具相关联,这些工具是由 Adobe 专门开发和销售的,以满足富内容作者的需求。这样的 HTML5解决方案还没有被广泛采用。对于那些将创作视为编码的开发人员来说,这不是什么大问题,他们不会很难获得 HTML5的支持(很多人已经这么做了)。对于那些没有开发/编码背景的作者来说,这可能是另一回事,对于他们来说,HTML5的可行性将在很大程度上取决于集成编写工具的可用性。也许 Adobe Flash 工具将在几年内输出到 HTML5而不是 SWF..。
从技术/编码的角度来看,基于文本的标记语言(HTML5)如何可以被视为多媒体框架(Flash)的替代品?
HTML5是“ Web 技术栈”的新热门名称,而不仅仅是一种“标记语言”。
它有一个编程语言(JavaScript) ,就像 Flash 一样; 一组 API,作为通常标记为“ HTML5”的工作的一部分显著扩展,绘制图形(SVG,< 画布 >)的方法,播放音频和视频(< 音频 > ,< 视频 >)。
与 Flash 不同,“ HTML5应用程序”是由浏览器处理的,而不是由专有的浏览器插件处理的,这对浏览器供应商来说是好事(见相关的 这篇博文文章——感谢 Jotham)。例如,它使浏览器供应商能够修复问题(而不是等待 Adobe)—— IIRC 苹果公司将 Flash 列为 Mac 所有崩溃事件的首要原因。
[编辑删除“开放标准更好”的说法,我懒得去备份]
Flash 不仅仅是音频/视频。最近,Flex 因其丰富的编程模型和开发高性能用户界面的能力而受到广泛欢迎。
如果 HTML5或任何东西必须变得流行,那么首先内置的 JavaScript 引擎必须更加高效。Flex/Flash 由于其强大的 ActionScript 引擎而流行起来。
当史蒂夫 J。发表关于 HTML5是未来的评论时,他没有费心去解释这个声明实际上指的是今天最广泛使用的 Flash,那就是视频。也许他并没有刻意解释这一点,这样一来,许多想在 iPhone 上观看 Hulu 的被误导的终端用户就会发泄他们对 Flash 的愤怒。事实就是如此。.这很烦人,我也失去了对史蒂夫的尊重。
HTML5栈(html、 css 和 JS)不会直接替代 Flash。我已经开发了10多年的 Flash 内容,我也非常有能力在 JS。如果 ActionScript 可以用少50% 的代码完成同样的任务,那么对于使用 JS 完成这些任务,我会感到不安。有些任务即使不是不可能用 JS 和 CSS 完成,也是非常困难的。当然,对于基本的动画和类似 JQuery 的功能,HTML5可以代替 Flash 成为一个可行的选择。但是对于复杂的游戏和 RIA,我就是看不出来。Actionscript 已经发展成为一种强大的、功能齐全的语言。
另一件重要的事情是,Flash 播放器由 Adobe 定期更新,以解决可能出现的任何问题。如果 HTML5规范成为常态,而 Flash 不见了,他们将如何更新/改进? ?他们不会的。你必须等待 HTML6和所有的浏览器支持它。也就是说你要等上5到10年。把我们带回1998年的好办法。不用了,谢谢,我暂时跟着闪电侠。
尽管开放标准是一个有价值的目标,但我并不认为这会像他们所说的那样奏效... ..。
我的意见。
那么,为了让你对 HTML5/画布 + JavaScript 的功能有一个印象,你可能想看看 这个,它是完全用 HTML5实现的 沃尔芬斯坦3D的一个实现,没有使用任何 Flash (注意,你需要一个支持画布的浏览器,比如 Firefox,来看看这个工作原理)。
我第一次听到“ HTML 代替 Flash”的评论来自史蒂夫 · 乔布斯。(他讨厌 Flash,也许是因为它在他的 Mac 电脑上崩溃了,我不确定。我觉得他失去联系了。证据就是他荒谬的产品“ iPad”。)
关键是它对开发商有多好?答案是: 没有 Flash 好。暂时没有。我为什么要用我有限的经验来说这些呢?这就是在 Javascript 中需要的所有“ try... catch”兼容性代码,以便在所有浏览器中工作。真是一堆垃圾。ActionScript/Flash 是用于所有浏览器的一段代码/应用程序。
Flash 还拥有图形(和非图形)开发软件工具来简化流程。
因此,短期的答案是 ADOBE 不会让 HTML5“取代”flash,至少在短期内不会。但是如果人们为 Flash 开发了足够的开发工具,特别是所见即所得图形化工具,比如 Google 开发了一个易于使用的所见即所得编辑器来开发 GWT 应用程序,那么它就可以与 Flash 竞争。这是个很大的假设。
我希望我们讨论的是 HTML5如何取代 swf 和 flv。不完全是闪电侠。我是一个 Flash 开发者(业余的)。对我来说,比起脚本编程,我更注重艺术,Flash 相当容易使用(大多数时候)。 如何让一个卡通人物在 HTML5中走过屏幕?或者一些简单的东西,比如把一个圆变成一个正方形?我当然不会把它写成代码。我只是没有那么聪明,在编程实现这一点。Flash 相对来说很简单。在任何你喜欢的应用程序中绘制所有的图形(对我来说是插图) ,然后用动作脚本把它们缝在一起。 我爱你们两个,苹果和 Adobe。请想出一些折中的办法。
Flash 通过时间线、舞台和场景运行,允许一个接一个地加载电影。它还有洋葱剥皮,嫩化和其他矢量艺术工具,使卡通动画很容易通过一帧一帧的动画。你做所有这些,然后控制它将一个非常小的容易量的代码/动作脚本。HTML JAVA CSS 对于作者来说并不是一种艺术体验,并且需要更多的编码来实现类似的效果—— flash 更快更简单,用户友好。我觉得闪电侠不会那么快离开。
这些愚蠢的没有创造力的人没有意识到的是,HTML5/Javascript/CSS 从一开始就非常臃肿。所有这些资产仍然完全是 RAW 文本文件。没有压缩,没有字节码优化,它总是这样。因此,对于游戏开发者来说,这不是一个选择,让你所有的源代码都很容易被盗用。Flash 允许您以更紧凑的方式编译源代码,同时仍然能够以紧凑的矢量图形方式创建动态内容。闪光灯顶部已经支持着色器,硬件加速,像素过滤器(像素弯曲)和图层效果。直到今天,你还不能让 html 元素轻松简单地去掉阴影。HTML5将仅仅试图取代 Flash 作为媒体播放器,但由于 Flash 的流行是由于其一致性,这将是一个硬推销。我对 CSS 和 Javascript 的憎恨可以从40% 的 Javascript 代码是浏览器兼容性和 CSS 实现在不同的浏览器供应商上从来没有一致性这一事实中推测出来。除非你们这些书呆子解决了这个问题否则闪电侠永远不会被取代。事实上,无论你在 HTML5中做什么,我们都可以在 flash 中做得更快更好。
我已经在画布上看过沃尔芬斯坦的3D 电影了。它是劣等的.还很小。我们可以用更大的窗口制造更好的3D 引擎。打败它?
基于文本的标记语言(HTML5)有可能取代多媒体框架(Flash)。
解决方案很简单,只需将框架移动到浏览器中,就可以成为一个开放的标准。不仅仅是多媒体框架,现在的浏览器还可以包含许多其他属于操作系统的内容。
有可能最终浏览器将是操作系统(用户模式)。当前的操作系统将局限于内核模式,主要处理硬件。
我觉得这里有些人是程序设计的势利眼,根本没在听。我也是一个初级的 Flash 开发者,我不想让它消失。你知道为什么吗?因为有创造力的人可以很容易地使用 Flash 来开发我们大脑中的东西。一个喜欢绘制和创建场景的人不一定喜欢编码。输入一堆“句子”不是绘画和动画!你所说的关于 HTML5就像是说,毕加索和达利应该学习一种编程语言来绘画。很可笑,对吧?
这就是为什么人们更喜欢 Flash 而不是 HTML5。这并不是自私自利,只是承认那些有能力创造出很酷的动画网页内容的人们更愿意创造出我们自己的愿景,而不是学习一些不相关的技能或者依赖别人来为我们解释。
与其嘲笑,不如想出一个 HTML5可视化环境来与 Flash 抗衡。
很多人声称 HTML5会杀死像 Flash 和 Silverlight 这样的插件,但事实并非如此。
以这个场景为例。
通过 URL 加载二进制文件。为了便于演示,我们将使用 shapefile 格式(。Shp) ,其中包含一个坐标系中的地理多边形。
解析字节内容客户端。
以有效的方式绘制内容。
演示: http://www.libertyvanguard.com/liberty-gis
这只是一个插件技术不会被 HTML5取代的例子。
一个非常明显而且很少被提及的更广泛的角度是,含糊引用的“ Flash”术语实际上包含了整个 Flash 平台,其中包括 Flash IDE。
使用该技术创作复杂卡通和动画的动画师和其他艺术类型几乎完全依赖 IDE 来完成他们的工作。没有它就不可能实现。就这样。重要的不仅仅是语言规范级别的技术!在这种情况下,它还涉及到“支持技术”IDE (我说的是“支持”,但是 Flash IDE 是一种与 Flash 平台的其他部分集成的技术)。
如果有人构建了一个 HTML5 IDE,其特性可以与 Flash IDE 相媲美,那当然很好,但我很惊讶这一点很少被提及。艺术家和程序员一样都是争论的焦点,说这不关他们的事是不合理的。
因此,直接回答你的问题: HTML5将被认为是一个完全合理的替代品——甚至是替代品——对于像 Flash 这样的多媒体框架来说,当且仅当为它构建了一个合适的 IDE,从而也将它提升为一个多媒体框架。
在不考虑 IDE 的情况下提出论点是不现实的。如果问题是 特别是“ HTML5在没有 IDE 的情况下处于完成状态,除了手动制作复杂动画之外,对于应用程序来说,它能替代 Flash 吗?”那么答案很可能是肯定的,然后我们就都能回家了。
有趣的话题。我赞同大多数海报的观点,即虽然 HTML5在基本的多媒体表示方面取得了巨大的飞跃,但它不能取代 Flash。所有的在线游戏网站都是一个很好的例子。Flash 可以运行在除某些移动设备之外的大多数浏览器上。
关于这一点,我认为电池消耗是史蒂夫 · 乔布斯不想在 iPhone 和 iPad 上支持 Flash 的最初原因。这可能会给苹果公司(不是双关语)带来不利影响。Android 2.2将支持闪存(但不清楚是否所有的硬件制造商都支持它——他们对自己的电池很有信心)。
此外,看起来 Flash 10 + 将是黑莓手机的必然选择,包括即将推出的 BB Playbook 平板电脑(顺便说一句,这个玩具有一些杀手级的规格——等不及明年推出它了)。
我敢打赌,即使在 HTML 5支持变得普遍之后,Flash 仍将在 Web 开发中占据重要地位。
HTML5距离取代 Flash 或 Silverlight UI 技术还有很长的路要走。问题不仅在于 HTML5在应用程序 UI 组件中的需求量有限,而且还在于它不允许创建自定义组件,使其无缝集成到运行时中。
看看 丰富的 SDK-JavaScriptUI 框架,它的架构很大程度上继承了你在 Flex、 Silverlight 或 Gecko 中找到的东西。它支持跨浏览器的 UI 技术之一是 XUL,可以在 CSS 中设计样式,也可以在 JavaScript 中使用 XUL DOM 或 jQuery API 进行编程。您还可以在框架之上创建自己的 UI 技术。
我们目前正在开发一个 LCMS,其中一个领域是一个完全所见即所得的创作工具,用于开发符合 SCORM 和 AICC 标准的培训材料,其中包含动画,视频,音频,多种类型的互动评估。这个工具看起来非常接近电源点的样子,允许用户轻松地将学习对象拖放到带有图片的幻灯片上,调整图片大小,移动它们,重叠文本,添加测试等等。
这个工作区目前是用 Flex 完成的,性能很好,甚至 Google Docs/Presentations 都比不上这个应用程序的灵活性和性能。
我想知道如此规模的应用程序是否可以在没有大量资源的情况下用 HTML5开发。我们是一家小公司,开发人员很少。
我当然希望 HTML5可以提供商品,也许不会完全取代 Flash,但至少在视频方面。虽然 Flash 视频的尺寸很小,但它确实占用了太多的处理时间。在没有启用 flash 块的情况下访问 youtube,然后打开任务管理器。现在您可以看到,当您访问像 youtube 这样的 flash 驱动站点时,Firefox 的进程是如何突然跳出页面的。我的建议是去找 Flashblock。
我认为 HTML5将取代大部分的 flash/flex,这可能会继续作为另一个分支,因为画布很酷。新的图书馆将会出现。但是只要 JS 实际上是 单线程的,它就不会这么快,特别是在游戏中,假设 Adobe 不会放弃。