SlideShare a Scribd company logo
1 of 53
Download to read offline
Introduction to Apple  iOS
development
Nikita Korchagin
Introduction to Apple Platforms
development
Nikita Korchagin
Apple platforms engineer
Developer
Developer
Today
•Introduction
•Brief history of iOS and Apple devices
•Starting iOS programming
•iOS development
•Desktop vs. Mobile: what’s different
•Human Interface Guidelines
•Further steps: materials to read
iOS History: from past to present
2007 - iPhone OS 1
• Based on Darwin’s (XNU) kernel port
for ARM
• Multitouch screen
• Few standard applications
• iPhone 1st gen and iPod Touch 1st
gen
• Web-based applications only
• No multitasking
• No SDK
• Usage of private APIs by third-party
developers
2008 - iPhone OS 2
•Paid update (all further major and
minor updates are free)
•First version of iPhone SDK
•Xcode IDE for iOS development
•App Store for iPhone and iPod Touch
•iPod Touch 2G released
2009 - iPhone OS 3
•Lots of UI & functionality
improvements (100+)
•Spotlight search
•Push notifications
•In-app purchase
•Core Data
•«Find my iPhone»
functionality
January 2010 - iPhone OS 3.2
•iPad released
•iPhone OS SDK provides abilities
to create universal applications
•iPad applications should support
multiple device orientations
•iPad-only UI components - Split
view controllers, windowed
modal controllers, popover
controllers
•Backward compatibility with
iPhone applications
June 2010 - WWDC - iOS 4
•iPhone OS became iOS
•iPhone 4 with Retina display
•Support of restricted
multitasking
•Background execution of
applications
•Blocks and Grand Central
Dispatch
•Local notifications
•Game Center and Game Kit
June 2011 - WWDC - iOS 5
•Wireless updates & sync
•iCloud
•Notification center
•Siri
•Containment API
•Automatic Reference Counting
(ARC)
•Twitter integration out-of-box
•Newsstand API
•Core Image
June 2012 - WWDC - iOS 6
•Apple Maps
•Collection views
•AutoLayout
•Facebook integration
•Passbook
•New App Store

