Flash和JavaScript哪个更快?

3
我有一个关于网站的想法,其中包含一个没有大小限制的画布区域。基本上,您可以向画布添加项目(注释、照片或其他任何内容)。然后,您可以拖动画布,这将使这些项目随着画布移动,直到它们消失在屏幕上。如果您将画布往回拖动,它们将再次出现。
问题:哪种语言更适合这种类型的网站,Flash还是JavaScript?
我的主要担忧是JavaScript / Flash在处理屏幕上多个项目的移动速度方面是否能够胜任所描述的任务。哪种语言对于慢速机器上的用户来说更好。
更新:
感谢大家的意见,但请澄清canvas相对于jQuery DOM操作的优势是什么?反之亦然。我以前从未使用过canvas。

iPhone与台式机或笔记本相比速度非常慢,但我成功地在上面运行了Canvas + Javascript。 - Robert Gould
5个回答

4
我认为这不是一个能得到客观答案的问题——Flash开发人员会告诉你Flash更好,Web开发人员会说JavaScript更好。试图保持客观,我会说这两种技术都适合你所描述的内容,但具有不同的优势。
Flash肯定会更快地渲染,即使在较慢的机器上也是如此,并且在图形方面更加丰富。
JavaScript更易于访问,并且可以在更多设备上运行。但请使用一个好的JS框架。

2

我的初步想法是选择JavaScript-如果它足够好用于Google地图,那么它对于您的应用程序来说也可能足够好用。


我赞同 JavaScript + Canvas。 如果可能的话最好不要使用 Flash。 顺便说明一下,我用 Canvas 制作了一个交互式演示,在 iPhone 上可以很好地运行(没有 Flash)。如果是 Flash 的话根本无法工作。无论如何,人们对页面在 iPhone 上的工作印象深刻。 - Robert Gould

1
你需要使用画布吗?你所描述的可以仅使用JavaScript和DOM完成。除非有大量元素,否则它将表现得非常好,并且具有跨浏览器兼容性。对于画布,您需要exCanvas来支持IE,这可能会使事情变慢。

1
最好的方式肯定是使用JavaScript。我甚至会说您应该重新考虑使用画布。听起来这可以在纯DHTML中完成。这样,您就不会失去对IE的支持。
考虑使用其中一个JavaScript框架;原型或jQuery是很好的选择。它将极大地简化您的编码。鉴于JavaScript引擎性能的发展(Webkit(Squirrelfish Extreme)和Mozilla(TraceMonkey)的下一个版本将非常快),对性能的担忧可能是无意义的。
此外,如果您决定没有画布无法完成,请考虑使用John Resig的processing.js

1

如果你不需要额外的推动力,我会建议使用Flash(或DOM)。以下是我的理由:

  • 利用Canvas可以实现很酷的转变效果(如扭曲、旋转、图像渐变、倒影效果等),而DOM无法做到。缺点是实现这些效果需要大量的数学运算。

  • Canvas在IE浏览器中不可用。IE的等效物(VML)似乎存在根访问安全漏洞。

  • DOM比Canvas更为成熟和优化,因为它已经存在了很长时间并且得到广泛应用。

  • Flash社区有很多好的免费组件可供使用,可能已经实现了你需要的功能。

  • Flash和DOM都有很好的文档和教程,而Canvas则没有那么多。

  • Flash几乎可以做到DOM和Canvas能做到的一切,还可以处理音频、视频和从网络摄像头获取输入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接