用于基于浏览器的游戏的AJAX与ActiveX/Flash

用于基于浏览器的游戏的AJAX与ActiveX/Flash,ajax,flash,activex,cross-browser,Ajax,Flash,Activex,Cross Browser,过去几年我一直在关注JavaScript的使用,随着极快脚本引擎(V8、SquirreFish Extrene、TraceMonkey等)的发布,JavaScript的可能性大大增加。然而,Internet Explorer的使用份额,加上它完全不支持最新的标准,使我想对微软的总部投下一颗炸弹,因为它给任何网站带来了大量的问题 该游戏需要非常动态的客户端,带有动画和其他吸引眼球的东西,但不是像那些直接在操作系统中使用DirectX或OpenGL运行的完整游戏。然而,这对于JavaScript来说

过去几年我一直在关注JavaScript的使用,随着极快脚本引擎(V8、SquirreFish Extrene、TraceMonkey等)的发布,JavaScript的可能性大大增加。然而,Internet Explorer的使用份额,加上它完全不支持最新的标准,使我想对微软的总部投下一颗炸弹,因为它给任何网站带来了大量的问题

该游戏需要非常动态的客户端,带有动画和其他吸引眼球的东西,但不是像那些直接在操作系统中使用DirectX或OpenGL运行的完整游戏。然而,这对于JavaScript来说可能有点长,在Internet Explorer中肯定会感觉非常慢(考虑到当前的IE引擎可能比SFX慢几百倍;要看看IE9会带来什么),在Flash中完成整个过程会更好吗?我知道这意味着需要插件,我对Flash没有任何经验(除了浏览YouTube:P)。这也意味着我不能直接从PHP输出,我必须使用XML或其他格式将数据传递给它(JSON直接集成在JS中,PHP可以轻松处理)

另一个想法是仅为IE提供一个替代界面,尽管我不知道如何提供(可能是ActiveX?或者使用Flash,那么为什么不向所有浏览器提供它),或者完全不支持它并要求使用其他浏览器,尽管从商业角度看这很愚蠢


所以我在这里,想知道该采取什么方法,并因此征求您的意见。我应该如何构建客户端?AJAX在所有浏览器中,Flash在所有浏览器中,或者混合使用(AJAX用于“现代”浏览器,其他用于“爷爷”:IE)。

我认为不应该将Java排除在外。它是一种功能强大、速度快的语言,使用Java小程序,您几乎可以做任何事情。如果您希望通过OpenGL实现硬件加速图形,可以这样做,即使是在小程序中


另一方面,它可能不适合你。但在这个早期阶段,我认为您应该评估所有选项,因为您没有使用Flash的经验,但听起来您有一点编程经验,您可能会对Java感到更自在。

我建议使用插件平台(Flash、Silverlight或Java)而不是AJAX。在游戏和客户端浏览器之间有一个干净的抽象层是一个很大的优势。在任何非平凡的AJAX游戏中,浏览器在性能或实现上存在差异的情况都会层出不穷


我个人认为,如果你是从AJAX经验中学习Flash的,那么学习Flash是很容易的。Flash是目前安装最广泛且经验证的浏览器游戏插件。然而,Silverlight和Java都在发展势头。此外,Unity引擎已成为商业浏览器游戏的流行选择。

我相信目前的答案是Flash游戏

备选方案:

Java小程序:在那些日子里越来越不常见了,而且在许多计算机上,它也不常作为插件安装

SilverLight:太新了,可能会随时间变化。很多电脑上都不常安装,而微软(倾向于每两年更换一次技术…)

JavaScript/AJAX:还是一个新手,它的发展势头不错,有很多不错的特性,但仍然缺乏IE甚至IE8的良好跨浏览器,不能在内部播放声音,仍然比其他版本慢,而且你不知道它会发展到哪里

最终,目前最好的解决方案可能是Flash开发: 跨平台。工作很快。已经活了很长时间了,有很多人支持

我希望这个答案在明年会有所改变。祝你好运。

查看Jmonkey。如果您的机器上有Java,“插件”将加载。一旦它被缓存,下一次访问者进入页面时,你的游戏加载速度会非常快。查看他们的网站进行演示,了解我的意思:

哦,我忘了说,这是一个3D场景图Java引擎。我又试了一次,它是在linux上加载的。看来他们做了些好工作


不要在浏览器中使用javascript。Flash真的很痛苦,因为它是一个封闭的源代码,你不知道你是否犯了错误或发现了一个bug——从经验上讲。我再也不想做另一个Flash游戏了。

如何使用,它是一个Javascript库,可以使用SVG制作dinamyc图像,对于IE,它尝试使用IE替代方案:VML制作这些图像。我自己用它,但我并不真的在里面画复杂的图形。在RapahelJs上做的最复杂的事情是一个带有二元不透明度滑块的heath贴图(20*20瓷砖)。它可以与jquery一起工作,没有任何问题或配置

Internet Explorer正在变得更好。“完全缺乏对最新标准的支持”并不是一个准确的说法,你很有可能跳上了bashie的潮流。我并不是说它没有问题和异常,但IE8甚至IE7都没有IE6那么糟糕,如果你遵循好的编码标准:使用DOCTYPE、使用reset CSS等等,它会有所帮助。许多问题都是通过这两种实践解决的。@Ricket,我想指出SVG,作为初学者。我还想指出,它在“怪癖”模式下处理HTML兼容性下的XHTML。IE7,尤其是IE8比IE6好得多,但与其他浏览器相比仍然缺乏很多。IE9计划修复SVG和HTML5支持(这应该意味着,但似乎没有得到证实),并通过Acid3测试(哈哈,据说,Firefox甚至没有通过,Chrome达到100,但与参考图像不匹配)。尽管如此,我同意这不是完美的,我希望微软确实在改造他们的IE团队,并更加认真地对待它。我只是想确保双方都有代表;我想我更喜欢扮演魔鬼代言人,因为我只使用Chrome和FF.IE9