is cocos2d-x good at developing normal APP (not game) ?


hi, everyone.

I want to develop a normal APP, not game for all platform.
Is it wise to choose cocos2d-x ?



Do you mean all mobile platforms or all platforms including windows/mac/linux + mobile?


yes, mainly android and ios
Leszek Leszek wrote:

Do you mean all mobile platforms or all platforms including windows/mac/linux + mobile?


Well I think it is hard to say. I don’t know if it is wise to use cocos2d-x for normal non-game app but I’m actually doing this :slight_smile: If you are not targeting desktop platforms then I would say that it is worth considering cocos2d-x especially if you have experience in c*+ and you do not have it with objective-c/java. If you know objective-c and java then probably using c*+ is not a big advantage for you. I think the biggest advantage is still that you are writing just one code to rule them all :slight_smile: (well probably you will also need to have a little of platform specific code). There are of course disadvantages. For example I was really surprised that there is no such basic thing as RadioButton in cocos2d-x (probably there are some extensions somewhere). You should consider what exaclty you will need in your app and think if this can be easily done with cocos2d-x. I have already done something like 70% of my app and I can say I do not regreat that I’m making it with cocos2d-x because I know that later it should be easy to make an android version (I’m currently working with iphone). I’m also interested about experience of other people using cocos2d-x for a normal app.


To be honest, I don’t think it’s a good idea except image e-books or education softwares like
Cocos2d lacks basic UI widgets so far, this will be painful when developing an normal app.
I will discuss with Ricardo Quesada that if we should add more UI widgets in cocos2d 3.0 roadmap. I’ll meet him at the end of this month.


I think more basic UI widgets will be great.


If “normal” application have a lot of GUI controls, there’s no reason to use jni for it. Especially the game-oriented library such as Cocos.
Native front-end looks better and its code support is easier. That double-work on start prevents from more working after.


I’m not using many advanced GUI controls in my app so cocos2d-x is ok for me but I agree that if you plan to make an app that typically should have a native look and will need many GUI controls more advanced than button etc. which are not available in cocos2d-x then probably it will be better to make it in a normal way without cocos2d-x.

Anyway I would love to see more UI controlls in future cocos2d-x versions. I think cocos really needs them.


And not only controls. Dialogs, popups, etc.
And more trivial touch dispatching, ever selecting topmost visible control first - as programmers and user expects.


So are you saying that if I have two buttons one above another and when I click the front button I can get event for the back button instead of the front button?


More than that. I’ve tried to change this order and I can’t.
In my app there is scroll view with buttons inside it and another buttons under it. When view scrolled, inside buttons stays invisible over its edge… right under offside buttons.
So, touch activate that invisible buttons instead of topmost button. Touch dispatcher never checks control visibility and works with controls in his own order. Priority setting was ignored too.


Adamos it should be possible to set this with touch priorities however it is a little tricky. You might want to look at this threads: and and


In case someone is interested, you can check a video of my app made with cocos2d-x which is not a game here: :slight_smile:


i think it is’t good idea.