cocos2djs存儲
⑴ egret 和cocos2d-x-js哪個目前更穩定更好用
如果大型游戲,強烈建議不要使用cocos2d-js
我們目前的幾個項目都是cocos2d-js開發的,我打算把這幾個項目轉egret。有如下幾個理由:
1、cocos ide有BUG:斷點會崩潰、代碼提示很差、內存太高、虛擬機的菜單欄會影響事件(迭代了很多版本,這菜單欄BUG都沒修復)
2、studio的工作流在幾個引擎中是最差的,而且有BUG。經常和實際表現不一致。而且內存佔用大,會崩潰。不能繼承(這個問題最嚴重,不能繼承按鈕,那麼按下縮放等高級功能就很蛋疼)。
3、
架構太差。寫點小功能沒事,如果想寫大型游戲,這套架構會讓你抓狂!比如最簡單的按鈕事件,我必須在事件方法裡面加個觸摸類型判斷。一個很簡單的點擊,就
多出很多這種相似的代碼!4、UI有好幾套,然而每一套都有BUG。CCUI的設計也是很糟糕的!同時也是崩潰的罪魁禍首。
5、引擎BUG問題,
很多BUG會讓你欲哭無淚,比如坐標會出現undefined。再比如熱更新的BUG,XCODE編出的包默認是js而不是jsc,當這個包發布商店就會
出現不能熱更新的問題,同時也進不去游戲,卡在了熱更新界面。(這個問題導致我們流失了3個月的用戶,知道蘋果商店通過審核位置),再比如
java/objectc和js的交互,這個都有問題!再比如:ios第三方輸入法會導致崩潰!
6、工作流問題,IDE的斷點的觀察變數很不友好、studio導出的配置很大、studio擴展性很差。在IDE 1.2版本出來之前,我們團隊甚至無法斷點,只能列印日誌來debug。
7、工作效率問題,代碼提示先不談。我實現一個簡單的列表都能折騰很久,那ccui的list真是太不好用!除此之外,裁剪、遮罩這些只需要一行的代碼,在cocos下面需要無數行!
8、
引擎升級問題:cocos大概一個月1個升級,egret是2周。然而cocos升級會帶來大量的新BUG,而且兼容性很差。導致我們現在還用3.0版
本。最蛋疼的是,官方的3.6版本又不能斷點了!3.0升級到3.6還會導致布局混亂、九宮失效、崩潰閃退(絕對不是代碼問題這個解釋了)!基本上
cocos每加個新功能都會帶來無數新BUG,老BUG修復量也少,我論壇反饋的問題經常需要迭代2到3個版本才修復,下個版本修復兼職是不可能。而
egret不僅迭代快,BUG修復也勤快!也很少有一些導致產品質量的驗證BUG。
9、官方人員態度問題:我在cocos論壇發的BUG反饋,過了7天才有人來回復。地址(從3.0到3.1和3.2的BUG,官方幫忙看下),再看下egret我發的BUG反饋,當時是下班時間,然而第二天一早就回復我了。地址(Egret社區-BUG列表)
10、API問題:cocos經歷了3個大版本,官方API文檔也有的API,實際盡然是沒有的,官方回復是還沒加入js綁定。
11、跨平台問題:cocos2d-js經常是HTML5和JSB表現不一致。導致我們現在只能專注JSB而放棄HTML5版本。egret很少有這個問題。
12、
性能問題:先拋開runtime。如果你用了ccui,那麼我100%保證你的cocos2d-js的性能會被egret秒殺。再來說下native下面
的性能對比,cocos的人說egret是js寫的邏輯,而他們是綁定。那麼問題來了,在現在,js的邏輯產生的性能壓力一點都不是問題(參考
node.js,能用js寫伺服器了都)。主要的性能壓力其實是在渲染上面,而他們2個都是opengl作為渲染的。如果用了ccui,那麼還是被
egret秒殺。那ccui帶來的drawCall真是太!!再來談runtime,egret現在很多瀏覽器都集成了runtime(可以opengl
渲染代替canvas渲染),而cocos-js只是說在合作,已經慢了一步。
13、產品路線圖問題:cocos的幾個產品一心在弄3D,egret都已經自己搞了一個IDE了。開發基本的生活cocos都沒保障好,就去想和u3d打架!
14、內部問題:cocos估計內部很不和諧,ide據說是1個人在開發,studio是30個人(30個人整出這東西),而且studio是用的.NET搞的,跨平台最呵呵的技術!QT、AIR那些那麼多高效率,擴展性強的技術不用,選了個.NET。。。。
---------------------------------------------------------------------------------------------------------------------------------
題
外話:說了那麼多cocos的不是,我也曾試著愛過它,我甚至開發了一個和egret
wing一樣的UI編輯器,寫了個和Flash/Flex一樣的API(egret用的這套,這種架構很好用,簡單明了)。其中UI編輯器還加上了
unity3d那種綁定腳本的功能。然而因為cocos底層的一些令人發狂的BUG,我最終是放棄了。有egret這個車子在,我還造什麼輪子?我打算把
手裡頭的這套cocos的東西開源。然後去整egret去!
---------------------------------------------------------------------------------------------------------------------------------
再來個題外話:
游戲引擎cocos2d-js和egret 對比
這
個是網路搜索第一的對比,裡面說cocos2d的工具比egret多,我不否認,但是能用的基本沒有。而egret的工具很穩定。就拿最簡單的骨骼動
畫,cocos連龍骨都不支持,studio裡面的骨骼設計也是坑的不行,egret的骨骼設計工具從界面和實用性都已經完爆studio了!
再來說上面的地址裡面的成功產品:捕魚達人、DOTA傳奇、我叫MT那都是cocos2dx寫的,和js版本一點關系都沒有!請問你有見過網頁版的刀塔傳奇么?
上面的開發語言對比,大項目來說,ts真的是完爆js!js那不小心就會出錯真心不適合大項目,不然微軟不會造這個輪子。
上面的參考資料對比,cocos2d-js的文檔連參數的注釋都沒,和c++文檔作參考也不行,很多參數是不一致的!而egret在開發工具裡面就繼承了中文的幫助。
從目前狀況看,今年絕對是egret產品井噴的一年,不信走著瞧!cocos真是把我坑慘了!
---------------------------------------------------------------------------------------------------------------------------------
再
次申明,請拿cocos2d-js或者JSB的大作出來,不用拿2dx的東西。說到2dx,你們再去了解下,榜單上,有幾個人是沒改過引擎源碼的,有幾個
游戲能隨著cocos引擎升級而升級。用studio的又有幾個。並不想和王哲斯逼,只是希望你們能正視BUG,提高體驗。如果好,我們團隊會考慮
cocos技術的,否則只能用egret和unity3d了。我說cocos這么多不是,也是希望他成長,能給開發者帶來更多利益,帶來更多方便,而不是
各種無厘頭的問題,各種蹩腳的手段去開發。還有,我說的這幾點,@王哲
你接招,如果我不說出這些BUG,這些問題,那麼估計還不一定改。egret同樣有個人叫王澤,然而他的理念完全當我們開發者是用戶,提高開發體驗,這個