June 2013 - WWDC - iOS 7
•iOS redesigned (flat UI, no
skeuomorphism)
•iTunes Radio
•Multitasking improvements
•New application switcher
•Filters for camera
•Automatic applications’ updates
June 2014 - WWDC - iOS8
•No significant design changes
•Multiple screen resolutions
•HomeKit and HealthKit, Metal
•Continuity
•Energy consumption by apps
•Swift programming language
June 2015 - WWDC - iOS9
•Multitasking (Slide Over, Split View,
and Picture in Picture.)
•Search API
•GameplayKit, ReplayKit, Model I/O
•App Thinning
•Swift 2
•watchOS 2 (app extensions)*
June 2016 - WWDC - iOS10
•SiriKit, CallKit, Messages extensions
•Proactive Suggestions
•Video Subscriber Account (SSO)
•Swift 3
•macOS Sierra
•watchOS 3
•tvOS (9 september 2015)*, UIKit/TVML
How to start to develop for iOS?
Jedi way
•Intel-based Mac (Mac Mini, MacBook Air/Pro, iMac, Mac Pro)
•Installed macOS
•Xcode with latest iOS SDK
•Apple device (iPhone/iPod Touch/iPad/ watch/ TV)*
•Apple Developer program account ($99 per 1 year)*
•Good knowledge of design patterns
•Objective-C and Swift knowledge OR
•Relevant experience in C or any strong-typed object-oriented
language like Java/C#/C++
Alternative ways
•Alternative IDE - AppCode (Mac, still requires Xcode to
be installed)
•Objective-C++ (kernel - C++, UI - Objective-C)
•PhoneGap/Titanium (cross-platform)
•Xamarin (.NET/C# - compiles to native code)
•C++ Marmalade SDK for Visual Studio
•Unity3D/Cocos2D-x for game development
•HTML5/CSS3/JavaScript for web applications
Objective-C
•Objective-C is a general-purpose, object-oriented programming
language that adds Smalltalk-style messaging to the C
programming language.
•Originally developed in the early 1980s, it was selected as the
main language used by NeXT for its NeXTSTEP operating system.
•Objective-C is a thin layer on top of C, and moreover is a strict
superset of C.
Objective-C
•All of the syntax for non-object-oriented operations (including
primitive variables, pre-processing, expressions, function
declarations, and function calls) are identical to that of C.
•Syntax for object-oriented features is an implementation of
Smalltalk-style messaging.
•It is the main programming language used by Apple until 2014.
•Still strong and alive…
Objective-C
Swift
•Swift is a multi-paradigm, compiled programming language
created by Apple Inc. for iOS and OS X development.
•Swift was introduced at Apple's 2014 WWDC and Swift 3 at WWDC
2016.
•Initially a proprietary language, Swift 2 became open source
supporting iOS, macOS, watchOS, tvOS, Linux, freeBSD, Raspberry
Pi, Android and Windows.
•Swift supports the core concepts that made Obj-C flexible,
notably dynamic dispatch, widespread late binding, extensible
programming and similar features.
Swift
•It uses the Objective-C runtime, allowing C, Objective-C, C++ and
Swift code to run within a single program.
•Swift has added the concept of protocol extensibility, an
extensibility system that can be applied to types, structs and
classes, Apple promotes this as a real change in programming
paradigms they refer to as protocol-oriented programming.
•Going Server-side with Swift Open Source (#1 on GitHub)
•Swift@IBM Breaking down barriers between client and server all
over the world (Kitura framework, Sandbox, Bluemix)
Swift
Desktop vs. Mobile
What’s different?
•Multitouch display & gestures
•Front and rear camera
•Speakers and microphone
•Location subsystem - GPS/GLONASS
•Magnetometer and compass
•G-sensor and accelerometer
•Bluetooth accessories
Network
•Variants of connection
•GPRS
•EDGE
•3G/4G
•WiFi
•All these opportunities (except WiFi) are connection-
lost-prone
•Cellular network connection is expensive
Screens
•Fullscreen applications
•Bigger UI elements for fingers
•Dark colors to reduce energy consumption
•Different resolutions (x1, x2 and x3)
•Assets for different resolutions
•Ergonomics
Resources
•Every heavy application dramatically drains battery’s life
•Geolocation - GPS
•Networking
•Disk capacity is limited (8/16/32/64/… GB and no SD/
microSD slot)
•Restricted multitasking (full introduced in iOS 7)
•Only a few types of content are supported
•UI is rendered using real-time thread and shouldn’t be
blocked ever
Security mechanisms
•Sandboxing - every application is isolated and runs under
restricted user’s account («jailed»)
•IPC is limited to URL schemas and extensions
•Personal data and passwords should be encrypted (Keychain) or
not stored on the device at all
•HTTPS connections are preferred*; certificate validation is needed
•Data on disk can be encrypted and protected by iOS
•Group policies can be established for iOS devices using
configuration profiles
Creating and submitting the app
•Application should be tested thoroughly; crashes are forbidden
•Application should follow Apple’s Human Interface Guidelines
•Private API usage is forbidden
•Application can be deployed only to the device which is in the
provisioning list
•Application’s binary is signed using developer’s private key
•Application is thoroughly tested during review process
Human Interface Guidelines
HIG
HIG
HIG
HIG
Bad UI/UX
Bad UI/UX
Bad UI/UX
Bad UI/UX
Tablets specific UI
Accessibility
Good UI/UX
Interface Builder HIG support
flat UI vs. skeuomorphism
Further steps
Q&A
Thanks for your attention!

More Related Content

What's hot

How Android is different from other systems – An exploration of the design de...
How Android is different from other systems – An exploration of the design de...How Android is different from other systems – An exploration of the design de...
How Android is different from other systems – An exploration of the design de...IndicThreads
 
Hacking and securing ios applications
Hacking and securing ios applicationsHacking and securing ios applications
Hacking and securing ios applicationsSatish b
 
Xcode, Basics and Beyond
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyondrsebbe
 
Pentesting iPhone applications
Pentesting iPhone applicationsPentesting iPhone applications
Pentesting iPhone applicationsSatish b
 
iOS 6 Exploitation: 280 days later
iOS 6 Exploitation: 280 days lateriOS 6 Exploitation: 280 days later
iOS 6 Exploitation: 280 days laterSeguridad Apple
 
Ruxmon April 2014 - Introduction to iOS Penetration Testing
Ruxmon April 2014 - Introduction to iOS Penetration TestingRuxmon April 2014 - Introduction to iOS Penetration Testing
Ruxmon April 2014 - Introduction to iOS Penetration Testingeightbit
 
iOS Application Penetation Test
iOS Application Penetation TestiOS Application Penetation Test
iOS Application Penetation TestJongWon Kim
 
Jailbreaking iOS
Jailbreaking iOSJailbreaking iOS
Jailbreaking iOSKai Aras
 
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads France
 
DIFFDroid_Anto_Joseph_HIP_2016
DIFFDroid_Anto_Joseph_HIP_2016DIFFDroid_Anto_Joseph_HIP_2016
DIFFDroid_Anto_Joseph_HIP_2016Anthony Jose
 
Online Retailer's Conference 2013 - Hacking Mobile Applications - Industry Ca...
Online Retailer's Conference 2013 - Hacking Mobile Applications - Industry Ca...Online Retailer's Conference 2013 - Hacking Mobile Applications - Industry Ca...
Online Retailer's Conference 2013 - Hacking Mobile Applications - Industry Ca...eightbit
 
CNIT 128 2. Analyzing iOS Applications (Part 1)
CNIT 128 2. Analyzing iOS Applications (Part 1)CNIT 128 2. Analyzing iOS Applications (Part 1)
CNIT 128 2. Analyzing iOS Applications (Part 1)Sam Bowne
 
Yow connected developing secure i os applications
Yow connected   developing secure i os applicationsYow connected   developing secure i os applications
Yow connected developing secure i os applicationsmgianarakis
 
Tizen Operating System
Tizen Operating SystemTizen Operating System
Tizen Operating SystemUday_Peddur
 
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash CourseCrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash Courseeightbit
 
iOS Hacking: Advanced Pentest & Forensic Techniques
iOS Hacking: Advanced Pentest & Forensic TechniquesiOS Hacking: Advanced Pentest & Forensic Techniques
iOS Hacking: Advanced Pentest & Forensic TechniquesÖmer Coşkun
 
OWASP Melbourne - Introduction to iOS Application Penetration Testing
OWASP Melbourne - Introduction to iOS Application Penetration TestingOWASP Melbourne - Introduction to iOS Application Penetration Testing
OWASP Melbourne - Introduction to iOS Application Penetration Testingeightbit
 
I Want More Ninja – iOS Security Testing
I Want More Ninja – iOS Security TestingI Want More Ninja – iOS Security Testing
I Want More Ninja – iOS Security TestingJason Haddix
 
Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1Subhransu Behera
 

What's hot (20)

How Android is different from other systems – An exploration of the design de...
How Android is different from other systems – An exploration of the design de...How Android is different from other systems – An exploration of the design de...
How Android is different from other systems – An exploration of the design de...
 
Hacking and securing ios applications
Hacking and securing ios applicationsHacking and securing ios applications
Hacking and securing ios applications
 
Xcode, Basics and Beyond
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyond
 
Pentesting iPhone applications
Pentesting iPhone applicationsPentesting iPhone applications
Pentesting iPhone applications
 
iOS 6 Exploitation: 280 days later
iOS 6 Exploitation: 280 days lateriOS 6 Exploitation: 280 days later
iOS 6 Exploitation: 280 days later
 
Ruxmon April 2014 - Introduction to iOS Penetration Testing
Ruxmon April 2014 - Introduction to iOS Penetration TestingRuxmon April 2014 - Introduction to iOS Penetration Testing
Ruxmon April 2014 - Introduction to iOS Penetration Testing
 
iOS Application Penetation Test
iOS Application Penetation TestiOS Application Penetation Test
iOS Application Penetation Test
 
Jailbreaking iOS
Jailbreaking iOSJailbreaking iOS
Jailbreaking iOS
 
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
 
DIFFDroid_Anto_Joseph_HIP_2016
DIFFDroid_Anto_Joseph_HIP_2016DIFFDroid_Anto_Joseph_HIP_2016
DIFFDroid_Anto_Joseph_HIP_2016
 
Online Retailer's Conference 2013 - Hacking Mobile Applications - Industry Ca...
Online Retailer's Conference 2013 - Hacking Mobile Applications - Industry Ca...Online Retailer's Conference 2013 - Hacking Mobile Applications - Industry Ca...
Online Retailer's Conference 2013 - Hacking Mobile Applications - Industry Ca...
 
CNIT 128 2. Analyzing iOS Applications (Part 1)
CNIT 128 2. Analyzing iOS Applications (Part 1)CNIT 128 2. Analyzing iOS Applications (Part 1)
CNIT 128 2. Analyzing iOS Applications (Part 1)
 
Yow connected developing secure i os applications
Yow connected   developing secure i os applicationsYow connected   developing secure i os applications
Yow connected developing secure i os applications
 
Tizen Operating System
Tizen Operating SystemTizen Operating System
Tizen Operating System
 
Firefox os ppt
Firefox os pptFirefox os ppt
Firefox os ppt
 
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash CourseCrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
 
iOS Hacking: Advanced Pentest & Forensic Techniques
iOS Hacking: Advanced Pentest & Forensic TechniquesiOS Hacking: Advanced Pentest & Forensic Techniques
iOS Hacking: Advanced Pentest & Forensic Techniques
 
OWASP Melbourne - Introduction to iOS Application Penetration Testing
OWASP Melbourne - Introduction to iOS Application Penetration TestingOWASP Melbourne - Introduction to iOS Application Penetration Testing
OWASP Melbourne - Introduction to iOS Application Penetration Testing
 
I Want More Ninja – iOS Security Testing
I Want More Ninja – iOS Security TestingI Want More Ninja – iOS Security Testing
I Want More Ninja – iOS Security Testing
 
Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1
 

Viewers also liked

Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.DataArt
 
IT talk SPb: Найдется все
IT talk SPb: Найдется всеIT talk SPb: Найдется все
IT talk SPb: Найдется всеDataArt
 
5penpctechnology 130402085735-phpapp01
5penpctechnology 130402085735-phpapp015penpctechnology 130402085735-phpapp01
5penpctechnology 130402085735-phpapp01Rajeshwar Reddy
 
Christmas eve presentatie uit Polen
Christmas eve presentatie uit PolenChristmas eve presentatie uit Polen
Christmas eve presentatie uit Polenevertvangool
 
IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk
IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk
IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk DataArt
 
photos
photosphotos
photosdiakxr
 
First story board pictures
First story board picturesFirst story board pictures
First story board picturesAbbey Cotterill
 
Cara menginstall windows 7
Cara menginstall windows 7Cara menginstall windows 7
Cara menginstall windows 7julyandre777
 
Que es el internet programacion web
Que es el internet programacion webQue es el internet programacion web
Que es el internet programacion webDiego Rojas
 
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...DataArt
 
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...DataArt
 
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
«Как с помощью Google Material Design не делать ». Дмитрий ПровоторовDataArt
 
นิทาน
นิทานนิทาน
นิทานExitOfLove
 
«Android: думайте через данные» Андрей Хитрый
«Android: думайте через данные» Андрей Хитрый«Android: думайте через данные» Андрей Хитрый
«Android: думайте через данные» Андрей ХитрыйDataArt
 
«Android Marshmallow — будь готов». Денис Неклюдов
«Android Marshmallow — будь готов». Денис Неклюдов«Android Marshmallow — будь готов». Денис Неклюдов
«Android Marshmallow — будь готов». Денис НеклюдовDataArt
 

Viewers also liked (20)

Ios.s2
Ios.s2Ios.s2
Ios.s2
 
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
 
IT talk SPb: Найдется все
IT talk SPb: Найдется всеIT talk SPb: Найдется все
IT talk SPb: Найдется все
 
5penpctechnology 130402085735-phpapp01
5penpctechnology 130402085735-phpapp015penpctechnology 130402085735-phpapp01
5penpctechnology 130402085735-phpapp01
 
Christmas eve presentatie uit Polen
Christmas eve presentatie uit PolenChristmas eve presentatie uit Polen
Christmas eve presentatie uit Polen
 
Sam mendes
Sam mendesSam mendes
Sam mendes
 
IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk
IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk
IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk
 
photos
photosphotos
photos
 
ARCHVENTURE
ARCHVENTUREARCHVENTURE
ARCHVENTURE
 
First story board pictures
First story board picturesFirst story board pictures
First story board pictures
 
Biblioterapia
BiblioterapiaBiblioterapia
Biblioterapia
 
Cara menginstall windows 7
Cara menginstall windows 7Cara menginstall windows 7
Cara menginstall windows 7
 
Que es el internet programacion web
Que es el internet programacion webQue es el internet programacion web
Que es el internet programacion web
 
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
 
128059 final ppt30.08.2K16
128059  final ppt30.08.2K16128059  final ppt30.08.2K16
128059 final ppt30.08.2K16
 
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
 
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
«Как с помощью Google Material Design не делать ». Дмитрий Провоторов
 
นิทาน
นิทานนิทาน
นิทาน
 
«Android: думайте через данные» Андрей Хитрый
«Android: думайте через данные» Андрей Хитрый«Android: думайте через данные» Андрей Хитрый
«Android: думайте через данные» Андрей Хитрый
 
«Android Marshmallow — будь готов». Денис Неклюдов
«Android Marshmallow — будь готов». Денис Неклюдов«Android Marshmallow — будь готов». Денис Неклюдов
«Android Marshmallow — будь готов». Денис Неклюдов
 

Similar to Никита Корчагин - Introduction to Apple iOS Development.

Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentDataArt
 
Apple iOS Technology Market
Apple iOS Technology MarketApple iOS Technology Market
Apple iOS Technology MarketBharat Gera
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS DevelopmentAsim Rais Siddiqui
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for AndroidAlexJReid
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps DevelopmentProf. Erwin Globio
 
Qa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerQa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerEran Kinsbrunner
 
Enterprise iPad Development Without Notes
Enterprise iPad Development Without NotesEnterprise iPad Development Without Notes
Enterprise iPad Development Without Notesjaxarcsig
 
IT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit VIT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit Vpkaviya
 
iphone application development
iphone application developmentiphone application development
iphone application developmentarpitnot4u
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxPoooi2
 
iPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformiPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformChristopher Bartling
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)dwipalp
 
MobApp development 01 application platform.pptx
MobApp development 01 application platform.pptxMobApp development 01 application platform.pptx
MobApp development 01 application platform.pptxsanaiftikhar23
 

Similar to Никита Корчагин - Introduction to Apple iOS Development. (20)

Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS development
 
Apple iOS Technology Market
Apple iOS Technology MarketApple iOS Technology Market
Apple iOS Technology Market
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS Development
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for Android
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps Development
 
Qa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerQa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbruner
 
iOS App Development and Marketing
iOS App Development and MarketingiOS App Development and Marketing
iOS App Development and Marketing
 
Android report.
Android report.Android report.
Android report.
 
Enterprise iPad Development Without Notes
Enterprise iPad Development Without NotesEnterprise iPad Development Without Notes
Enterprise iPad Development Without Notes
 
android
androidandroid
android
 
IT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit VIT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit V
 
Mobile applications development
Mobile applications developmentMobile applications development
Mobile applications development
 
iphone application development
iphone application developmentiphone application development
iphone application development
 
Ios development
Ios developmentIos development
Ios development
 
Android
AndroidAndroid
Android
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptx
 
iPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformiPhone OS: The Next Killer Platform
iPhone OS: The Next Killer Platform
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)
 
