HTML5如何“取代”Flash?

自iPad揭幕以来,一场引起争议的话题就是Flash与HTML5的问题。 有些人认为HTML5有朝一日将代替Adobe Flash。

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

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

有人能够向技术/编码观点解释(对于这个C / C ++开发人员),基于文本的标记语言(HTML5)可以被视为多媒体框架(Flash)的替代品吗?

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

在本讨论的上下文中,人们宽松地引用HTML5的是HTML作为标记语言,指定其如何呈现的CSS以及dynamic操作HTML和CSS的JavaScript代码的组合。

此外,HTML5不仅具有标准文本元素,而且还可以绘制可以绘制2Dgraphics的<canvas>和embeddedvideo的<video>元素(顾名思义)。

因此,在完整的HTML5实现中,您可以在不使用Flash的情况下实现dynamic网站。 一个例子是Youtube的HTML5版本,最近作为Safari / Chrome用户的testing版推出,请看这里 。 另一个是JavaScript + HTML中的NES模拟器 。 (那么后者并不关心HTML5 …它使用<canvas> 。)

当Steve J.对HTML5做出的评论是未来的时候,他并没有解释说这个声明实际上是指今天Flash最广泛的使用,那就是Video。 也许他没有有目的地解释这一点,所以许多想要在iPhone上观看Hulu的错误的terminal用户会对Flash发起愤怒。 这正是发生的事情,这是令人讨厌的,我失去了对史蒂夫的尊重。

HTML5堆栈(html,css和JS)不会直接替代Flash。 我一直在开发Flash内容超过10年,我也很擅长JS。 我畏缩思考如何使用JS来完成同样的事情。 用JS和CSS来完成任务是非常困难的。 对于基本的animation和类似JQuery的function,当然,HTML5可以成为一个可行的选项,而不是Flash。 但对于复杂的游戏和RIA,我只是看不到它。 Actionscript已经发展成为一个function强大,function全面的语言。

另一个重要的事情是,Flash播放器由Adobe定期更新,以解决任何可能出现的问题。 他们将如何更新/改进HTML5规范,如果它成为规范和Flash去拜拜? 他们不会。 你必须等待HTML6和所有的浏览器来支持它。 这意味着你最终等待5 – 10年。 伟大的方式,让我们回到1998年。不,谢谢,我现在坚持使用Flash。

尽pipe开放标准是一个有价值的目标,但我并不认为他们的这种说法是正确的。

我的两分钱

我认为这里有些人是编程的势利,而不是在倾听。 我也是Flash开发人员,我不希望它消失。 你知道为什么? 因为CREATIVE人可以很容易地使用Flash来开发我们的大脑中的东西。 喜欢绘制和创build场景的人不一定喜欢编码。 键入一堆“句子”不是绘画和animation! 你对HTML5的评价就像说毕加索和达利应该学习编程语言来绘画。 荒谬的,对吧?

这就是为什么人们更喜欢Flash到HTML5。 这不是自我服务,只是承认能够创造酷animation网页内容的人们宁愿能够创造我们自己的愿景,而不是学习不相关的技能,或者依靠别人来为我们解释。

不要嘲笑,你可能会想出一个与Flash相媲美的HTML5视觉环境。

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

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

它有一个编程语言(JavaScript),就像Flash一样; 一组API,作为通常被称为“HTML5”的努力的一部分,绘制graphics(SVG,<canvas>),播放audio和video(<audio>,<video>)的方式显着扩展。

与Flash不同的是,“HTML5应用程序”是由浏览器处理的,而不是由专有的浏览器插件来处理的,至less对于浏览器供应商来说是这样(请参阅本文的相关部分 – 感谢Jotham)。 例如,浏览器供应商可以解决问题(而不是等待Adobe) – IIRC苹果公司将Flash列为Mac上所有崩溃事件中排名第一的原因。

[编辑删除“开放标准更好”的说法,我懒得备份]

这不是简单的HTML5,而是浏览器采用它的时候。 例如,如果没有浏览器提供的video播放器来实际呈现video,那么HTML5 <video>标签的存在意味着什么(在这一点上,希望是Flash Video将不再需要)。 <audio>标签也一样。

另外,HTML5的canvas元素(与JS结合)允许在浏览器中使用比以前更先进的graphics。

那么,为了得到对HTML5 / canvas + JavaScriptfunction的印象,您可能需要看看这是一个纯粹用HTML5完成的Wolfenstein 3D的实现,而不使用任何Flash(注意,您需要启用canvas浏览器如Firefox来看看这个工作)。

HTML5可以通过匹配function来替代Flash。 更重要的是,HTML5堆栈(包括JavaScript和CSS)可用于构build相同types的富Web应用程序,而Flash是之前唯一可行的选项。 由于HTML承诺也解决了Flash平台的一些缺点,未来在这个领域有可能取代Flash。

