akireev@codemastersintl.com
1976   1984
iPad     iPod    iPhone
       (touch)
iOS – мобильная операционная система
iOS 5.1
          iPhone 4S, iPhone 4
          iPhone 3GS, iPad 1,2,3




          iPhone 3G, iPad 1,2


iOS 3.1

           iPhone, iPad            14 апреля 2012
Все приложения здесь

600 тысяч приложений iPhone
200 тысяч приложений iPad
25 миллиардов скачиваний            AppStore
200 миллионов пользователей
Средняя цена $0.99 до $9.99
Самое дорогое приложение $999.99,
купило 8 человек
1   2
    XCode
UIKit Framework
Game Kit Framework
Event Kit UI Framework
iAd Framework
Address Book UI Framework
Message UI Framework
Map Kit Framework
Twitter Framework
Assets Library Framework

AV Foundation Framework

Core Audio
                           Core MIDI Framework
Core Graphics Framework    GLKit Framework

Core Text Framework        OpenAL Framework

Core Image Framework       Image I/O Framework

                           Quartz Core Framework
Core Video Framework
Accounts Framework

Address Book Framework

Core Location Framework

CFNetwork Framework

Core Telephony Framework

Core Data Framework

Store Kit Framework

Foundation Framework

System Configuration Framework
Accelerate Framework

Core Bluetooth

External Accessory Framework

Security Framework

Generic Security Services Framework

System
С                  Objective-C
Smalltalk
Создан в начале 1980x
Бредом Коксом

Компилируемый, объектно-ориентированный
язык с строгой типизацией

Основной язык программирования
компании Apple

Message-oriented
Все классы наследуются от NSObject
Создание объектов
              С#

              С#
id – ссылка на любой объект
              С#

Посылка сообщений / Вызов методов
              С#

              С#


              С#
Основные типы




Коллекции
INTERVAL
Хочу такой класс:   startIndex   0
                    length       6
                    endIndex     6

                      INTERVAL
                    startIndex   4
                    length       6
                    endIndex     10

                      INTERVAL
                    startIndex   4
                    length       1
                    endIndex     5
Имплементация класса
Протоколы
Особенности и Фичи
Любой код на C компилируется
Механизм подсчета ссылок
ARC (Automatic Reference Counting)
Autorelease Pool
Метапрограммирование (Key-Value Coding)
Grand Central Dispatch (iOS feature)
KVC – key/value coding
KVC – key/value coding
Уходим от Thread
              Основная
Очередь       Параллельная
              Последовательная

Исполняем блоки (код) в очередях:
Основная очередь:


Параллельные очереди (4 системных):



Последовательные очереди:
Пример из жизни
MVC
(Model-View-Controller)




 Delegation
Модель:
БД, файлы, веб-сервисы,
бизнес логика

Вид:
Элементы управления:
кнопки, окна, картинки

 Контроллер:
Обеспечивает взаимодействие между
пользователем, видом и моделью
Экран 1   Экран 2




  MVC       MVC
Экран 1                                   Экран 2
             (стартовый)                               (фотография)
              MyViewController                     UIImagePickerController
      <UIImagePickerControllerDelegate>            delegate = MyViewController




                                                        Фотография получена


imagePickerController:didFinishPickingMediaWithInfo:
Код для кнопки   :
Код для кнопки   :
$99    Разработка для AppStore



$299   Корпоративные приложения



$0     Лицензий для студентов
Альтернативное IDE

HTML5 + JS

HTML5 + JS

C#, Silverlight

HTML, JavaScript,
ActionScript®, Flex,
http://developer.apple.com

http://wikipedia.org

http://habrahabr.ru

http://stackoverflow.com

http://apple.com/itunes
akireev@codemastersintl.com

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

Editor's Notes

  • #39 Доклад легкий. Совсем немного программирования