All 2D Game Engines/frameworks is trying to solve the same problems. Thus, the Languages don ' t matter; They is simply the technologies, the bricks that make things happen. (Flash/as, Html5/js, Cocos/objectivec, MFC, Swift, etc)
Display:
Stage, Canvas, Rootviewcontroller, they is essentially the same thing-the display entry point of the App.
Displaycontainer, Sprite, Animatedsprite, MovieClip, they is just a family of displaying elements with Deriviation Hierar Chy
Displaycontainer had child nodes, which could had children too
Animation, animations is basically a sequence of images being played at a certain speed/frame
Update/ticker Funciton
Like in real world, things happen/progress as time elapses. In each timestep, coordinates being updated, images getting redrawed, calculation is performed, etc, etc.
Observer/eventlisteners
They is basically function pointers, upon events being fired, program looks into the registered function list. This method was opposed to polling, which constantly checking certain conditions in each update cycle.
Physics/ai:
In this "physics is independent from the game engine it's self, irrelevant to 2d or 3d, only the calculation space Matt ERs.
Sound:
This is another dimension.
Game Engine Essentials