Both are suitable for different levels of complexity when it comes to adding animations to an application. In this article we take a quick look at SpriteKit and SceneKit, what they are best at end which is best for your project.
SceneKit: 3D scenes & game animation.
SceneKit is the more powerful option of the two, based on the Core Animation Framework and requires a good piece of math and geometry. Think: 3D games that have multiple camera angles, like Fruit Ninja. It`s a high-level 3D graphics framework for creating animated scenes with a rendering engine and a descriptive API that does a little more leg work for you than minor APIs like Metal.
SceneKit was released with Lion iOS and was designed to make it easier for developers to create complex 3D scenes because it “only requires desciptions of the content of their scene and the actions or animations they want to perform”. The hierarchical “Scene Graphics” allows you to execute animations before they are rendered by a device`s graphics processor, increasing efficiency.
- Use Objective-C and Swift.
- Accessible via Swift Playgrounds.
- SceneKit works with technologies such as Quartz, Core Animation and GLKit and integrates with other graphics technologies to achieve a wide range of results.
- Does not require advanced 3D graphical skills to use.
SpriteKit: Ideal for simple 2D animations.
SpriteKit is a framework for 2D animations on a simpler level – think of child 2D animations in more efficient applications that don`t need much battery power, like Candy Crush or Angry Birds. SpriteKit came after SceneKit (releases with iOS 7) and gave developers all the tools they needed to create 2D animated sprite-based games from scratch without the need for the OpenGL graphics API.