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

时间:2010-03-28 22:41:24

标签: ajax flash activex cross-browser

过去几年我一直在使用JavaScript,随着极速脚本引擎(V8,SquirrelFish 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)。

5 个答案:

答案 0 :(得分:1)

我建议使用AJAX上的插件平台(Flash,Silverlight或Java)。在游戏和客户端浏览器之间拥有一个干净的抽象层是一个很大的优势。在任何非平凡的AJAX游戏中,都期待着浏览器在性能或实现方面存在差异的无尽角落。

就个人而言,如果您来自AJAX经验,我认为Flash很容易学习。 Flash是目前安装最广泛且经过验证的浏览器游戏插件。但是,Silverlight和Java都在建立势头。此外,Unity引擎已成为商业浏览器游戏的热门选择。

答案 1 :(得分:0)

我认为你不应该把Java排除在外。它是一种强大,快速的语言,使用Java applet,你几乎可以做任何事情。如果您想通过OpenGL获得硬件加速图形,JOGL可以做到这一点,即使是在小程序中。

另一方面,它可能不适合你。但是在这个早期阶段,我认为你应该评估你的所有选择,因为你没有使用Flash的经验,但听起来你有一些编程经验,你可能会觉得Java更适合家庭。

答案 2 :(得分:0)

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

备选方案:

Java Applet:那些日子变得越来越不常见,并且通常不会在许多计算机上作为插件安装。

SilverLight:太新了,可能会随时间而变化。通常没有安装在许多计算机上,而且它是微软(他们每2年更换一次技术......)

JavaScript / AJAX:还是一个新的孩子,它正在崛起它有很多不错的功能,但IE仍然缺乏良好的跨浏览器甚至IE8,内部无法播放声音,仍然比其他人慢,你不知道它会在哪里发展。

最终可能最好的解决方案是Flash开发: 跨平台。工作得很快。很久以前已经活着并得到了很多支持。

我希望这个答案能在明年改变。快乐的Peasach。

答案 3 :(得分:0)

查看Jmonkey。如果您的计算机上有Java,则会加载“插件”。一旦它被缓存,下次访问者访问该页面时,您的游戏加载速度非常快。查看他们的网站上的演示,看看我的意思:http://www.jmonkeyengine.com/

哦,我忘了说,这是一个3D场景图Java引擎。我刚试了一遍,然后加载到linux中。看起来他们已经做了一些好工作。

不要在浏览器中使用javascript。而Flash真的可能是一种痛苦,因为它是封闭的来源,你不知道你是犯了错误还是发现了一个错误 - 从经验来讲。我再也不想再制作一个Flash游戏了。

答案 4 :(得分:0)

如何使用RaphaelJs,它是一个使用SVG制作dinamyc图像的Javascript库,而对于IE,它尝试使用IE替代品制作这些图像:VML。我在自己的WebGame上使用它,但我真的不在其中制作复杂的图形。在RapahelJs上做的最复杂的事情是一张带有dinamyc opacity滑块的荒地图(20 * 20个瓷砖)。它与jquery一起使用没有任何问题或配置!