MobApp development 01 application platform.pptx
MobApp development 01 application platform.pptxMobApp development 01 application platform.pptx
MobApp development 01 application platform.pptx
 
Android Overview
Android OverviewAndroid Overview
Android Overview
 

More from DataArt

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR PartnersDataArt
 
Event management в IT
Event management в ITEvent management в IT
Event management в ITDataArt
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from insideDataArt
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)DataArt
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDataArt
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtDataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...DataArt
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's lifeDataArt
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиDataArt
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOpsDataArt
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real lifeDataArt
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестированияDataArt
 
Selenoid
SelenoidSelenoid
SelenoidDataArt
 
Selenide
SelenideSelenide
SelenideDataArt
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"DataArt
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...DataArt
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGDataArt
 

More from DataArt (20)

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human Approach
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life Sciences
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital Markets
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR Partners
 
Event management в IT
Event management в ITEvent management в IT
Event management в IT
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проект
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real life
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
 
Selenoid
SelenoidSelenoid
Selenoid
 
Selenide
SelenideSelenide
Selenide
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNG
 

Recently uploaded

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

Никита Корчагин - Introduction to Apple iOS Development.

  • 1. Introduction to Apple  iOS development Nikita Korchagin
  • 2. Introduction to Apple Platforms development Nikita Korchagin Apple platforms engineer
  • 5.
  • 6. Today •Introduction •Brief history of iOS and Apple devices •Starting iOS programming •iOS development •Desktop vs. Mobile: what’s different •Human Interface Guidelines •Further steps: materials to read
  • 7. iOS History: from past to present
  • 8. 2007 - iPhone OS 1 • Based on Darwin’s (XNU) kernel port for ARM • Multitouch screen • Few standard applications • iPhone 1st gen and iPod Touch 1st gen • Web-based applications only • No multitasking • No SDK • Usage of private APIs by third-party developers
  • 9. 2008 - iPhone OS 2 •Paid update (all further major and minor updates are free) •First version of iPhone SDK •Xcode IDE for iOS development •App Store for iPhone and iPod Touch •iPod Touch 2G released
  • 10. 2009 - iPhone OS 3 •Lots of UI & functionality improvements (100+) •Spotlight search •Push notifications •In-app purchase •Core Data •«Find my iPhone» functionality
  • 11. January 2010 - iPhone OS 3.2 •iPad released •iPhone OS SDK provides abilities to create universal applications •iPad applications should support multiple device orientations •iPad-only UI components - Split view controllers, windowed modal controllers, popover controllers •Backward compatibility with iPhone applications
  • 12. June 2010 - WWDC - iOS 4 •iPhone OS became iOS •iPhone 4 with Retina display •Support of restricted multitasking •Background execution of applications •Blocks and Grand Central Dispatch •Local notifications •Game Center and Game Kit
  • 13. June 2011 - WWDC - iOS 5 •Wireless updates & sync •iCloud •Notification center •Siri •Containment API •Automatic Reference Counting (ARC) •Twitter integration out-of-box •Newsstand API •Core Image
  • 14. June 2012 - WWDC - iOS 6 •Apple Maps •Collection views •AutoLayout •Facebook integration •Passbook •New App Store

  • 15. June 2013 - WWDC - iOS 7 •iOS redesigned (flat UI, no skeuomorphism) •iTunes Radio •Multitasking improvements •New application switcher •Filters for camera •Automatic applications’ updates
  • 16. June 2014 - WWDC - iOS8 •No significant design changes •Multiple screen resolutions •HomeKit and HealthKit, Metal •Continuity •Energy consumption by apps •Swift programming language
  • 17. June 2015 - WWDC - iOS9 •Multitasking (Slide Over, Split View, and Picture in Picture.) •Search API •GameplayKit, ReplayKit, Model I/O •App Thinning •Swift 2 •watchOS 2 (app extensions)*
  • 18. June 2016 - WWDC - iOS10 •SiriKit, CallKit, Messages extensions •Proactive Suggestions •Video Subscriber Account (SSO) •Swift 3 •macOS Sierra •watchOS 3 •tvOS (9 september 2015)*, UIKit/TVML
  • 19. How to start to develop for iOS?
  • 20. Jedi way •Intel-based Mac (Mac Mini, MacBook Air/Pro, iMac, Mac Pro) •Installed macOS •Xcode with latest iOS SDK •Apple device (iPhone/iPod Touch/iPad/ watch/ TV)* •Apple Developer program account ($99 per 1 year)* •Good knowledge of design patterns •Objective-C and Swift knowledge OR •Relevant experience in C or any strong-typed object-oriented language like Java/C#/C++
  • 21. Alternative ways •Alternative IDE - AppCode (Mac, still requires Xcode to be installed) •Objective-C++ (kernel - C++, UI - Objective-C) •PhoneGap/Titanium (cross-platform) •Xamarin (.NET/C# - compiles to native code) •C++ Marmalade SDK for Visual Studio •Unity3D/Cocos2D-x for game development •HTML5/CSS3/JavaScript for web applications
  • 23. •Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. •Originally developed in the early 1980s, it was selected as the main language used by NeXT for its NeXTSTEP operating system. •Objective-C is a thin layer on top of C, and moreover is a strict superset of C. Objective-C
  • 24. •All of the syntax for non-object-oriented operations (including primitive variables, pre-processing, expressions, function declarations, and function calls) are identical to that of C. •Syntax for object-oriented features is an implementation of Smalltalk-style messaging. •It is the main programming language used by Apple until 2014. •Still strong and alive… Objective-C
  • 25.
  • 26. Swift
  • 27. •Swift is a multi-paradigm, compiled programming language created by Apple Inc. for iOS and OS X development. •Swift was introduced at Apple's 2014 WWDC and Swift 3 at WWDC 2016. •Initially a proprietary language, Swift 2 became open source supporting iOS, macOS, watchOS, tvOS, Linux, freeBSD, Raspberry Pi, Android and Windows. •Swift supports the core concepts that made Obj-C flexible, notably dynamic dispatch, widespread late binding, extensible programming and similar features. Swift
  • 28. •It uses the Objective-C runtime, allowing C, Objective-C, C++ and Swift code to run within a single program. •Swift has added the concept of protocol extensibility, an extensibility system that can be applied to types, structs and classes, Apple promotes this as a real change in programming paradigms they refer to as protocol-oriented programming. •Going Server-side with Swift Open Source (#1 on GitHub) •Swift@IBM Breaking down barriers between client and server all over the world (Kitura framework, Sandbox, Bluemix) Swift
  • 29.
  • 31. What’s different? •Multitouch display & gestures •Front and rear camera •Speakers and microphone •Location subsystem - GPS/GLONASS •Magnetometer and compass •G-sensor and accelerometer •Bluetooth accessories
  • 32. Network •Variants of connection •GPRS •EDGE •3G/4G •WiFi •All these opportunities (except WiFi) are connection- lost-prone •Cellular network connection is expensive
  • 33. Screens •Fullscreen applications •Bigger UI elements for fingers •Dark colors to reduce energy consumption •Different resolutions (x1, x2 and x3) •Assets for different resolutions •Ergonomics
  • 34. Resources •Every heavy application dramatically drains battery’s life •Geolocation - GPS •Networking •Disk capacity is limited (8/16/32/64/… GB and no SD/ microSD slot) •Restricted multitasking (full introduced in iOS 7) •Only a few types of content are supported •UI is rendered using real-time thread and shouldn’t be blocked ever
  • 35. Security mechanisms •Sandboxing - every application is isolated and runs under restricted user’s account («jailed») •IPC is limited to URL schemas and extensions •Personal data and passwords should be encrypted (Keychain) or not stored on the device at all •HTTPS connections are preferred*; certificate validation is needed •Data on disk can be encrypted and protected by iOS •Group policies can be established for iOS devices using configuration profiles
  • 36. Creating and submitting the app •Application should be tested thoroughly; crashes are forbidden •Application should follow Apple’s Human Interface Guidelines •Private API usage is forbidden •Application can be deployed only to the device which is in the provisioning list •Application’s binary is signed using developer’s private key •Application is thoroughly tested during review process
  • 38. HIG
  • 39. HIG
  • 40. HIG
  • 41. HIG
  • 50. flat UI vs. skeuomorphism
  • 52. Q&A
  • 53. Thanks for your attention!