iOS is based on Mac OS X. development languages are swift, objective-c and c. and it’s not an open source.
Cocoa Touch Layer
Based on Mac OS X cocoa API. There are Frameworks such as :
UIKit
→ UI element, life cycle management, gestures, touch …
Address Book
→ Contact, editing ….
Event Kit
→ Calendar events ..
Game Kit
→ Game Center, p2p networking ..
iAd
→ Apple’s advertisement platform ..
Map Kit
→ Apple map, Google map ..
Message Kit
→ Email, SMS ..
Media Layer
As mentioned in the above image, media layer allows the developer to work with photos, videos, audios, animations, graphics like things. below are some Frameworks from all Frameworks which allows the developer to access while developing an app.
Assets Library
→ Photos and videos in the device
AVFoundation
→ Advanced audio and video (ex: qr or barcode scanner)
Core Audio
→ Low level audio
Core Graphics
→ Such as 2D drawing …
Core Text
→ Advanced text layouts and fonts
Image I/O
→ Importing and exporting images
Media Player
→ Simple audio, video playback
OpenAL
→ Positional Audio
OpenGLES
→ 2D and 3D Drawing
QuartzCore
→ Animations
Core Services Layer
This is the layer allows developers to access the services which opened by apple for the iOS application development. here are some Frameworks we use with core services layer.
Address Book
→ Lower layer contacts
CFNetwork
→ Socket level networking
Core Data
→ Data Model
Core Location
→ GPS, celular or wi-fi based location services
Core Media
→ low level media used by AV
Core Telephony
→ phone interface
Event Kit
→ low level calendar events
Foundation
→ Core foundation such as utility classes
Mobile Core Services
→ Uniform type identifier support
Quick Look
→ Previewing files
Store Kit
→ In App Purchase
Core OS Layer
This is the layer which has limited access to the developers. even though it has limited access here are some Frameworks that the developers can access.
Accelerate
→ Big number and DSP calculations
External Accessory
→ Communicate with hardware accessories.
Security
→ Certificates and Cryptography
System
→ low level Operating system methods.
Hope this will help to get basic idea of iOS Architecture. Thank you and cheers !!!
Get in touch: https://www.linkedin.com/in/anuradhcaldera/