Over a million developers have joined DZone.

The Battle of Wearable SDKs

Apple Watch or Android Wear? As long as there's consistency across devices, it doesn't matter which you choose.

· IoT Zone

Access the survey results 'State of Industrial Internet Application Development' to learn about latest challenges, trends and opportunities with Industrial IoT, brought to you in partnership with GE Digital.

Since April, we’ve been covering a lot of topics about Apple Watch and its Google counterpart, Android Wear. As a developer I am, of course, interested in the market potential and adoption rate of these new devices. However, once the decision is made on whether or not the space is worth developing for, the questions get a lot more complex when we look at the underlying technology.

In my last post, we mentioned the smartwatches themselves, their capabilities, and what this diversity means to the ecosystem. In this post, I’d like to bring your attention to the software that will be running on the watches.

Pieces of the Puzzle

As it stands, there are two major software components to both Apple Watch and Android Wear: the underlying Operating System (OS) and a set of APIs wrapped in a Software Development Kit (SDK). The OS is what executes all the code, and the SDK is a set of tools and functions to make development easier.

Both of these components are important to developers, as they unlock the functionality of the device and give us the tools we need to build great apps. As you can imagine, these are critical for the providers to maintain and upgrade – usually faster than the devices themselves.

The Race is On

While the underlying software alone may not make or break a developer’s decision to support a specific platform, it’s important for Apple and Google to provide robust functionality that’s on par with the industry norms. Bonus points are of course awarded for new innovations that can help facilitate that killer app.

This competition is often seen as copying, but in reality, it’s great for developers. It makes it much easier to develop for both platforms when they are similar in functionality, and the back-and-forth feature race helps drive new innovation, since both companies want to be the first with the next great feature.

Looking at these platforms today, Google’s Wear SDK has been around for about a year longer than Apple’s Watch OS. This makes it a little more battle-tested with a few extra features. However, Apple is quickly playing catch-up and we’ll be seeing feature parity in most cases as soon as Apple releases WatchOS 2 this fall.

What does this mean?

If you’re looking to develop for either Apple Watch or Android Wear, don’t worry about diving too deep into the SDK and OS documentation to see which one is right for you. Just as the phone platforms have evolved alongside one another, so will the watch platforms. As the industry players battle it out, you’ll still find consistency across devices and feel right at home developing for both Android Wear and Apple Watch.

Learn More

If you’re interested in learning how to build an app for Android Wear, check out our open source tutorial to create your first watch app in minutes. Apple Watch? We have a tutorial for that too! To see our full discussion from last week’s office hours, you can find it on our YouTube Channel.

And stay tuned for our next Office Hours – we hope to see you there!

Next Engineering Post: 200ms: The Magical Number for Faster Response Times →

The IoT Zone is brought to you in partnership with GE Digital.  Discover how IoT developers are using Predix to disrupt traditional industrial development models.


Published at DZone with permission of Chris Beauchamp, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}