SlideShare a Scribd company logo
Mobile
   Software
Engineering
  L05 - iOS

            Mohammad Shaker
     FIT of Damascus - AI dept.
MohammadShakerGtr@gmail.com
       Mobile SE – August 2012
iOS frameworks
•   Address Book UI Framework
•   Event Kit UI Framework
•   Game Kit Framework
•   iAd Framework
•   Map Kit Framework
•   Message UI Framework
•   UIKit Framework
•   ...
MVC
iOS Dev Center
https://developer.apple.com/devcenter/ios/
C
printf
Data Structure
•   pointers
•   Struct
•   Enum
•   arrays
Objective-C
Data Types
BOOL
id
nil
...
Foundation Data Types
•   NSInteger
•   NSPoint
•   NSRect
•   NSSize
•   NSUInteger
•   ...
.h, Define a class – interface
.m, Implementation
Instance Variables
Class Methods
+alloc;
Funcation Calls - Messages
Instance Methods
Messages
@property
@synthesize
Collections
•   NSArray
•   NSMutableArray
•   NSDictionary
•   NSMutableDictionary
•   NSSet
•   NSMutableSet
•   …

https://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/
Fast Enumeration
Localization
• Multi language
• Android, iPhone, iPad.
The iPad
Specs
• 1st generation                    • 1st generation
  1 GHz Apple A4                      256 MB DDR RAM
• 2nd generation                    • 2nd generation
  1 GHz Apple A5                      512 MB DDR2 RAM
• 3rd generation                    • 3rd generation
  1 GHz Apple A5X                     1 GB DDR2 RAM



http://en.wikipedia.org/wiki/IPad
Core Graphics
Core Graphics
 The bad way :D
Core Graphics
Xcode OpenGL template
Resolution
• iPhone, iPod touch
     320 x 480
• iPad
  – 1st & 2nd generation
    1024 × 768 px
  – 3rd generation
    2048×1536 px (Way better than your
    laptop)
Done,
Feel free to ask

More Related Content

Similar to Mobile Software Engineering Crash Course - C05 iOS Intro

iOS platform
iOS platformiOS platform
iOS platform
maya_slides
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
Sharmistha Mandal
 
History of Mobile, Mobile application development and secret to be a great de...
History of Mobile, Mobile application development and secret to be a great de...History of Mobile, Mobile application development and secret to be a great de...
History of Mobile, Mobile application development and secret to be a great de...
Md Razon Hossain
 
Android..imp google
Android..imp googleAndroid..imp google
Android..imp google
Sri Harsha Pamu
 
Android slides
Android slidesAndroid slides
Android slides
aazimmolvi
 
Android slides
Android slidesAndroid slides
Android slides
Surat Training
 
Android slides
Android slidesAndroid slides
Android slides
abdul aamer
 
Android slides
Android slidesAndroid slides
Android slides
Priyanca Tayde
 
Android ppt.
Android ppt.Android ppt.
Android ppt.
mukul_testing
 
Android slides
Android slidesAndroid slides
Android slides
23375174
 
Android slides
Android slidesAndroid slides
Android slides
hardik10192
 
Introduction to android 2
Introduction to android 2Introduction to android 2
Introduction to android 2
Jawad Mohmand
 
Android slides
Android slidesAndroid slides
Android slides
Shivani Samdani
 
Android slides
Android slidesAndroid slides
Android slides
prabhanshuchaubey
 
Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS development
DataArt
 
Resume
ResumeResume
iPhone/iPad开发讲座 第一讲 Ios开发简介
iPhone/iPad开发讲座  第一讲 Ios开发简介iPhone/iPad开发讲座  第一讲 Ios开发简介
iPhone/iPad开发讲座 第一讲 Ios开发简介
Hao Peiqiang
 
dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development
dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile DevelopmentdotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development
dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development
dotNet Miami
 
20120802 timisoara
20120802 timisoara20120802 timisoara
20120802 timisoara
Richard Rodger
 
Object Oriented Programming Languages
Object Oriented Programming LanguagesObject Oriented Programming Languages
Object Oriented Programming Languages
Mannu Khani
 

Similar to Mobile Software Engineering Crash Course - C05 iOS Intro (20)

