基于C++和JavaScript的全平台全栈式游戏开发解决方案的思考

一、JavaScript的机会


近几年JavaScript在各个领域愈发流行起来。JS已经逐渐摆脱了只能做web的局限,在前端,后端,Native,Web,游戏,应用等各个领域遍地开花。


Cocos2d-x支持两种脚本系统,Lua和JavaScript。考虑到未来的趋势,我选择JavaScript。因为JavaScript和C++配合未来能够覆盖到很多主流应用领域:


后端:C++ Node.js

前端Native:C++ JavaScript

前端Web:Html5

工具:Qt C++ QML


国内在开发技术的选择上,跟世界比一直是滞后的。我们用C++的时候,国外在用Java,我们用Java的时候,国外已经用RoR,Python,Node.js,Go等等了。虽然国内有许多同道都作出非常多的有意探索,但这并不能左右大多数游戏公司在技术选型过于保守。这与国内开发商严酷的生存环境有一定关系,大家都想着技术积累让别人去完成,到时候挖人就好了。但最先进的技术,一定是买不到的,很多时候买到的只是一个解决方案,而且是难以进化的解决方案。最终技术的成熟还是需要持续交流和积累。而不是靠砸钱一步搞定一步到位。


业内还有一种说法,语言只是工具。潜台词是到时候学就好了。这是专门用来坑码农的。按这种说法,语言是工具,码农也是工具。任何一门语言要精通,没有持续的积累是做不到的。任何的库和代码要想重写,没有相当的时间和精力也是做不到的。做不到怎么办,那么就做初级的,写点功能,做做UI,过两年看看有没有新的东西出来,再学一下……如此反复


二、优势与劣势


优势:

1.招聘。根据一个很古老的数据,web开发程序占整个程序员的65%。按照最近几年的情况,这个比例只会多不会少。

2.社区。Cocos2d-x、Cocos2d-html5和Node.js背后都有非常强大的社区支持,Qt在软件开发领域和游戏工具开发领域,也被众多的公司所采用。技术文档和支持很容易获得。

3.现在流行一个技术名词,叫全栈式开发。全栈式开发,前后端必须要考虑相同的语言,相同的技术接口。全栈式开发方式,一个程序员负责一个模块,同时处理前后端,减少大量的沟通成本和协调成本。

4.全平台覆盖,大量代码互换,极大减少了工作量和犯错机率。


劣势:

1.Qt在智能移动端发力太慢(让诺记给坑了)

2.不同环境下的JS虚拟机实现不同。Qt是自己写的。Node.js是V8。Cocos2d-x是SpiderMonkey。html5要针对不同的浏览器。不同的实现,不同的绑定机制,当然也有不同的bug。

3.在某些领域JS调试技术尚不成熟。


你可能感兴趣的:(js,C++,全平台,全栈式)