此外,由于HTML标准出现标准需要很长时间,因此HTML5中的<canvas>
可能会在浏览器中经常更新,尽管它可能不会在规范中替换这样它可以像Flash在其各种迭代中所做的那样变得更好更好吗?
换句话说,从现在开始,我们可能会有<canvas>
年,但今天的画布不会是五年后的画布,除了名字?
答案 0 :(得分:7)
简短的回答是,目前,在可预见的未来,否。
首先,您需要意识到我们在这里谈论的不仅仅是HTML5。动画,游戏逻辑,2D / 3D引擎等也需要Javascript。虽然Actionscript性能非常差,但与 相比,Javascript性能非常糟糕。此外,Flash还有一个成熟的开发IDE和一套绘图工具,可以创建复杂的矢量图形和动画。据我所知,<canvas>
没有这样的事情存在。
至于规格部分,再一次,不可能。 Adobe控制IDE,语言规范和Flash的客户端播放器。这基本上意味着他们可以随心所欲地做任何事情。如果您不喜欢任何更改,请不要购买/使用他们的产品。这意味着他们可以在他们认为合适的任何方向上开发他们的产品,并且W3C永远无法匹配。
另一方面,HTML非常不同。 W3C必须与主要的浏览器供应商坐下来,并听取Web开发人员和最终用户的意见。尽管像<audio>
和<canvas>
这样华而不实的有趣功能是每个Web开发人员愿望清单的首要问题,但向后兼容性对规范也非常重要。这就是为什么规范的开发如此缓慢的原因之一 - 规范不仅仅依赖于W3C推出它们 - 它也是采用规范的浏览器供应商,使用这些功能的Web开发人员以及最终用户升级他们的浏览器。这些都不会随HTML5而改变,那你为什么期望开发速度提升呢?
答案 1 :(得分:1)
没有。
如果你必须在Flash上使用canvas,那么非常值得看看Grant Skinner使用Create.js套件做了什么 - Easel.js是一个很好的模拟或近似Flash显示模型的尝试(容器,参数)等等,并且有一个不错的JS IDE(嗯),你可以得到一些好东西,但如果你是一个Flash开发人员,这种体验往往令人沮丧,就像回到十年,用JavaScript编写复杂的程序?为一些严重的痛苦做好准备。
在纯粹的性能方面,canvas已经走过了漫长的道路,但你仍然需要在JS中编写代码,你错过了Flash IDE,这会让开发时间缩短几周。希望如果我们真的不得不采用Flash上的这个大混乱,Adobe Edge将帮助解决这个问题。
此外,HTML5声音支持是可悲的。同样,Grant Skinner和Audio.JS可以解决很多问题,但是就像显示一样,HTML5中根本不存在大量的flash功能集,而且还没有办法对它们进行近似,并且作为Yi Jiang指出(你可以放心地忽略另一个答案)任何重大的变化需要很长的时间!