At WWDC 2014, Apple spent the entire conference outlining hardware and software technologies for iOS and OS X that were much needed to advance the platform well-beyond Android, Windows Mobile, and other mobile OSs. In addition, Apple embraced some new tech on the OS X side of things, advancing that platform as well.
Let's look back at these new technologies, and see how developers are embracing them in software and hardware designs.
Probably the biggest Apple story of the year was that the company announced a new programming languages for the Mac and iOS platforms called Swift, which was billed as being a new and more modern take on Objective-C, and, of course, ditching the C part. While the initial push of Swift was strong (Apple even created a consumer-facing Swift page), developers are still using Objective-C for most new projects because many bugs with Swift still need to be fixed before a more full adoption will occur.
Objective-C has been around for a long time, it's feature-rich, and it has many paradigms that long-time developers are still trying to wrap their heads around. I anticipate more adoption next year for the language, and more features to go along with it.
To use Swift, you'll need Xcode 6. Swift will work cross-platform just like Objective-C on iOS and Mac platforms.
WatchKit is really important for the developer community, and might signify a new gold rush on the App Store, once the watch is released next year. When I look at the new technologies in WatchKit, I anticipate what could be; in fact, I wrote a simple how-to about building a basic WatchKit-based app.
WatchKit was released in November 2014, and there is already great interest in it. The technologies it uses are interesting: using the watch as a remote display (Figure A), while the actual code to process tasks happens on the iPhone. This helps with watch battery life, and gives the developer more processing power since the code is being executed on the phone instead of the smaller watch.
Apple Pay was released to the public in October 2014 for all new iPhones and iPads, and it's probably the greatest thing to happen to the iPhone. While iPhones garnered NFC for payments with Apple Pay, all of the new devices released this year are able to use Apple Pay for in-app payments for services and purchases.
The best part about Apple Pay is that all developers were given instant access (Figure B) to Apple Pay and allowed to submit applications that incorporated this new technology. From retail stores to applications that accept orders for products and services, Apple Pay can now be used to check out instead of a normal checkout flow.
Developers are given access to customers' billing information and shipping address without having to send the customer through another flow to collect this information separately.
HomeKit marks an important milestone for Apple because it bridges the gap in home automation products to a single application, and allows users to activate lights and other HomeKit-enabled products with Siri and workflows such as "Nighttime" that could control multiple devices in one swoop. For example, you could have a "Nighttime" flow that would turn off all lights, lock your doors, and enable your security system.
The HomeKit technologies were unveiled at WWDC '14, but we've not seen any products that support this yet. However, Apple did hold a HomeKit developer summit in China a few months ago, and the HomeKit-enabled chips have supposedly started shipping, and will be going to home automation developers soon for production.
I can't wait for HomeKit to launch to the public.
HealthKit bridges the gap between multiple health and fitness applications, services, and hardware to keep all of your information stored securely and privately inside your iPhone. You can give applications fine-grain controls over what data is allowed to be written, read, and shared right from within the HealthKit prompt that is shown whenever an app requests access to health data.
Metal is a new graphics programming framework released for iOS 8 that allows developers to gain hardware-level graphics performance right from iOS games. We've already seen a few applications that take advantage of this, including a demo that was shown during the WWDC keynote outlining this technology.
From pre-compiled shaders to multi-threading, Metal has a lot of game developer must-haves and wants. I expect this to take off much more in game development whenever support for Metal comes to Unity, Unreal, and other game development environments.
Touch ID was released in 2013 for iPhone 5s, but this year it came to many new devices, including the iPhone 6 and the iPad Air 2. In addition to being released for new devices, the fingerprint reader was opened up to the third-party developer community, allowing developers to authenticate using the device user's fingerprint.
From a developer perspective, you can develop applications that integrate using the LocalAuthentication API, or through the Keychain. To protect security, Apple doesn't give developers any access to fingerprint data, and stores that securely in the part of the processor called the Secure Enclave. Developers get a boolean value back as to whether the user was authenticated or not.
Extensions was a welcome technology on iOS 8 and OS X Yosemite — it allows developers to extend their applications to multiple areas within iOS and OS X. From Today view widgets to integration with the Photos application, Extensions has something for just about any application to extend their functionality for users. Check out our guide to creating a simple Today widget extension for more detail on how these extensions work.
Apple has created a special section in the App Store for apps that support Extensions. Some of the biggest developers have created extensions to allow users to use their apps from Safari and other applications in iOS. One of the biggest integration of extensions has to be the 1Password application, which finally gives users access to their passwords from within Safari for the first time on iOS.
Apple is always experimenting with new technologies, and bringing the good ones over to third-party developers — that's why I am always looking forward to what Apple will bring to its platforms next. In an upcoming article, I'll explore what Apple might release for developers.
- Pro tip: Create and use arrays in Apple's Swift programming language
- Pro tip: Using Apple's Swift REPL from the Terminal
- Develop WatchKit applications for Apple Watch: What you need to know
- Build iOS 8 extensions: A quick how-to resource
Cory Bohon is an indie developer, creating both iOS and OS X applications at Cocoa App (his own company), MartianCraft, and for various other clients. As a part of full disclosure, he does not write about any software that he has created or has helped to create through these outlets.
Cory Bohon is an indie developer specializing in iOS and OS X development. He runs a software company called Cocoa App and is also a developer at MartianCraft. He was introduced to technology at an early age and has been writing about his favorite technology part-time since 2007. He runs a development blog named ObjDev when he isn’t writing about consumer tech.