基於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調試技術尚不成熟。

發佈了183 篇原創文章 · 獲贊 615 · 訪問量 164萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章