这个讨论非常集中于在用户端用于呈现应用程序的技术。 它没有解决作者实际上能够创build将被传送给用户的内容的容易程度。 您已经提到,Flash与Adobe专门构build和销售的一组商业工具相关联,以满足丰富内容作者的需求。 HTML5的这种解决scheme还没有被采用。 对于将编写视为编码的开发者来说,这不是一个大问题,他们也不会很难获得HTML5的支持(许多人已经这么做了)。 对那些没有开发人员/编码背景的作者来说,这可能是另一回事,对他们来说,HTML5的可行性将在很大程度上取决于集成创作工具的可用性。 也许Adobe Flash工具将在几年内输出到HTML5而不是SWF。

Flash比audio/video更多。 最近Flex已经非常stream行,因为它有丰富的编程模型和开发高性能用户界面的能力。

如果HTML 5或其他任何东西必须stream行起来,首先内置的JavaScript引擎必须更高效。 由于强大的ActionScript引擎,Flex / Flash这些日子很stream行。

这些愚蠢的非创造性的人还没有意识到,HTML5 / Javascript / CSS是非常臃肿的开始。 所有这些资产仍然是完整的RAW文本文件。 没有压缩没有字节码优化,它将永远是这样的。 所以对于游戏开发者来说,这不是一个让你的所有资源都很容易被盗的select。 Flash允许您以更紧凑的方式编译源代码,同时仍然能够以紧凑的vectorgraphics方式创builddynamic内容。 该闪存已经支持着色器,硬件加​​速,像素滤镜(Pixel bender)和图层效果。 直到今天,你无法获得html元素,轻松简单地放下阴影。 HTML5将只是试图取代Flash作为媒体播放器,但由于Flash的普及是由于其一致性,它将是一个艰难的销售。 我对CSS和Javascript的仇恨可以从以下事实中推测出来:JavaScript代码的40%是为了浏览器的兼容性,而CSS implimentation在不同的浏览器厂商是不一致的。 直到你书呆子绕过这个问题闪存将永远不会被取代。 事实是,无论你能在HTML5中做什么,我们都可以在Flash中更快,更好地完成。

我已经在Canvas上看到了Wolfenstein 3D。 它的劣势 。 很小。 我们可以用更大的窗口制作更好的3D引擎。 打败那个?

我怀疑这是否意味着Flash能够涵盖的所有内容。 但是,如果您现在浏览网页,则会看到Flash广泛用于在浏览器中传送video或audio内容。 HTML5中包含的东西虽然不能达成任何标准的编解码器,但现在已经被削弱了。

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

这是否真的会成为Flash的死亡video还有待观察。 HTML 5video编解码器问题迟早会被整理出来。 但是,Flash将很可能仍然是内容交付者需要更好地控制将交付的内容,DRM和类似技术的媒介。

与用于跟踪GUI事件的javascript和新的HTML 5元素的脚本一起,您将获得许多Flash提供的function。

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

看一下jit ,看看HTML5中的一个图表的例子

支持HTML5标准的现代浏览器能够在浏览器内部播放支持的媒体文件,而不需要第三方插件。

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

这就是为什么iPad可以播放video,如果video网站使用HTML5,没有Adobe Flash插件,使用完全符合HTML5标准的Safari浏览器。

我希望我们正在谈论HTML5如何取代SWF和FLV。 不完全闪光。 我是Flash开发人员(mature)。 对于我来说,一个更具艺术性而不是脚本编程思想的人,使用Flash是相当容易的(大部分时间)。 如何让漫画人物在HTML5中穿越屏幕? 或者像一个简单的变形(补间)圆成一个正方形? 当然,我没有编写代码。 我在编程方面并不是那么聪明。 Flash相对简单。 把你所有的graphics绘制在你喜欢的应用程序中(插图画家),然后用动作脚本将它们拼接在一起。 我爱你们苹果和Adobe。 请拿出一些妥协。

很多人声称HTML5会杀死像Flash和Silverlight这样的插件,但事实并非如此。

拿这个例子来说吧。

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

parsing字节内容客户端。

以有效的方式绘制内容。

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

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

我当然希望HTML5可以提供商品,也许不能完全取代Flash,但至less在video方面。 尽pipeFlashvideo体积很小,但它占用了太多的处理空间。 转到没有启用flashblock的YouTube,然后打开任务pipe理器。 现在你可以看到,当你访问闪存驱动的网站,如YouTube时,Firefox的进程突然跳出页面。 我的build议得到Flashblock。

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

我第一次听到史蒂夫·乔布斯的“HTMLreplaceFlash”的评论。 (他不喜欢Flash,也许是因为它在Mac电脑上崩溃,我不确定,我认为他没有联系,certificate是他的“iPad”的荒谬产品。)

