- [Instructor] Now that you've seen a genericsmart phone platform architecture,let's take a look at how the iOS platform is structured.Let's start with the hardware layer.The hardware layer represents the device.This includes iPhone,iPad and many other devices.Gartner reported that in Q4 2016,devices running iOS made up nearly 20%of the smart phones sold worldwide.Android accounted for nearly all of the rest,with Windows Phone and Blackberry essentiallyrepresenting rounding errors.

In terms of tablets,iOS holds the lion's share of the market.And Android accounts for nearly all of the rest.In addition you'll find iOS on other devicesranging from Apple Watch to iPod and HomePod,to Apple CarPlay.For wearable usage stats,head to 9 TO 5 Mac,and for more info on CarPlay navigateto Apple's CarPlay site.The operating system layer in the iOS platformincludes the lowest level set of system frameworks,as well as the unit's based operating systemthat most other technologies are built on.

On iOS this is called the Core OSand includes things like Core Bluetooth,local authentication and security.The Core libraries on the iOS platformare layered and include the Cocoa Touch,Media and Core services layers.These layers provide the object orientated constructsyour apps can access to provide functionality.The Cocoa Touch layer contains many of the frameworksused to build apps including user interface components,the map kit, the messaging kit and more.

The Media layer includes toolsfor manipulating graphics, audio and video.The Core services layer contains lower levelframeworks such as location and networking servicesthat higher layers are built on.The Application layer is where your apps will execute.They sit next to the system apps built into iOS,which provide standard system serviceslike SMS, email and telepheny.Native apps appear on the iOS home screen.They are written in either Objective-C or Swift,and access layers lower in the platform architecture.

Both the app and its data are synced viaiTunes to the user's computer.When creating your own apps,you have access to all layers in the iOS platform.However when you're creating iOS apps,writing code that makes use of layers higherin the stack is better than accessing lower layers directly.Using the higher layers insulates youfrom the complexity of lower layers,and protects you from any future changesApple might make in the lower layers.That way should Apple decide to changethe lower layers that access hardware directlyin a new device for example,you can be confident your app will stillfunction as intended.

In other words,using the higher layers makes your appforward compatible with future devices.For more information,head over to the iOS technology overview guide.

Resume Transcript Auto-Scroll

Author

Released

9/27/2017

Discover how to develop basic iOS and Android apps. This course was designed for Android developers who want to enhance their familiarity with both the iOS and Android development process. Here, instructor Tom Duffy demonstrates how to develop the same command-line app using both iOS and Android, providing opportunities for you to compare the two platforms along the way. Tom goes through the basic development process and tools for both iOS and Android, and discusses differences in app lifecycles, inheritance, and access control. He then rebuilds the same simple command-line applications from before, but wires them into mobile interfaces using Xcode and Android Studio.