我对一个涉及画布区域的网站有一个想法,画布区域的大小没有限制。基本上你可以在画布上添加项目(注释,照片无论如何)。然后,您可以拖动画布,将这些项目与画布一起移动,直到它们消失在屏幕上。如果你以相反的方式向后拖动画布,它们会再次出现。
问题: 哪种最适合这种类型的东西,Flash或Javacsript?
我主要担心的是javascript / flash可以按照描述的方式处理在屏幕上移动多个项目的速度。对于慢速机器上的用户,哪种语言可以更好地处理。
更新
感谢您的观点,但是要澄清画布对直接jQuery DOM操作有什么好处?或反之亦然。我以前从未使用过画布。
答案 0 :(得分:4)
我认为这不是一个能让你得到客观答案的问题 - Flash开发人员会告诉你Flash更好,网页开发人员会说JavaScript。为了保持客观,我会说这两种技术都适合你所描述的,但却有不同的优势。
即使在慢速机器上,Flash肯定会渲染得更快,并且图形更加丰富。
JavaScript更易于访问,可在更多设备上运行。但是请使用一个好的JS框架。
答案 1 :(得分:2)
我最初的想法是使用Javascript - 如果它对谷歌地图足够好,它对你的应用程序来说也可能已经足够了。
答案 2 :(得分:1)
你需要使用画布,你所描述的只需要javascript和DOM即可。它会表现得非常好,除非有大量的元素,并且它将是跨浏览器兼容的。对于画布,您需要exCanvas来支持IE,这有时会减慢速度。
答案 3 :(得分:1)
最好的方法肯定是Javascript。我甚至会说你应该重新考虑帆布的使用。听起来它可以在纯DHTML中完成。这样你就不会失去对IE的支持。
考虑使用其中一个javascript框架;想到原型或jQuery。它将极大地简化您的编码。鉴于javascript-engine性能的发展(下一版本的Webkit(Squirrelfish Extreme)和Mozilla(TraceMonkey)将会闪电般快速)对性能的担忧可能没有实际意义。
此外,如果您决定在没有画布的情况下不能这样做,请考虑使用John Resig的processing.js。
答案 4 :(得分:1)
我会说使用flash(或DOM,如果你不需要额外的打孔)。这是我的理由:
你可以使用画布(倾斜,旋转,图像中的渐变淡入,反射效果等)进行很酷的转换,而不能使用DOM。缺点是做这些很酷的事情是数学上很重要的。
Canvas在IE中不起作用。 IE等效(VML)显然有一个root访问安全漏洞。
DOM已经存在了比画布更长的时间,因为它被更广泛地使用(并且依赖于它),它比画布更加优化和抛光。
Flash社区提供了许多可用的免费组件,可能已经完全按照您的需要进行操作。
Flash和DOM有很多很好的文档和教程,画布没那么多。
Flash几乎可以完成DOM和画布的所有功能,以及音频,视频和网络摄像头的输入。