Apple unveiled the long-awaited Apple Watch on September 9, 2014. The first version of WatchOS was limited to pre-installed applications, but developers were finally able to create iOS extensions which were rendered on an iPhone and displayed on the watch screen. With WatchOS 2 developers finally can create native applications with many capabilities as well as access to hardware. Let’s see for ourselves how easy it is for iOS developers to prepare a WatchOS native application…
With the iOS platform, Apple is pushing developers to prepare fast and high quality applications tailor-made for mobile experience. This can be – and often is – achieved due to excellent tools, and even better documentation, guidelines and great SDK, all provided by Apple. Working with WatchOS is no different – it can even be better.
Developers use tools like Xcode IDE and Simulator for testing. It’s the same for WatchOS. Even the same development language (Objective-C or Swift) is used. This is good news: this means developers can immediately start work with identical tools, and there is no need to become familiar with any additional software. This means that we are ready to launch a bare project in just 10 seconds.
The User interface is prepared in a Storyboard file, which, again, shows a similarity to iOS. Yet here’s where the differences start. First, a watch screen is much smaller than that of an iPhone, which makes it hard to use iOS UI elements. So, a set of UI elements dedicated for Watch OS needs to be used: it’s much smaller but much better suited for user experience. By using those elements, developers are able to design an interface without any complications. Second, one thing should be noted: the Apple watch will be never as powerful as a smartphone. Apple knows that and strongly suggests that the developers refrain from using rich animations and custom UI elements.
Good habits, best practices
Although WatchOS supports UI animations, it is recommended to use image sequence animation as this is most efficient approach. WatchOS (like iOS) is rendered by OpenGL and bitmaps are rendered very fast. This was the optimization technique used in first iPhones with slow CPUs. For an experienced developer, the technique should be nothing new.
Most of the iOS guidelines are valid also for WatchOS. An application should present only the content that is required by the user. Navigation should be clear and all state changes should be explained with proper animations and transitions.
Developers have been dealing with not only new iOS versions but most of all hardware architecture versions from the first iPhone onward. Different CPUs and, finally, the change from 32 to 64 bits resulted in a little more work and effort on the part of developers to provide stable applications. Apple knew that a new platform would give additional overhead, and introduced a technology called bitcode. Before that, developers used to build binaries for different architectures, which were then merged into one binary. Now, Xcode builds an intermediate representation of the compiled program, and the final app is compiled and linked on the App Store. Thanks to this, if someone comes up with new architecture, Apple can compile our code without any additional work on our side.
Piece of cake!
So is it hard to build Apple Watch applications? Not at all. An experienced developer is able to start immediately. With good documentation and great guidelines, the workflow is straightforward. Thanks to Apple’s strong support and high-quality tools we are able to deliver high quality applications for our most demanding clients.
If you have any questions, contact us!
author: Jakub Kuzimski