关键是开发者应该好吗? 答:不如Flash。 然而。 为什么我用有限的经验来说这个? 这就是所有在Javascript中需要的“try … catch”兼容性代码才能在所有浏览器中工作。 什么是垃圾。 ActionScript / Flash是适用于所有浏览器的一款代码/应用程序。

另一件事是Flash具有graphics化(和非graphics化)开发软件工具来简化stream程。

所以短的答案是ADOBE不会放弃HTML5的“replace”闪光灯,至less在短期内。 但是,如果人们为其制作足够的开发工具,尤其是所见即所得的graphics工具,就可以与Flash竞争,就像Google开发一个易于使用的所见即所得的编辑器来制作GWT应用程序一样。 这是一个很大的IF。

Flash以时间线,舞台和场景进行操作,并允许将电影放在另一个之上。 它还具有洋葱皮,补间和其他vector艺术工具,通过逐帧animation制作卡通animation。 你做这一切,然后控制它将是一个非常小的简单的代码/动作脚本。 对于作者来说,CSS JAVA并不是一个接近艺术体验的地方,而且还有更多的编码需要实现类似的效果 – 闪存更快,更容易和用户友好。 我怀疑Flash会匆匆到任何地方。

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

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

最终浏览器可能是OS(用户模式)。 目前的操作系统将被限制在内核模式下,主要是硬件处理。

一个极其明显和广泛的angular度是很less被引用的,那就是含糊地引用的“闪光”术语实际上包含了整个Flash平台,而且包括了Flash IDE。

使用该技术创build复杂漫画和animation的animation师和其他艺术types几乎完全取决于IDE的工作。 没有它根本就不可能。 故事结局。 语言规范级别的技术不仅仅是重要的! 这也是关于这种情况下的“支持技术”的IDE(我说“支持”,但Flash IDE是一个与其他Flash平台集成的技术)。

如果有人构build了一个具有与Flash IDE相媲美的HTML5 IDE,那真是太好了,但我很惊讶,这一点很less提出来。 艺术家和程序员一样是辩论的一部分,说这不是他们的业务是不合理的。

所以,要直接回答你的问题:只有当为其构build适当的IDE时,HTML5才会被认为是一个完全合理的select,甚至是替代Flash等多媒体框架,从而将其提升到多媒体框架。

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

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

在笔记上,我相信电池耗尽是史蒂夫·乔布斯不想在iPhone和iPad上支持Flash的原因。 这可能会咬苹果(无双)在路上。 Android 2.2将支持闪存(但不清楚所有硬件制造商是否会支持它们 – 他们都对自己的电池有信心)。

此外,看起来Flash 10+将会成为未来黑莓手机的一部分,包括BB手机即将推出的BB Playbook平板电脑(顺便说一句,这个玩具有一些杀手级的规格 – 等不及要把它放在手上明年)。

我敢打赌,即使在HTML5支持变得普遍之后,Flash仍将在Web Dev中变得更大。

HTML5确实远非取代Flash或Silverlight UI技术。 问题不仅在于HTML5在应用程序UI组件中所需的数量是有限的,而且也不允许创build自定义的应用程序以使它们能够无缝集成到运行时中。

看看Ample SDK – JavaScript UI框架 ,它的架构很大程度上inheritance于Flex,Silverlight或Gecko中。 它支持跨浏览器的UI技术之一是XUL,可以在CSS中进行样式化,并且可以用XUL DOM或jQuery API进行JavaScript编程。 您也可以在框架之上创build自己的UI技术。

我们目前正在开发一个LCMS,其中一个领域是一个完全所见即所得的创作工具,用于开发符合SCORM和AICC标准的培训材料,包含animation,video,audio,多种types的评估与互动。 该工具看起来接近功率点的外观,使用户可以轻松地拖放学习对象的幻灯片与图片,resize的图像,移动它们,重叠文本,添加testing等。

这个工作空间目前在Flex中完成,性能很好,甚至连Google Docs / Presentations都没有接近这个应用程序的灵活性和性能。

我想知道如果没有大量的资源,可以使用HTML5来开发这种规模的应用程序。 我们是一个小团队的开发者。

简而言之,许多人希望HTML5搭配的function可以提供比Flash更好,更便宜,更高效的graphicsnetworking体验。 考虑到许多复杂的网站,如Gmail,谷歌地图和YouTube可以运行没有任何使用HTML和JavaScript的Flash。 JavaScript和HTML的改进使得网站可以开发更丰富的graphics和animationfunction,而不需要付费。

networking开发人员仍然喜欢IE6这样的浏览器,这个浏览器真的很老,所以你可以确定Flash和类似的技术将会持续很长时间。