问题:
貌似cocos名气大一些?因为神经猫的大火才知道egret,玩了一下他们的demo,貌似性能一般,不过对flash开发者特别亲切。有人对比过这两个引擎吗?分析下
百牛信息技术bainiu.ltd整理发布于博客园
回答:
题主的问题是稳定和好用。
从稳定上来说,这两个目前都相对上稳定,绝对上不稳定。
而好用大多数情况下是个人喜好吧?有些人以为 PHP 好用,而有些人以为 C++ 好用。
我做了2年 cocos2d-x 开发,主要基于 lua 和 cpp,没有研究过 js。触控目前对 lua 绑定的支持并不大,两年前是这样(Cocos2dx+lua合适还是Cocos2dx+js合适? - JavaScript),现在好像依然是这样。
所以,触控应该是花了很多精力来做 cocos2d-x js 支持。
我没有研究过 cocos2d-x js ,所以没有权利评判它,但评价一下 cocos2d-x 应该还是可以的。
cocos2d-x 2.x 的代码质量一般,但 3.x 有了很大的改善,问题是工具链这部分,cocos studio 不但没有给引擎添彩,反而是拖了后腿。
cocos studio 的问题上面已经有同学提到了,虽然夸张了点,但毕竟是事实。我从0.3一直看到1.0,发现还真的没办法用在工作流中。遂彻底失望。
例如骨骼动画这东西,本来 cocos studio 中的 Armature 就是移植 dragonbones 2.2 来实现的(在cocos2d-x中使用CCArmature实现骨骼动画,
cocos2d-x专用的DragonBones2.2),最后却完全改成了自己的东西,和 dragonbones 不兼容,而且提供的编辑器也很难用。
egret 我用了1个月,所以还是个菜鸟。
egret 提供的工具虽然也有这样或那样的问题,但看得出来很多地方是用心了的,跨平台一开始就选了 AIR,这也是能快速推出这么多工具的原因之一吧。
虽然我不用 egret 的工具链(仅仅使用引擎),但从团队中的其他人看来,他们愿意去用 egret wing 而不用 vs 的 ts 插件(有些还是c++程序员),这就说明了这工具做得还是蛮好用的。不过有些工具也是有问题的,例如 texture merger 的实现就不是很完善。
总之,对于有 ActionScript 基础的同学来说,选择 egret 的确是可以快速上手。而没有这方面基础的同学,如果觉得使用 cocos studio 没有什么困难,或者根本不使用 cocos studio ,那么用 cocos2d-x js 也挺好。
的确如 @陈升想 所说,撕逼无义,还是好好做好产品再说。
首先,我个人不太愿意介入Egret和Cocos的斗争中,王哲大神是我非常尊敬的前辈,但涉及到公司名誉,作为当事人,我不得不澄清几点:
1,前半段说的基本属实
2,我们公司没有解散,还扩张了
3,我们也没有用回cocos(毕竟cocostudio太难用了,抱歉了)
4,Egret和Cocos都是非常好的引擎,各有优点,选谁就看团队的技术基因和积累和项目特点
最后,现在撕逼无益,大家还是好好做产品吧
egret对于flash开发者比较亲切?我其他不说了,光一个movieClip就真不亲切了。egret喜欢闭门造车,都是自己重写一些世界已经有默认规范和用法的东西。关于这个的牢骚,我也在GameRes上吐槽过[深入思考]从使用Egret的不爽中提炼的2个产品设计要点。
cocos2d在做UI等方面的确是有欠缺的,但是相比egret还是好很多,毕竟成熟太多了,egret在很多方面没法给人一种做引擎的感觉,前一阵子还透出了想转型做编辑器的味道,但是一看那个飞机游戏编辑器,我就觉得太多太多的不靠谱了。
虽然我不是一个CTO,甚至不是一个程序员,但是让我一定从这俩里面选一个,我一定选cocos2d。
我用过egret,用了一段时间不习惯又用回cocos2d-js了,最大的原因是cocos2d-x可以通过jsb实现native版本,而egret只能靠他家的runtime。虽然jsb的native版本有许多坑,但是小修小补就可以用的很流畅,还可以出windows版,mac版。配合webstorm也很快,更重要的是直接用js而不是ts,还可以用babel来个es6,比ts用着要爽。
所以我的建议是如果没有native的需求,只是做html5的游戏,以前没有用过cocos2d-x的话就直接上egret。
如果用过cocos2d-x,还是建议用cocos2d-x js。
我当时用的是egret1.5,编辑器是比较强,但是多而杂,并不是宣传的那么好用。可能是我用的姿势不对吧。