我应该为 HTML5 和 <canvas> 放弃 Adob​​e Flash 吗?

Posted

技术标签:

【中文标题】我应该为 HTML5 和 <canvas> 放弃 Adob​​e Flash 吗?【英文标题】:Should I Abandon Adobe Flash for HTML5 and <canvas>? 【发布时间】:2011-02-14 00:53:44 【问题描述】:

我目前正在研究开发 Facebook 应用程序,并计划使用 Flash 作为我的应用程序的基础,我已经测试构建了一些简单的 php Facebook 应用程序,并且我对动作脚本 3 有足够的了解,可以开始我的工作,但是在 AS 中用于 Facebook 开发的 API 看起来比 PHP 的 API 繁琐得多。

我的问题是,我能否像我们在 html5 画布类中看到的那样创建交互式图形(游戏)?哪个更简单?

【问题讨论】:

史蒂夫乔布斯显然认为你应该放弃 Flash ;) wired.com/gadgetlab/2008/03/iphone-users-th 可能会有一个实验性的画布 2d 游戏引擎,但我怀疑目前是否有任何东西可以满足您的需求。在工作中我使用 Facebook API 进行了一个项目,而 as3 facebook api 有点麻烦,但并非不可能使用。如果您对使用 php 感到满意,那么我可以使用它来处理您的所有 facebook 查询,并让客户端(flash)尽可能“哑”,只传递它需要的数据。 如果你在做游戏开发,也许你也应该看看Silverlight 如果我不是那么反 MS 我会的 ;) 【参考方案1】:

除了各种浏览器的基本支持之外,HTML5 还没有真正存在。我们距离真正的饱和还有几年的时间,因为它要等到 IE9 和 FF4 发布并被广泛采用。

您可以使用 Google 代码项目在 IE 中启用画布支持,但在那之前:

http://code.google.com/p/explorercanvas/

是的,您可以使用画布创建一些有趣的游戏。不过,我相信在短期内您将拥有更多使用 Flash 的选择。

http://www.canvasdemos.com/

【讨论】:

【参考方案2】:

Flash 肯定会更容易,因为它已经成熟,并且有很多游戏引擎是为它构建的。 Canvas 可以在 iPhone 上运行,但许多其他浏览器版本不支持它。

我会说它还没有为黄金时段做好准备。

【讨论】:

很多?唯一没有的是 IE。 更正:IE 和运行在 IE 的“Trident”引擎之上的各种浏览器(Maxthon、Avant Browser 等)。就台式机/笔记本电脑(Mac 和 PC)而言,canvas 元素确实有效(基于 IE 的浏览器除外),但实际的 canvas API 支持可能会有所不同。至于移动/迷你 UA(例如 Opera Mini、Mozilla Fennec 等),我真的不确定那里是否支持画布。如果它得到支持,我不会感到惊讶。【参考方案3】:

我建议坚持使用 Flash,直到 html5 成为一种成熟的选择,并且市场上至少有一个强大的 IDE。

【讨论】:

【参考方案4】:

Canvas 和 SVG 是新的,但发展迅速,我看到很多文章/演示遍布各处,包括本页的右侧。你唯一真正的问题可能是 IE 无法处理它,我不记得微软是否说过它会(增加了 IE 在网络上的消亡)。

【讨论】:

IE9 将支持 HTML5 和 H.264 作为 视频标准。 我们说的是画布,不是视频。不过,微软可能会发现它犯了一个巨大的错误。【参考方案5】:

这完全取决于你在做什么。如果您在 Flash 中使用的功能只是 HTML5 提供的功能,那么您可能应该这样做。否则你就做不到。

以下是我在回答类似问题时的一些想法:

should web developers learn flash Does HTML5 only replace the video aspects of Flash/Silverlight?

问候 back2dos

【讨论】:

【参考方案6】:

还没有。我会将所有站点移植到 HTML5 上,保留旧的 Flash 版本,只需使用一个或其他版本检查哪个导航器正在访问该页面。

【讨论】:

【参考方案7】:

取决于你想做什么。我不同意那个说 HTML5 还不存在的人。从技术上讲,IE 还不支持它,但有一些解决方法。

已经有很多使用 HTML5 构建的应用程序/游戏是实时的。

HTML5 尚不支持音频/视频捕获。因此,如果您认为不需要它,您可以使用 HTML5。我敢肯定,双方还有其他优点和缺点。

另外,HTML5 是免费的,所以...

另一方面,Apple 与 Adob​​e 存在问题,他们不支持 iphone/ipad 中的 Flash。因此,取决于谁赢得了这场战斗,情况会大不相同。

希望对您有所帮助, -Roozbeh

【讨论】:

【参考方案8】:

总是有两个方面...一方面 HTML5 更快,并且(不会)需要任何额外的插件。但看起来 HTML5 不会在 2018 年到 2020 年之前完全实现。在那之前你必须使用其他插件或插件...... 至于 Flash……目前它几乎是您可用于 RIA 的最佳实践。您可以实现 3d、视频、MP3 等等等等。所以我想说Flash是目前最好的技术。但是你来决定xD 附言看看所有这些 facebook 应用程序...只有 flash...

【讨论】:

【参考方案9】:

我最近也在看这个案例,

当前标准表明,就像史蒂夫·乔布斯的愿景一样。

Adobe Flash 开始显示它的时代。

原因:

移动市场的提振,更多人在移动设备和平板电脑上查看网站内容。

HTML5 javascript 和 WebGL 似乎是未来的发展方向。 以下是一些事实。

WebGL 在最近几年真正起飞。 大量扩展应用程序支持。

例如Unity 3d、iosandroid OS 和所有主要的网络浏览器市场。

JavaScript 在网络社区中取得了长足的进步,甚至通过 Google 的 Chrome OS 等产品进军桌面市场。

HTML 5 可以满足在所有浏览器和其他很棒的元素上播放的视频内容。

从网络支持的角度来看。

Adobe 一直因可能导致 Windows 和其他操作系统设备出现问题的安全风险而受到抨击。

考虑到这几点,

如果客户没有明确表示他们需要使用 Adob​​e Flash,我会选择 HTML5/JavaScript 和 WebGL 而不是 Adob​​e Flash,主要是为了扩展应用程序的可访问性。

就我个人而言,我厌倦了在客户端更新 Flash 播放器。 当客户试图访问您的内容时,这真的很令人沮丧。

希望这有助于其他人选择“太闪或不太闪”您的应用程序。

【讨论】:

以上是关于我应该为 HTML5 和 <canvas> 放弃 Adob​​e Flash 吗?的主要内容,如果未能解决你的问题,请参考以下文章

将 HTML5 Canvas 转换为要上传的文件?

怎么在网页中创建canvas和文字?

通过 CSS 与元素属性的 HTML5 Canvas 大小

html5 canvas 画图时的bug

canvas写字

调整 HTML5 画布元素的大小