EDIT: For a better understand of Apple’s Metal API and what it means for OpenGL, click here.
So finally we are getting some developer related announcements out of the Apple Developer Conference. For game developers, todays announcement is a dozy. iOS 8 SDK includes 4,000 new API calls but most importantly includes Metal, a new lower level graphics API similar to AMD’s Mantle. The idea is to get closer to the metal ( thus the name ) and remove the overhead of OpenGL:
Gaming on iOS takes a huge leap forward in iOS 8 with Metal, a new graphics technology that maximizes performance on the A7 chip. With its dramatic 10 times improvement in draw call speed, Metal enables leading game providers for the first time to bring console-class 3D games to mobile devices. For casual games, iOS 8 now features SceneKit, making it easy to create fun 3D games, along with major enhancements to SpriteKit, including field forces, per-pixel physics and inverse kinematics.
10 times performance improvement over OpenGL? That sounds like marketing BS to me or describes an edge case. If OpenGL was that bloated it would have died off year ago. The important take away is it’s A7 only, so newest iPad and iPhones are the only ones that support it. Unity, Crytek and Unreal are all expected to support it so it should be pretty transparent to most developers.
The other major announcement was Swift:
Swift is a powerful new programming language for iOS and OS X® that makes it easier than ever for developers to create incredible apps. Designed for Cocoa® and Cocoa Touch®, Swift combines the performance and efficiency of compiled languages with the simplicity and interactivity of popular scripting languages. By design, Swift helps developers write safer and more reliable code by eliminating entire categories of common programming errors, and coexists with Objective-C® code, so developers can easily integrate Swift into their existing apps. Xcode® Playgrounds make writing Swift code incredibly interactive by instantly displaying the output of Swift code.
The iOS beta software is available now for registered Apple developers. XCode 6 is required to support the Swift programming language. You can learn more about Swift here. I LOVE new programming languages, so I will certainly be taking a closer look. Some Apple toted features of swift are:
Swift has many other features to make your code more expressive:
- Closures unified with function pointers
- Tuples and multiple return values
- Fast and concise iteration over a range or collection
- Structs that support methods, extensions, protocols.
… interesting. I hate ObjC, so an alternative is certainly appreciated.