个人感觉egret(白鹭)不如cocos creator好,大家跳坑看清楚啊
如题,只谈论2d产品,本人搞了一年cocoscreator(从无到有的一款中重度游戏上线),由于项目需要转而搞egret(中途加入)。
刚开始的时候感觉各种不适还有点浮躁,一边安慰自己可能是自己对cocos先入为主了等熟悉就好了,一边沉下心来研究对比。
过了一段时间之后,慢慢了解了白鹭的各种设计风格,可能当时不是特别深,基本感觉还行,能用,而且稳定性也不错,毕竟官方出了好几个更新版本,都可以一键升级过去,也没什么大毛病。稳定性确实比cocos要强不止一点半点。
再后来随着对egret更加深入的研究,发现又到了最初接触egret的感觉:不适应!!!底层框架设计的毫无章法可言,ui系统就有两套api,如eui.Image,egret.Bitmap,关键是同样功能的东西名字还不一样。资源管理同样是两套,RES.load ,AssetsManager.load。还有内部函数命名风格,现在IDE这么发达,风格这种小事我就不多说了。再就是引擎内部各种class的继承关系,复杂的一批,不像cocos干净利落。还很多,比如锚点方式、龙骨动画(虽然是他自己的产品,但是还是有得喷)等等等等,有空再聊。
这一切症结我想可能就能三个字来说明:不重构!不重构得来的稳定。打补丁打出来的稳定。到最后的结局就是:这个引擎补丁打不动了,只能放弃掉,然后新研引擎,这个是够重构跟新研没有区别了。。。egret离这一步越来越近了。很多必要的功能都没有跟上,比如:没有图文混排的富文本、没有小米快游戏的小包模式(支持远程资源服务器)、没有组件式开发、没有专业IDE、看似灵活实则是复杂与偷懒的编译管线等等。
连资源打包都要写代码来处理,啥都要配置一番,没有体验到打开设置面板√选项的感觉,定了太多非标准规则就尽量用一个友好的UI皮封起来给用户,程序员很累。。。
这一点我很赞同cocoscreator的做法,跟着大厂U3D的样子做,起码大家在IDE上差不多,这是经过了时间的验证,站在巨人的肩膀上有什么不好的。对程序员来说是友好的,是照顾的,省得程序员受罪。就说prefab这东西,还有onStart、OnUpdate。。。不管是cocos转unity还是反过来,一看就是知道是啥都能继承点东西过去。。。没有标新立异,挺好的。但是稳定性太差了,我之前用的的2.0.5改了很多底层才稳定下来
当然,白鹭也有好的方面,稳定!UI布局友好等等。
以上都是个人观点,有错误或者不对的请指出。共同探讨!
都是国产引擎,没有故意踩谁捧谁,客观的交流,指出问题,希望都越来越好。造福全球开发者。
至于为何发在cocos论坛,因为这里热闹。。。