www.folio3.com folio3 iphone training session 1 presenter: imam raza

29
www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

Upload: neil-mills

Post on 02-Jan-2016

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.com

Folio3 IPhone TrainingSession 1

Presenter: Imam Raza

Page 2: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Course Outline

• Session 1– Iphone development Types– Brief Overview of deployment Strategies– Iphone OS Architecture

• Session 2– Iphone App Testing

• Session 3– Objective-C Intro

• Session 4– The Cocoa Foundation Kit– Graphical User Interface– Windows, Views and Controls.

Page 3: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

IPhone Development Types

There are three development types of Iphone Apps:

• Web based appWeb based app running in Iphone safari browser.

• IPhone Native appsIPhone Native apps running natively.• 33rdrd party development platform party development platform that

generate native apps.

Page 4: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

IPhone web apps development

Below are the system requirement for it:• Mac machine is not necessaryMac machine is not necessary. Any OS/hardware can

be used for it.• Aptana Studio IDEAptana Studio IDE is used for Iphone web app

developments.

Page 5: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

IPhone Native App development

Below are the System requirements for IPhone native app development:

• Mac MachineMac Machine• XcodeXcode (IDE for developing native

Iphone/IPad app as well as Mac apps).• Iphone SDKIphone SDK. The latest one is 4.3.• Iphone Developer accountIphone Developer account for getting

developer profile certificate to install app on real iphone device.

Page 6: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

3rd party Native Iphone App Development Solution Available in market• MonoTouch• Rhomobile(write once run anywhere)• Appcelerator (write once run anywhere)

Page 7: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

App distribution strategies

Adhoc distributionApp Store distributionEnterprise distribution through local app store

Page 8: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Iphone OS Architecture

– Its similar to the basic architecture of Mac OSX

– IOS acts as an intermediary layer b/w the underlying hardware and the application that appears on the screen

– Application that we create never interact with the hardware instead with the iOS.

Page 9: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

MacOSX architecture

Page 10: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

IOS Architecture

Page 11: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

IOS Architecture

In practice, an app can directly call any of the layers of the stack to perform tasks on the device.

Each operating system layer provides an increasing level of abstraction away from the complexity of working with the hardware.

One should, therefore, always look for solutions located in the higher level OS layers before writing code that reaches down to the lower level layers

Page 12: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Cocoa Touch Layer

Sits at the top of the iPhone OS stack Contains the frameworks that are most commonly used by iPhone application developers. Written in objective-C and based on Mac OSX Cocoa API

Page 13: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Cocoa Touch Layer Frameworks

UIKit FrameworkMap Kit FrameworkPush Notification ServiceMessage UI FrameworkAddress Book UI FrameworkGameKit Framework

Page 14: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Media Layer

Media Layer provide the iPhone OS with : audio, video, animation and graphics capabilities

Media layer comprises a number of frameworks that can be utilized when developing iPhone apps.

Page 15: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Media Layer Frameworks

Core Graphics Framework(CoreGraphics.framework)

Quartz Core Framework(QuartzCore.framework) OpenGL ES Framework (OpenGLES.framework) AV Foundation Framework

(AVFoundation.framework) Core Audio Frameworks

(CoreAudio.framework,AudioToolbox.framework,AudioUnit.framework)

Open Audio Library(OpenAL) Media Player Framework

(MediaPlayer.framework)

Page 16: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Core Services Layer

provides much of the foundation on which the above layers are built.

Consist of below frameworks: Address Book Framework

(AddressBook.framework) Core Data Framework(CoreData.framework) Core Foundation

Framework(coreFoundation.framework) Foundation Framework (Foundation.framework) Core Location

Framework(CoreLocation.framework) Store Kit Framework(StoreKit.framework) SQLite Library

Page 17: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Core OS Layer

The Core OS Layer is the bottom layer of the iPhone OS stack and sits directly on top of the device hardware.

The layer provides a variety of services including low level networking, access to external accessories and the usual fundamental operating system services such as memory management, file system handling and threads.

Page 18: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Core OS Layer Frameworks

CFNetwork Framework(CFNetwork.framework)

External Accessory Framework(ExternalAccessory.framework)

Security Framework (Security.framework) System(LibSystem)

Page 19: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Iphone Development Tools

Page 20: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Xcode

– Xcode is an integrated development environment.

– Xcode can manage all your testing devices.– Apple makes xcode and distribute it for free.

You can get it from Apple's developer website:

– http://developer.apple.com/tools/xcode– Xcode is free but Apple wants you to get

register as a new developer and wants your name and email address.

Page 21: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Xcode Snapshot

Page 22: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Xcode snapshot 2

Page 23: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Creating Sample Hello World AppStep-1 Starting Xcode

Where I can find xcode after installation? Macintosh HD -> Developer -> Applications -

> Xcode. After starting Xcode if you do not see the

welcome screen then go to Help -> Welcome to Xcode menu option to

display it

Page 24: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Xcode Startup Screen

Page 25: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Creating Sample Hello World AppStep-2 Creating New Project

From within this window click on the option to Create a new Xcode project.

This will display the New Project window where we are able to select a template matching the type of project we want to develop

Page 26: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Page 27: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Creating Sample Hello World AppStep-3 Choosing Project Template

There are about 6 project templates available to choose for any iphone project:

View-based Application Navigation-based Application Tab Bar Application Window-based Application Utility Application Open GL ES Application

Page 28: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Creating Sample App

Lab Demonstration

Page 29: Www.folio3.com Folio3 IPhone Training Session 1 Presenter: Imam Raza

www.folio3.comwww.folio3.com

Q&A

Any?