决战JavaScript服务端网游开发
在经过三年多的手游客户端学习与开发练习后,我发现仅满足于前端仅能在游戏开发中占居一席之地。要想全面深入理解手游开发逻辑,特别是如今的网络时代的手游数据管理及通信逻辑,必须掌握一定的服务器端开发技术。作一个十分相似的比较,就像Web开发,只懂得前端技术(HTML/HTML5/CSS/DOM/BOM/JQUERY/JS),也只能是具备了一条腿走路的能力,而两条腿走路则更是每一个程序员所期望的。因此,作为一名优秀的Web前端程序员最好对于
服务器端开发技术也有一定程度的了解。
值得欣喜的是,相当多的程序员在选择软件开发这条路之前都不同程度地具备了“不断学习”甚至是“终生学习”的打算,因此,作为前端去了解后端,或者后端到前端,都不是太难的事情。
另一方面,时间是最宝贵的,时间是金钱,时间是生命。这对于每一位程序员来说,无不感慨如是。
约一年多以前,网络上有一篇大概名叫单机手游已死类似题目的文章深深触动了我。结合我自己的实际,比较同意作者观点。网络时代做游戏,不与网络结合,无异于自找麻烦,更准确说是自找死路。说实在的,在做单机开发期间,我也花费不少时间分析市场,深感选择游戏却远离网络存在极大风险。
于是,我花费几乎所有业余时间学习与研究服务器网游开发技术。对于大型网游戏,我先抛到一边。而对于弱联网手游开发技术进行集中学习。
对于小小型公司的弱联网手游开发,可供选择的服务器端软件技术大致有:微软平台型(例如C++,C#,并结合ASP.NET技术)、JAVA平台型、PHP平台型,再就是目前国内非常火的两个平台:网易的Pomelo(基于Node+JS等开源技术)和9秒的Firefly(基于Python+Twisted等开源技术)。
如果选择前面三大平台,基本上掌握一定的相应平台网站开发技术就可以胜任服务器端网游开发,当然游戏开发自有其特殊性还需专门学习。后面两种技术都有较好的社区生态系统支持,特别是Pomelo。难度上,Firefly相对容易,其相关框架且不论,单单Python与JS比较就可以得出这种结论。我的结论是:如果Python学习需要三个月完全胜任Python相关开发(在学习了从多的语言之后,感觉Python几乎是除了VB外的最易学最灵活的语言),那么JavaScript开发至少需要六个月。
在选择自己所擅长的服务器端开发技术的同时,更长远一点面向最终的产品部署的选择更值得关注。
我认为(还没有作全面的分析):对于小小型公司的弱联网手游开发,初期产品部署选择云端技术几乎是必走之路。这条路最大优点是:投资少、弹性大,完全可以针对公司及产品的发展前景作弹性调整。
最终,我选择网易的Pomelo的几个主要原因:网易的Pomelo是一个更大型的弹性框架,既适合网站开发又面向网游开发,Node及JS社区相当成熟(当然Python也是),更重要的是:服务器端与前端几乎可以一体化,即两端的代码几乎可以无修改地相互借用。面向最终的产品部署支持,无论是国内国外,都没有问题(Firefly也一样)。
目前,我使用Node+Express等技术制作一个基于3D技术的定制产品展示网站(还没有完全成功),感觉效率OK。
因个人水平有限,上述结论仅供参考。最后一句:想致力于当今最具生命力和市场竞争力的JS开发,包括服务器端WEB开发,特别是网游开发的朋友,让我们一起努力吧!一份汗水一份收获,坚信我们的成功即在不远的未来!