iOS platform
iOS platformiOS platform
iOS platform
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
History of Mobile, Mobile application development and secret to be a great de...
History of Mobile, Mobile application development and secret to be a great de...History of Mobile, Mobile application development and secret to be a great de...
History of Mobile, Mobile application development and secret to be a great de...
 
Android..imp google
Android..imp googleAndroid..imp google
Android..imp google
 
Android slides
Android slidesAndroid slides
Android slides
 
Android slides
Android slidesAndroid slides
Android slides
 
Android slides
Android slidesAndroid slides
Android slides
 
Android slides
Android slidesAndroid slides
Android slides
 
Android ppt.
Android ppt.Android ppt.
Android ppt.
 
Android slides
Android slidesAndroid slides
Android slides
 
Android slides
Android slidesAndroid slides
Android slides
 
Introduction to android 2
Introduction to android 2Introduction to android 2
Introduction to android 2
 
Android slides
Android slidesAndroid slides
Android slides
 
Android slides
Android slidesAndroid slides
Android slides
 
Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS development
 
Resume
ResumeResume
Resume
 
iPhone/iPad开发讲座 第一讲 Ios开发简介
iPhone/iPad开发讲座  第一讲 Ios开发简介iPhone/iPad开发讲座  第一讲 Ios开发简介
iPhone/iPad开发讲座 第一讲 Ios开发简介
 
dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development
dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile DevelopmentdotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development
dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development
 
20120802 timisoara
20120802 timisoara20120802 timisoara
20120802 timisoara
 
Object Oriented Programming Languages
Object Oriented Programming LanguagesObject Oriented Programming Languages
Object Oriented Programming Languages
 

More from Mohammad Shaker

12 Rules You Should to Know as a Syrian Graduate
12 Rules You Should to Know as a Syrian Graduate12 Rules You Should to Know as a Syrian Graduate
12 Rules You Should to Know as a Syrian Graduate
Mohammad Shaker
 
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Mohammad Shaker
 
Interaction Design L06 - Tricks with Psychology
Interaction Design L06 - Tricks with PsychologyInteraction Design L06 - Tricks with Psychology
Interaction Design L06 - Tricks with Psychology
Mohammad Shaker
 
Short, Matters, Love - Passioneers Event 2015
Short, Matters, Love -  Passioneers Event 2015Short, Matters, Love -  Passioneers Event 2015
Short, Matters, Love - Passioneers Event 2015
Mohammad Shaker
 
Unity L01 - Game Development
Unity L01 - Game DevelopmentUnity L01 - Game Development
Unity L01 - Game Development
Mohammad Shaker
 
Android L07 - Touch, Screen and Wearables
Android L07 - Touch, Screen and WearablesAndroid L07 - Touch, Screen and Wearables
Android L07 - Touch, Screen and Wearables
Mohammad Shaker
 
Interaction Design L03 - Color
Interaction Design L03 - ColorInteraction Design L03 - Color
Interaction Design L03 - Color
Mohammad Shaker
 
Interaction Design L05 - Typography
Interaction Design L05 - TypographyInteraction Design L05 - Typography
Interaction Design L05 - Typography
Mohammad Shaker
 
Interaction Design L04 - Materialise and Coupling
Interaction Design L04 - Materialise and CouplingInteraction Design L04 - Materialise and Coupling
Interaction Design L04 - Materialise and Coupling
Mohammad Shaker
 
Android L05 - Storage
Android L05 - StorageAndroid L05 - Storage
Android L05 - Storage
Mohammad Shaker
 
Android L04 - Notifications and Threading
Android L04 - Notifications and ThreadingAndroid L04 - Notifications and Threading
Android L04 - Notifications and Threading
Mohammad Shaker
 
Android L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOSAndroid L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOS
Mohammad Shaker
 
Interaction Design L01 - Mobile Constraints
Interaction Design L01 - Mobile ConstraintsInteraction Design L01 - Mobile Constraints
Interaction Design L01 - Mobile Constraints
Mohammad Shaker
 
Interaction Design L02 - Pragnanz and Grids
Interaction Design L02 - Pragnanz and GridsInteraction Design L02 - Pragnanz and Grids
Interaction Design L02 - Pragnanz and Grids
Mohammad Shaker
 
