Now that touch events are handled by EventListeners, rather than special Layer methods, is it necessary to use the Layer class any more (besides backwards compatibility with older code)? As a test, I changed my HelloWorld object to be a subclass of Node instead of Layer in my v3.0 project, and it seemed to work OK.
Not sure the future planning of cocos2d-x but I think we could now be able to compare with others.
For general User Interface, you may review the usage between “Control” and “Panel”/“Layer”