A watch application consists of code that can execute on the watch itself. A watch application is developed in Swift and run as a watch extension and a watch app. For watchOS 2, both run on the watch. (On watchOS 1, the watch extension ran on the companion iPhone.) This chapter will assume watchOS 2 is being used in order to run Swift-compiled code directly on the watch.
Note
As the first version of watchOS did not allow code to be executed on the watch, the code was bundled up into a watch extension, which ran as part of the companion application on the iPhone. The watch app contained resources and other images which were presented directly on the watch. With watchOS 2, the separation became less relevant. A future version of Xcode or watchOS may result in the two concepts becoming combined.