Introduction to iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. iOS was launched by Apple Inc. on June 29, 2007 with the very first iPhone. It is the operating system that presently powers many of the company's mobile devices, including the iPhone, iPad, and iPod Touch. It is the second most popular mobile operating system globally after Android.
iPhone was developed from the Steve Job’s idea of shrinking the Mac and he achieved it in companion with Scott Forstall. The operating system was unveiled with the iPhone at the Macworld Conference & Expo on January 9, 2007, and released in June of that year. Apple announced the iPhone SDK ( Software Development Kit ) on March 6, 2008. The iOS App Store was opened on July 10, 2008 with an initial 500 applications available. iPod Touch which had most of the non-phone capabilities of the iPhone was released on September 5, 2007.On January 27, 2010, Apple announced the iPad, featuring a larger screen than the iPhone and iPod Touch, and designed for web browsing, media consumption, and reading.In June 2010, Apple rebranded iPhone OS as "iOS".
iOS - Evolution
Apple provides major updates to the iOS operating system annually via iTunes and also, for iOS 5 and later, over the air.The latest version is iOS 10, released on September 13, 2016.
- It was the very first iPhone announced on January 9, 2007.
- It was released on June 29, 2007.
- It was enhanced with features like Multi touch gestures, Visual voicemail, Mobile Web Browsing on Safari and Youtube.
- It was announced on June 9, 2008 and was released on July 11, 2008 with iPhone 3G.
- It came after the iPhone Software Development Kit ( SDK ).
- This version of iOS introduced new features such as App Store, Maps with GPS, push email.
- It was announced on June 8, 2009.
- It was released on June 29, 2009 with iPhone 3G S.
- It includes new features like voice control, multimedia messages, Spotlight search, landscape keyboard and finally cut, copy and paste functions.
- iOS 4 came preinstalled with iPhone 4 and iPad 2.
- It was announced on June 7, 2010 and released on June 21, 2010.
- Officially marked as iOS, it offered new features like wallpapers, multitasking, folders and FaceTime, and iBooks for iPads.
- It was Apple’s first CDMA capable phone.
- It was announced on June 6, 2011 and released on October 11, 2011
- Prepackaged with iPhone 4S, iOS 5 added with new features like Siri, Notification Centre, iMessage, Reminders and Newsstand.
- iOS 5 become notable because it cut computer cord.
- It also brought introduction of iCloud and Twitter integration.
- It was announced on June 11 2012 and released on September 19, 2012.
- It was included with the iPhone5 and iPad Mini and parted ways with pre-installed Google Maps and Youtube.
- It included Apple’s own Map app, introducing turn-by-turn navigation as well as Facebook Integration, Password and LTE.
- It was announced on June 10, 2013 and released on September 18, 2013.
- Prepackaged with iPhone 5S, 5C, iPad Air and iPad Mini 2.
- It offers features like Control Center, AirDrop for iPhone, a revamped Photos app, iTunes Radio and CarPlay.
- It was announced on June 2, 2014 and released on September 17, 2014.
- It came with iPhone 6, and 6 Plus and the iPad Air 2.
- It contained new features like Apple pay, a new Healthy App, HandOff, QuickType, Family Sharing, iCloud Drive, Third party Keyboard Support, and Apple Music.
- It was the first iOS to have public beta testing.
- It was announced on June 8, 2015 and released on September 16, 2015.
- It was designed to work with 3D Touch in the iPhone 6 and iPhone 6S Plus.
- It also includes new features such as an Updated Notes App to support drawing sketches and adding images, Maps, News and Wallets.
- It was announced on June 13, 2016 and released on September 13, 2016.
- It delivers a raft changes to frequently added apps like Messages, better integration involving Siri and 3D Touch and more access to Apple apps for third party developers.
iOS App Development
iOS App Development is a multi-tiered process, starting with choosing the right design platform and programming language and ending with a user-friendly native app. It is operated within Apple's integrated development environment (IDE) and write code using the Swift or Objective-C programming languages. Apple's Xcode IDE is the most efficient and comprehensive tool used for iOS App Development i.e., also freely available. To launch a successful app, developers must deliver an effective user interface (UI) that enhances the user experience (UX) at all levels.
Tools and IDE
Xcode is the Tool and IDE required for iOS App Development. Tool for building iOS applications can be cross-platform frameworks, but Apple's Xcode IDE is the most efficient and comprehensive iOS application development tool available.
Xcode includes all the features developers need to design, develop and debug an iOS app. It can also build applications for Mac (OS X), Apple Watch (watchOS) and Apple TV (tvOS). It provides the editors and features necessary to work with the code and interface elements, organizes files and templates It supports source code for C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, ResEdit (Rez), and Swift. It also provides tools such as the iOS Simulator, which determines how an app will look and behave on different devices.
- There are two languages used in iOS Development : Objective-C and Swift Language.
- Prior to 2014, developers building iOS apps in Xcode used Objective-C.
- Since 2014, Apple started building apps using Swift Language, that's touted as being easier to learn and better designed for iOS application development.
Objective-C is the primary programming language i.e., used when writing software for OS X and iOS. It’s a superset of the C language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime.
Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux. Swift is intended to be more resilient to erroneous code than Objective-C, and more concise. It supports many core concepts that are associated with Objective-C such as dynamic dispatch, widespread late binding, extensible programming etc.
iOS Architecture is a layered architecture and the layers are namely, Core OS, Core Services, Media Layer and Cocoa Touch. Below given are the layers in iOS
Core OS Layer
- The Core OS layer holds the low level features that most other technologies are built upon.
- The layer provides such services as the Security, Local Authentication and Core Bluetooth frameworks.
- 64-Bit support from iOS 7 supports the 64 bit app development and enables the application to run faster.
Core Services Layer
- This is the layer where developers will find basic system services such as the Core Foundation and the Foundation Framework.
- This layer also supports features such as location and networking services.
- The role of this layer is to provide iOS with audio, video, animation and graphics capabilities.
- It comprises a number of frameworks which may be utilized when developing iPad apps.
Cocoa Touch Layer
- This layer is at the top of the iOS stack and contains the frameworks that are most commonly used by iPad application developers.
- Cocoa Touch is primarily written in Objective-C, is based on the standard Mac OS X Cocoa API (as found on Apple desktop and laptop computers)
- It has been extended and modified to meet the needs of the iPad hardware.