Основы "мобильной" разработки на примере...

Preview:

DESCRIPTION

Легкая обзорная лекция по платформе iOS. Рассмотрим специфику разработки под мобильные платформы, средства разработки, язык Objective-C, концепции применяемые при разработке под iOS. Расскажу шаги которые нужно сделать для создания вашего первого мобильного приложения.

Citation preview

Основы "мобильной" разработки на платформе iOs

(iPhone)

Киреев АртемРазработчик

Codemasters Intl.akireev@codemastersintl.c

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

Автор

Вопросы?

Киреев АртемРазработчик

Codemasters Intl.akireev@codemastersintl.c

om

Recommended