Date post: | 28-Nov-2014 |
Category: |
Technology |
Upload: | pavel-tsukanov |
View: | 1,550 times |
Download: | 4 times |
Основы "мобильной" разработки на платформе iOs
(iPhone)
Киреев АртемРазработчик
Codemasters [email protected]
om
Apple
1976 1984
Apple
iPad iPod(touch)
iPhone
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
Приложения iOs. AppStore
600 тысяч приложений iPhone
200 тысяч приложений iPad
25 миллиардов скачиваний
200 миллионов пользователей
Средняя цена $0.99 до $9.99
Самое дорогое приложение $999.99,купило 8 человек
Все приложения здесь
AppStore
Специфика мобильной платформы
Как начать разрабатывать?
Настройка окружения
1 2XCode
Архитектура iOS
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
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
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
iOS – Core OS Layer
Accelerate Framework
Core Bluetooth
Generic Security Services Framework
Security Framework
System
External Accessory Framework
Изучаем Objective-C
Создан в начале 1980x Бредом Коксом
Компилируемый, объектно-ориентированный язык с строгой типизациейОсновной язык программирования компании Apple
СSmalltalk
Objective-C
Message-oriented
Основы Objective-C
Посылка сообщений / Вызов методов
Создание объектов
С#
С#
Все классы наследуются от NSObject
id – ссылка на любой объект
С#
С#
С#
С#
Основные типы в Objective-C
Коллекции
Основные типы
Классы в Objective-C
Хочу такой класс:INTERVAL
startIndex
0
length 6
endIndex
6
INTERVAL
startIndex
4
length 6
endIndex
10INTERVAL
startIndex
4
length 1
endIndex
5
Классы в Objective-CИмплементация класса
Протоколы в Objective-C
Протоколы
Что еще про Objective-C?
Особенности и ФичиЛюбой код на C компилируется
ARC (Automatic Reference Counting)
Механизм подсчета ссылок
Метапрограммирование (Key-Value Coding)
Autorelease Pool
Grand Central Dispatch (iOS feature)
Метапрограммирование в Objective-C
KVC – key/value coding
Метапрограммирование в Objective-C
KVC – key/value coding
Grand Central Dispatch
Уходим от Thread
Исполняем блоки (код) в очередях:
Очередь
ОсновнаяПараллельнаяПоследовательная
Grand Central Dispatch
Основная очередь:
Параллельные очереди (4 системных):
Последовательные очереди:
Grand Central Dispatch
Пример из жизни
2 Основных паттерна в iOs
MVC
Delegation
(Model-View-Controller)
Паттерн MVC
Модель:БД, файлы, веб-сервисы,бизнес логика
Вид:Элементы управления:кнопки, окна, картинки
Контроллер:Обеспечивает взаимодействие междупользователем, видом и моделью
Паттерн MVC в iOS
MVC MVC
Экран 1 Экран 2
Паттерн Delegation в iOS
Экран 1 Экран 2
UIImagePickerController
(фотография)(стартовый)MyViewController
Фотография получена
<UIImagePickerControllerDelegate> delegate = MyViewController
imagePickerController:didFinishPickingMediaWithInfo:
MyViewController.h
MyViewController.m
MyViewController.m - код
Код для кнопки :
MyViewController.m - код
Код для кнопки :
Тестируем
iPhone developer programs
$99
$299
$0
Разработка для AppStore
Корпоративные приложения
Лицензий для студентов
Альтернативные способы разработки
Альтернативное IDE
HTML5 + JS
HTML5 + JS
HTML, JavaScript,ActionScript®, Flex,
C#, Silverlight
Источники информации
http://developer.apple.com
http://wikipedia.org
http://habrahabr.ru
http://stackoverflow.com
http://apple.com/itunes