Upload
springpeople
View
309
Download
1
Tags:
Embed Size (px)
DESCRIPTION
iOS Application Development course is for professionals who have been working with any object-oriented programming language (Java, C++, C, C# etc)
Citation preview
© SpringPeople Software Private Limited, All Rights Reserved. © SpringPeople Software Private Limited, All Rights Reserved.
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 Apple’s 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 don’t 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
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
[email protected] +91 80 65679700
www.springpeople.com
A SpringSource & MuleSoft Certified Partner and
VMware Authorized Training Center