You are on page 1of 20

Introduction to iOS Apps Development

SpringPeople Software Private Limited, All Rights Reserved.

Tracking The Past


Steve Jobs started Apple Computers in 1980s. John Sculley acquired control NeXT Computers emerged in 1985 Closed in 1993, renamed to NeXT Software Inc. Brad Cox invented Objective-C in 1983 Steve Jobs licensed Objective-C in 1998 Development tools commercial version NeXTSTEP OS and Dev Tools based on UNIX Apple acquired NeXTSTEP in 1996 renamed NeXTSTEP to COCOA.

SpringPeople Software Private Limited, All Rights Reserved.

The Success Song


Apple produced its first innovation iMAC machine 1998.

2001 produced the portable masterpiece iPOD


June 29, 2007 rocked the mobile market with its Smartphone iPhone Apple Stores recorded 2,70,000 units sale in two days iPhone topped a million units in a month and a half. July 11, 2008 Apple released iPhone 3G and its public deployment of iPhone SDK.

iPhone SDK and Cocoa downloadable free by developers

SpringPeople Software Private Limited, All Rights Reserved.

iPhone Specifications
Core Specifications: Specs for both the 2007 and 2008 3G release 4.7 or 4.8 ounce computing devices 620 MHz ARM CPU under-clocked to improve battery performance and reduce heat. 128 MB Dynamic RAM (DRAM)

4-16 GB Flash Memory


Built-on Apples OS X

SpringPeople Software Private Limited, All Rights Reserved.

Development Environment
Most Object-Oriented Development Environments consist of: An Object-oriented Programming Language Objective-C A library of Objects Cocoa Frameworks A Suite of Development Tools Xcode and Interface Builder A Runtime Environment Acts as a Kind of Operating system for Objective-C. Typically, you dont need to interact with runtime directly

SpringPeople Software Private Limited, All Rights Reserved.

Frameworks
Frameworks classes compiled together into a reusable library of code. Built in frameworks - /System/Library/Frameworks Cocoa is made up of: Foundation: Standard values, collection, utility classes. Strings, dates, lists, threads, timers. AppKit: User Interface Frameworks. Windows, buttons, text fields, events, drawing classes Core Data: Core data is a persistence frameworks. Makes it easy to save and reload files.

SpringPeople Software Private Limited, All Rights Reserved.

IOS Architecture
iOS can be considered as architected into Layers Cocoa Touch at the Developer interface level Abstracts from the more Core layers

SpringPeople Software Private Limited, All Rights Reserved.

Core Operating System


The Core OS System offers : Threading (POSIX Threads) Networking (BSD sockets) File-System Access Standard I/O Bonjour and DNS services Locale Information Memory Allocation Math Computations

SpringPeople Software Private Limited, All Rights Reserved.

Core OS Features
Accelerate Framework

DSP, Linear Algebra, Image Processing


Core Bluetooth (Objective-C) Connect to Bluetooth devices

External Accessories Framework (Objective-C)


Communicate Through 30-pin connector Security Framework Manage Certificates, Keys and Policies

SpringPeople Software Private Limited, All Rights Reserved.

Core Services
CFNetwork Low Level Networking Core Data Framework (Objective C) Persistence Storage in SQLite Database Core Foundation Framework Collections, Date/Time, Threading Objective-C Wrapper: Foundation Core Location Framework (Objectvive-C) GPS, Cell, Wi-Fi Locations Core Telephony Framework (Objective-C) Cell Provider Info, Receive Call Events Store Kit Framework (Objective C) In-App Purchase

SpringPeople Software Private Limited, All Rights Reserved.

Media Layer
Core Graphics 2D Vector and Raster Graphics Core Animation View Animation Core Image (Objective-C) Image and Video Manipulation, Filters Open GL ES and GLKit Hardware-accelerated 3D graphics Core Text Text layout and Rendering Image I/O Assets Library Access User Photos and videos

SpringPeople Software Private Limited, All Rights Reserved.

Media Audio/Video
Media Player Frameworks (Objective-C) Access iTunes Library and Simple Playback AV Foundation Frameworks (Objective-C) Audio and Video Capture and Playback Open AL Positional Audio Core Audio Framework Advanced Audio Playback Core Video Framework Advanced Video Playback AirPlay (Objective-C) Stream Audio and Video to Other Devices
SpringPeople Software Private Limited, All Rights Reserved.

Media Layer Hierarchy

AV Foundation

SpringPeople Software Private Limited, All Rights Reserved.

COCOA Touch
Story Boards (iOS5) Gesture Recognition Documents Multi Tasking Printing Data Protection File Sharing Local Notifications Push Notifications Peer-peer Services External Display Support System View Controllers

SpringPeople Software Private Limited, All Rights Reserved.

COCOA Touch Frameworks


Address Book Contacts Event UI Kit Calender Map Kit Maps Message UI Email and SMS Game Kit Multiplayer Games iAd Advertisements Twitter Tweets UIKit Everything Else
SpringPeople Software Private Limited, All Rights Reserved.

Objective - C
Objective-C is a superset of C, which enables sophisticated Object oriented programming mostly based on SmallTalk. Designed to give C full OOPS support. Objective-C code is compiled by gcc, the GNU C compiler. It enables to freely mix C, C++ and Objective-C code in a single file. Objective-C is the foundation of Cocoa a whole lot of utility functions. Thousands of classes/libraries are wrapped into the Foundation Frameworks. Cocoa also contains interface classes UIKit and other classes like the MapKit, Address Book UI all wrapped into Cocoa Touch.

SpringPeople Software Private Limited, All Rights Reserved.

Say HI To Objective - C
#import <Cocoa/Cocoa.h> #import AppDevegate.h NSLog(@Getting the first message); The Important typedef The Code sense Everything is Pointer* The iOS Autorelease Pool

SpringPeople Software Private Limited, All Rights Reserved.

Start Developing your own iOS Apps In 3 Days Flat

Attend the 3-Days iOS (iPhone & iPad) Workshop

View Complete Details

SpringPeople Software Private Limited, All Rights Reserved.

Who will benefit?

Professionals who have been working with any object-oriented programming language (Java, C++, C, C# etc) View Complete Details

SpringPeople Software Private Limited, All Rights Reserved.

Q&A
training@springpeople.com +91 80 65679700 www.springpeople.com

A SpringSource & MuleSoft Certified Partner and


VMware Authorized Training Center

SpringPeople Software Private Limited, All Rights Reserved.

You might also like