Основы "мобильной" разработки на примере платформы iOs...
-
Upload
pavel-tsukanov -
Category
Technology
-
view
1.559 -
download
4
description
Transcript of Основы "мобильной" разработки на примере платформы iOs...
![Page 1: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/1.jpg)
Основы "мобильной" разработки на платформе iOs
(iPhone)
Киреев АртемРазработчик
Codemasters [email protected]
om
![Page 2: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/2.jpg)
Apple
1976 1984
![Page 3: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/3.jpg)
Apple
iPad iPod(touch)
iPhone
![Page 4: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/4.jpg)
iOS
iPhone 4S, iPhone 4iPhone 3GS, iPad 1,2,3
iOS – мобильная операционная система
iPhone 3G, iPad 1,2
iOS 5.1
iOS 3.1
iPhone, iPad 14 апреля 2012
![Page 5: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/5.jpg)
Приложения iOs. AppStore
600 тысяч приложений iPhone
200 тысяч приложений iPad
25 миллиардов скачиваний
200 миллионов пользователей
Средняя цена $0.99 до $9.99
Самое дорогое приложение $999.99,купило 8 человек
Все приложения здесь
AppStore
![Page 6: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/6.jpg)
Специфика мобильной платформы
![Page 7: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/7.jpg)
Как начать разрабатывать?
![Page 8: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/8.jpg)
Настройка окружения
1 2XCode
![Page 9: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/9.jpg)
Архитектура iOS
![Page 10: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/10.jpg)
iOS – Cocoa Touch layer
Address Book UI Framework
Event Kit UI Framework
Game Kit Framework
iAd Framework
Map Kit Framework
Message UI Framework
Twitter Framework
UIKit Framework
![Page 11: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/11.jpg)
iOS – Media layer
Assets Library Framework
AV Foundation Framework
Core Audio
Core Graphics Framework
Core Image Framework
Core MIDI Framework
Core Text Framework
Image I/O Framework
Core Video Framework
GLKit Framework
OpenAL Framework
Quartz Core Framework
![Page 12: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/12.jpg)
iOS – Core Services layer
Accounts Framework
Address Book Framework
CFNetwork Framework
Core Data Framework
Core Location Framework
Core Telephony Framework
Foundation Framework
Store Kit Framework
System Configuration Framework
![Page 13: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/13.jpg)
iOS – Core OS Layer
Accelerate Framework
Core Bluetooth
Generic Security Services Framework
Security Framework
System
External Accessory Framework
![Page 14: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/14.jpg)
Изучаем Objective-C
Создан в начале 1980x Бредом Коксом
Компилируемый, объектно-ориентированный язык с строгой типизациейОсновной язык программирования компании Apple
СSmalltalk
Objective-C
Message-oriented
![Page 15: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/15.jpg)
Основы Objective-C
Посылка сообщений / Вызов методов
Создание объектов
С#
С#
Все классы наследуются от NSObject
id – ссылка на любой объект
С#
С#
С#
С#
![Page 16: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/16.jpg)
Основные типы в Objective-C
Коллекции
Основные типы
![Page 17: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/17.jpg)
Классы в Objective-C
Хочу такой класс:INTERVAL
startIndex
0
length 6
endIndex
6
INTERVAL
startIndex
4
length 6
endIndex
10INTERVAL
startIndex
4
length 1
endIndex
5
![Page 18: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/18.jpg)
Классы в Objective-CИмплементация класса
![Page 19: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/19.jpg)
Протоколы в Objective-C
Протоколы
![Page 20: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/20.jpg)
Что еще про Objective-C?
Особенности и ФичиЛюбой код на C компилируется
ARC (Automatic Reference Counting)
Механизм подсчета ссылок
Метапрограммирование (Key-Value Coding)
Autorelease Pool
Grand Central Dispatch (iOS feature)
![Page 21: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/21.jpg)
Метапрограммирование в Objective-C
KVC – key/value coding
![Page 22: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/22.jpg)
Метапрограммирование в Objective-C
KVC – key/value coding
![Page 23: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/23.jpg)
Grand Central Dispatch
Уходим от Thread
Исполняем блоки (код) в очередях:
Очередь
ОсновнаяПараллельнаяПоследовательная
![Page 24: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/24.jpg)
Grand Central Dispatch
Основная очередь:
Параллельные очереди (4 системных):
Последовательные очереди:
![Page 25: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/25.jpg)
Grand Central Dispatch
Пример из жизни
![Page 26: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/26.jpg)
2 Основных паттерна в iOs
MVC
Delegation
(Model-View-Controller)
![Page 27: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/27.jpg)
Паттерн MVC
Модель:БД, файлы, веб-сервисы,бизнес логика
Вид:Элементы управления:кнопки, окна, картинки
Контроллер:Обеспечивает взаимодействие междупользователем, видом и моделью
![Page 28: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/28.jpg)
Паттерн MVC в iOS
MVC MVC
Экран 1 Экран 2
![Page 29: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/29.jpg)
Паттерн Delegation в iOS
Экран 1 Экран 2
UIImagePickerController
(фотография)(стартовый)MyViewController
Фотография получена
<UIImagePickerControllerDelegate> delegate = MyViewController
imagePickerController:didFinishPickingMediaWithInfo:
![Page 30: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/30.jpg)
MyViewController.h
![Page 31: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/31.jpg)
MyViewController.m
![Page 32: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/32.jpg)
MyViewController.m - код
Код для кнопки :
![Page 33: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/33.jpg)
MyViewController.m - код
Код для кнопки :
![Page 34: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/34.jpg)
Тестируем
![Page 35: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/35.jpg)
iPhone developer programs
$99
$299
$0
Разработка для AppStore
Корпоративные приложения
Лицензий для студентов
![Page 36: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/36.jpg)
Альтернативные способы разработки
Альтернативное IDE
HTML5 + JS
HTML5 + JS
HTML, JavaScript,ActionScript®, Flex,
C#, Silverlight
![Page 37: Основы "мобильной" разработки на примере платформы iOs (iPhone)](https://reader033.fdocuments.in/reader033/viewer/2022061205/548051a9b4af9fea158b5bf8/html5/thumbnails/37.jpg)
Источники информации
http://developer.apple.com
http://wikipedia.org
http://habrahabr.ru
http://stackoverflow.com
http://apple.com/itunes