王哲現身說法



2014.02更新:請放心選擇 Lua 吧。觸控已經收購了 quick-cocos2d-x,2014年肯定會大力強化 cocos2d-x 的 Lua 支持。

----

我個人肯定是推薦 Lua 的,原因如下:

1. 運行效率:Lua 的性能在各種測試裏都比 JavaScript 快不少。而移動設備上存在不支持 JIT 的情況(未越獄的 iOS 設備),Lua 對比 JavaScript 的性能優勢就更明顯。

2. 安全性:現在 cocos2d-x 使用 LuaJIT 來執行 Lua,所以可以把 Lua 代碼編譯爲字節碼再打包到遊戲裏。由於 LuaJIT 的字節碼是高度優化過的,所以目前還沒有反編譯工具。而 JS 雖然也可以用字節碼,但從目前的情況看還達不到 LuaJIT 的安全性。

3. 與 C/C++ 的交互:Lua 原本就是作爲嵌入式語言來設計的,所以天然和 C/C++ 很容易交互。JS 這方面是個劣勢。

4. 與 Java/Objective-C 的交互:不管是 quick-cocos2d-x 裏提供的 luaoc/luaj 模塊,還是 wax, luajava 這些開源項目,都讓我們可以繞過 C/C++ 層實現 Lua 和 Java/Objc 的交互。這個優勢在遊戲發行階段,集成各種第三方 SDK 時絕對會節約巨量時間!!!

----------------------------------------

當然,cocos2d-x 目前明顯是在主推 JS 的解決方案,因爲 JS 可以跨越移動設備、桌面的界限,實現一套程序跑任意平臺。不過我個人認爲以當前 HTML5 的發展情況,對於要強調體驗的遊戲來說,HTML5 還要一些時間。

鄭州專業不孕不育醫院:http://jbk.39.net/yiyuanzaixian/zztjyy/

  鄭州不孕不育醫院×××:http://jbk.39.net/yiyuanzaixian/zztjyy/

從目前的市場情況來說,Lua 明顯是更理性的選擇:成熟、安全性高、衆多大作採用。

----------------------------------------

前面提到 JS 更容易面向對象,我想可能是因爲大家對 Lua 還不夠了解造成的錯覺。實際上,Lua 和 JS 實現面向對象的機制幾乎是一樣的。JS 基於 prototype,Lua 基於 metatable,在我看來僅僅是名字不同而已。

----------------------------------------

最後,不得不向大家推薦 quick-cocos2d-x 這個基於 cocos2d-x + Lua 的擴展版。quick 在 cocos2d-x + Lua 的基礎上提供了諸多簡化開發的擴展功能,以及開發框架。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章