Android L10 - Stores and Gaming
Android L10 - Stores and GamingAndroid L10 - Stores and Gaming
Android L10 - Stores and Gaming
Mohammad Shaker
 
Android L06 - Cloud / Parse
Android L06 - Cloud / ParseAndroid L06 - Cloud / Parse
Android L06 - Cloud / Parse
Mohammad Shaker
 
Android L08 - Google Maps and Utilities
Android L08 - Google Maps and UtilitiesAndroid L08 - Google Maps and Utilities
Android L08 - Google Maps and Utilities
Mohammad Shaker
 
Android L03 - Styles and Themes
Android L03 - Styles and Themes Android L03 - Styles and Themes
Android L03 - Styles and Themes
Mohammad Shaker
 
Android L02 - Activities and Adapters
Android L02 - Activities and AdaptersAndroid L02 - Activities and Adapters
Android L02 - Activities and Adapters
Mohammad Shaker
 
Android L01 - Warm Up
Android L01 - Warm UpAndroid L01 - Warm Up
Android L01 - Warm Up
Mohammad Shaker
 

More from Mohammad Shaker (20)

12 Rules You Should to Know as a Syrian Graduate
12 Rules You Should to Know as a Syrian Graduate12 Rules You Should to Know as a Syrian Graduate
12 Rules You Should to Know as a Syrian Graduate
 
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
 
Interaction Design L06 - Tricks with Psychology
Interaction Design L06 - Tricks with PsychologyInteraction Design L06 - Tricks with Psychology
Interaction Design L06 - Tricks with Psychology
 
Short, Matters, Love - Passioneers Event 2015
Short, Matters, Love -  Passioneers Event 2015Short, Matters, Love -  Passioneers Event 2015
Short, Matters, Love - Passioneers Event 2015
 
Unity L01 - Game Development
Unity L01 - Game DevelopmentUnity L01 - Game Development
Unity L01 - Game Development
 
Android L07 - Touch, Screen and Wearables
Android L07 - Touch, Screen and WearablesAndroid L07 - Touch, Screen and Wearables
Android L07 - Touch, Screen and Wearables
 
Interaction Design L03 - Color
Interaction Design L03 - ColorInteraction Design L03 - Color
Interaction Design L03 - Color
 
Interaction Design L05 - Typography
Interaction Design L05 - TypographyInteraction Design L05 - Typography
Interaction Design L05 - Typography
 
Interaction Design L04 - Materialise and Coupling
Interaction Design L04 - Materialise and CouplingInteraction Design L04 - Materialise and Coupling
Interaction Design L04 - Materialise and Coupling
 
Android L05 - Storage
Android L05 - StorageAndroid L05 - Storage
Android L05 - Storage
 
Android L04 - Notifications and Threading
Android L04 - Notifications and ThreadingAndroid L04 - Notifications and Threading
Android L04 - Notifications and Threading
 
Android L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOSAndroid L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOS
 
Interaction Design L01 - Mobile Constraints
Interaction Design L01 - Mobile ConstraintsInteraction Design L01 - Mobile Constraints
Interaction Design L01 - Mobile Constraints
 
Interaction Design L02 - Pragnanz and Grids
Interaction Design L02 - Pragnanz and GridsInteraction Design L02 - Pragnanz and Grids
Interaction Design L02 - Pragnanz and Grids
 
Android L10 - Stores and Gaming
Android L10 - Stores and GamingAndroid L10 - Stores and Gaming
Android L10 - Stores and Gaming
 
Android L06 - Cloud / Parse
Android L06 - Cloud / ParseAndroid L06 - Cloud / Parse
Android L06 - Cloud / Parse
 
Android L08 - Google Maps and Utilities
Android L08 - Google Maps and UtilitiesAndroid L08 - Google Maps and Utilities
Android L08 - Google Maps and Utilities
 
Android L03 - Styles and Themes
Android L03 - Styles and Themes Android L03 - Styles and Themes
Android L03 - Styles and Themes
 
Android L02 - Activities and Adapters
Android L02 - Activities and AdaptersAndroid L02 - Activities and Adapters
Android L02 - Activities and Adapters
 
Android L01 - Warm Up
Android L01 - Warm UpAndroid L01 - Warm Up
Android L01 - Warm Up
 

Mobile Software Engineering Crash Course - C05 iOS Intro