A Prediction For iOS 6: A New Public Framework – OpenCL
‘Twas the nights, days and weeks before the engineers and scientists at Apple unveiled to all registered developers the pre-WWDC iOS beta. During this wondrous period all could wonder aloud about what the new beta might bring.
In the past I predicted that Grand Central Dispatch and Blocks were coming to iOS. GCD and Blocks were introduced in iOS 4.0. As were enhancements to the NSOperation and NSOperationQueue classes. At the time I also conjectured that OpenCL would come to iOS. Hindsight of course reveals that it was too early. However, I think that the time has come for many reasons.
First, it will complete what I think of as the Concurrent Four (not quite the GoF but just as powerful):
- NSOperation, its subclasses, and NSOperationQueue
- Grand Central Dispatch
- Blocks, and finally
When OpenCL is added as a public framework iOS developers will have a complete range of options with which to build a concurrent solution.
Second, Apple’s implementation of OpenCL is built on top of Grand Central Dispatch which is now a part of iOS.
Third, the OpenCL compiler uses Clang and LLVM which are being used to build iOS apps.
Fourth, the new iPad has twice the pixel density as the iPad 2. And as always there are and will be applications that push the limits and require better performance.
And last, OpenCL is in iOS 5.1 as a private framework. OpenCL was definitely not present in iOS 4.3 and may or may not have been present as a private framework in iOS 5.0. The existence of OpenCL as a private framework is perhaps the most compelling reason that OpenCL will become a public framework. It is so tantalizingly close.
So, before the pre-WWDC beta is released and the veil of secrecy falls over the land as enforced by the NDA let the speculation begin! What do you think will be part of iOS 6? Add your prediction below but comments will be closed as soon as the pre-WWDC beta is released.