14. Apple Amazing Idea
App Store
Gather every parties in one market
Exclusive market
Exclusive but good - remember it !
15. The Amazing Store
How store work
Shares per download
Ratings and reviews
Volume of work Disappointed?
Never
15,000 app submissions a week
100,000,000,000 downloads in first 90 days
29. Do you like Apple ?
Yes Does not matter !No
If you like Apple .... develop for iPhone
If you do NOT like Apple ... develop for iPhone
If you want to be a mobile applications developer
develop for all working mobile phones
31. Mobile, web and desktop development
Time of development: varies according the application itself, but in
general, mobile applications development is the fastest.
Customers: mobile users are more than web and desktop applications
users.
Job availability: it is more likely to develop mobile applications as
freelancer than web and desktop development.
Mobility is a feature.
33. iPhone development benefits
Customers
Every iPhone holder is a customer
Ease of marketing
Just upload to the store
Customers are ready to try, you don’t have to convince
them.
35. Development Environment
iPhone, iPad and Mac applications development is
restricted, only certain IDE on a certain OS works.
In order to develop for iPhone you have to get
Mac machine
Developer license
iOS SDK
XCode
36. How to get a MAC
You have two options
Buy a Mac
Try Hackintosh for Intel
Install native
Use a virtual machine
37. Native VS Virtual
Native is faster than virtual installation in general, because
all machine resources are fully dedicated.
Virtual is more mobile and easier to distribute just export
and import
38. VM Overview
Virtual Machine: is a software simulated machine on your
host PC
Basic Operations:
Create a machine
Import a machine
Export an existing machine
Run a machine
39. VM ... How?
There are two main applications for VM
VMWare
To create use: the “work station”, it is not free
To run use: the “player”, it is free
VirtualBox
By Sun, you can do it all with a free single application
40. Developer license
Registration is optional when you develop, but it is a must if
you want to put your apps on the store.
When you are registered you can download your development
tools for free
You register for an iPhone developer license for 99$ per year.
You are in Egypt, so you have to send a fax, you can’t register
online... even after 25Jan
41. iOS SDK
iOS SDK: enables you to develop iPhone applications on
XCode, as XCode is used to develop by default applications
for Mac OS
iOS SDK Contains:
XCode
iOS Simulator
iOS developer documentation
42. XCode
XCode: is your soulmate IDE
XCode 3 is free, XCode 4 is not
To download or buy, you must have an iTunes account
It contains:
iPhone simulator, for simulating your applications
Instruments, for testing the performance of your application running on a
physical device
48. iOS development
It is iOS development not iPhone development
You develop and application for the iOS so every devices
runs iOS can run your application
This is called portability
51. iOS for all iDevices
The duel interface layer that makes our apps runnable
among different HW architecture, is useless when HW does
not support certain feature
Ex: Your image capture program should work on different
devices, BUT they must have a camera
52. Identifying your HW
If you want to make a real full portable application for iOS
you have to check HW features first.
You can run the same app on iPhone and iPod, but don’t
expect the same result if you use iPhone’s camera while iPod
doesn’t has camera
54. iOS Layers
Cocoa Touch Layer
Media Layer
Core Service Layer
Core OS Layer
55. iOS Layers
Cocoa Touch Layer
It is Objective-C layer
Media Layer Most used by developers
Core Service Layer
Core OS Layer
56. iOS Layers
Cocoa Touch Layer
Media Layer It is Objective-C layer
Contains Audio and
Core Service Layer Video libraries
Core OS Layer
57. iOS Layers
Cocoa Touch Layer
Media Layer
Core Service Layer It is C layer
Contains low level
Core OS Layer operations
58. iOS Layers
Cocoa Touch Layer
Media Layer
Core Service Layer
It is C layer
Core OS Layer Contains the C libs for
the OS kernel
59. Layer
In general you don’t use all layers, you also don’t use all
frameworks in certain used layer.
Layer is a group of frameworks, has common purpose.
60. What is Framework ?
Framework: is a directory that contains a dynamic shared
library and the resources (such as header files, images,
helper applications, and so on) needed to support that
library.
Framework: helps you to write applications independent of
the hardware.
61. Finally, if you want to do something
start it today
tomorrow never comes