iphone application development

18
iPhone Application Development

Upload: arpitnot4u

Post on 13-Jun-2015

48 views

Category:

Software


2 download

DESCRIPTION

iphone application development. The contents of this presentation are taken from https://developer.apple.com which is a trusted source of information

TRANSCRIPT

Page 1: iphone application development

iPhone Application Development

Page 2: iphone application development

Objective C

● was originally developed in the early 1980s

● primary programming language you use when writing software for OS X

and iOS.

● used by Apple for the OS X and iOS operating systems

● respective application programming interfaces (APIs), Cocoa and Cocoa

Touch

Page 3: iphone application development

Get the Tools

Page 4: iphone application development

XCODE

● Xcode is Apple’s integrated development environment (IDE)

● includes a source editor, a graphical user interface editor, and many other

features

● iOS SDK extends the Xcode toolset to include the tools, compilers, and

frameworks you need specifically for iOS development

● You need OS X version 10.8 to download Xcode

● The iOS SDK is included with Xcode.

Page 5: iphone application development
Page 6: iphone application development

Cocoa Touch● a UI framework framework by Apple● Used for building software programs to run on the iOS operating system

(for the iPhone, iPod Touch, and iPad).● It follows a Model-View-Controller(MVC) software architecture.

Main features1. Core Animation2. Multitasking3. Gesture Recognizers

Page 7: iphone application development

● iOS technologies can be seen as a set of layers, with Cocoa Touch at the

highest level and the Core OS and iOS kernel at the bottom.

● A hierarchical view of the iOS technologies can be shown as follows:

1. Cocoa Touch

2. Media / Application Services

3. Core Services

4. Core OS / iOS kernel

count….(Cocoa Touch in relation to other iOS layers)

Page 8: iphone application development

Instruments

● Track down difficult-to-reproduce problems in your code

● Do performance analysis on your app

● Automate testing of your app

● Stress-test parts of your app

● Perform general system-level troubleshooting

● Gain a deeper understanding of how your app works.

● Gather data about your app’s memory usage, disk activity, network activity,

and graphics performance among others.

Page 9: iphone application development
Page 10: iphone application development

User InterfaceUIKit.

● The UIKit framework provides classes to create a touch-based user interface. ● All iOS apps are based on UIKit.

Core Graphics. ● A low-level, C-based framework. ● Of course, the simplest and most efficient way to create graphics in iOS is to use prerendered

images with the standard views and controls of the UIKit framework, letting iOS do the drawing.

Core Animation. ● Allows you to make advanced animations and visual effects. ● UIKit provides animations that are built on top of the Core Animation technology. ● If you need advanced animations beyond the capabilities of UIKit, you can use Core Animation

directly.

Page 11: iphone application development

Data

Core Data. ● The Core Data framework manages an app’s data model. ● With Core Data, you create model objects, known as managed objects. ● Core Data takes advantage of the built-in SQLite technology to store and manage data

efficiently.

Foundation. ● The Foundation framework defines a base layer of Objective-C classes. ● This framework introduces several paradigms that define behaviors not covered by the

Objective-C language. ● Among other things, this framework includes classes representing basic data types, such as

strings and numbers, and collection classes for storing other objects.

Page 12: iphone application development

Socket Programming

Page 13: iphone application development

Socket Programming

Socket and stream programming generally falls into one of the following broad categories:

● Packet-based communication — Programs that operate on one packet at a time, listening for incoming packets, then sending packets in reply.

● Stream-based clients — Programs that use TCP to send and receive data as two continuous streams of bytes, one in each direction.

Socket Types● UDP (User Datagram Protocol)● TCP (Transmission Control Protocol)

Page 14: iphone application development

Socket Programming

Choosing an API Family

POSIX C networking APIs● Use POSIX calls if cross-platform portability is required.● is discouraged because it does not activate the cellular radio or on-demand VPN

Foundation Objective-C networking APIs● For client code in Objective-C.● Foundation defines high-level classes for managing URL connections, socket streams, network

services, and other networking tasks. ● It is also the primary non-UI Objective-C framework in OS X and iOS, providing routines for run

loops, string handling, collection objects, file access, and so on.

Page 15: iphone application development

Socket ProgrammingCore Foundation C networking APIs

● For client code in C● The Core Foundation framework and the CFNetwork framework are two of the primary C-

language frameworks in OS X and iOS. ● Together they define the functions and structures upon which the Foundation networking

classes are built.

In OS X● CFNetwork is a sub framework of the Core Services framework.

In iOS● CFNetwork is a top-level framework.

Page 17: iphone application development

Reference● https://developer.apple.com● http://en.wikipedia.org/wiki/Objective-C● https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/NetworkingTopics/

Articles/UsingSocketsandSocketStreams.html● http://oreilly.com/iphone/excerpts/iphone-sdk/network-programming.html

Page 18: iphone application development

Thank you

.....any Questions.?