Разработка приложений для iOS

Лекция 1

Знакомство

Глеб Тарасов
gleb34@gmail.com
Презентации на
slideshare
http://www.slideshare.net/gtarasov

Примеры кода по почте
gleb34@gmail.com
http://www.slideshare.net/gtarasov/ss-12299478
Чему будем учиться?
Интерфейс
Функционал:
• Загрузка данных из интернета, 	

• Работа с серверами	

• Работа с файлами	

• Внутренняя база данных	

• Во...
Как будут проходить
занятия?
• 12 лекций	

• 12 домашних заданий	

• у каждого свой проект
Первое задание

• установить до...
Мобильная разработка, что
изменилось?
Особенности
• Высокие ожидания пользователей	

• Другие паттерны использования	

• Маленький экран	

• Слабый процессор, м...
Почему iOS?
Разработка под iOS
XCode
Mac OS 10.9 Mavericks
Как запустить Mac OS?
Компьютер Mac
Hackintosh

• http://hackintosh.ru	

• http://applelife.ru	

• http://vk.com/osx86pc	

• http://rutracker.org/forum/viewfo...
Виртуалки

• VMWare	

• VirtualBox
http://rutracker.org/forum/viewforum.php?f=1383
Как поставить Xcode?
• Если Mac OS Mavericks : через AppStore	

• Если более старая: 	

https://developer.apple.com/downlo...
Objective-C
История
1981 — Object-Oriented Pre-Compiler (OOPC).
Компания StepStone. Tom Love & Brad Cox
	


1986 — Objective-C. «Objec...
Основные особенности
• объектно-ориентированный	

• компилируется в машинный код	

• полностью совместим с Си	

• слабо-ти...
Запуск «Hello, World»
Теперь немного ООП

http://ru.wikipedia.org/wiki/Объектно-ориентированное_программирование
Класс - описание внутреннего состояния + методов
изменения этого состояния
Объект - экземпляр класса
Поля - состояние объе...
Класс «Работник»
Поля:

- имя – строка	

- возраст – целое	

- пол – м/ж	

- время_поступления_на_работу – дата	

- время_...
Наследование
Описание новых классов на основе существующих базовых классов

Инкапсуляция
Ограничение доступа к составляющи...
Наследование
Класс «Руководитель» (наследуется от
«Работник»)
Поля:
- подчиненные (массив работников)
Методы:
- добавить п...
Класс «Работник»
Поля:

- имя – строка	

- возраст – целое	

- пол – м/ж	

- время_поступления_на_работу – дата	

- время_...
Класс «Руководитель»
Поля:

- имя
- возраст
- пол
- время_поступления_на_работу
- время_увольнения
- подчиненные – массив ...
Инкапсуляция
Поля:
- время_поступления_на_работу – дата	

- время_увольнения – дата

Методы:
- устроился_на_работу_сегодня...
Полиморфизм
Класс «Фигура»:
- стороны – массив объектов Сторона

Класс «Сторона»:

- длина – число

Класс «Вычислитель_пер...
MVC
Controller

View

Model
Модель
Модель предоставляет знания: данные
и методы работы с этими данными,
реагирует на запросы, изменяя своё
состояние. ...
Представление
Отвечает за отображение информации
(визуализацию). Часто в качестве
представления выступает форма (окно)
с г...
Контроллер
Обеспечивает связь между
пользователем и системой:
контролирует ввод данных
пользователем и использует модель и...
Космические бои
• космические корабли	

• умеют стрелять разным оружием	

• у них есть броня	

• разные уровни	

•…
Про выбор проекта
• аудиокнига	

• викторина	

• справочник	

• новостное приложение	

• карточная или логическая игра	

•...
Домашнее задание
• выбрать проект	

• установить дома Mac OS	

• установить Xcode	

• создать и запустить проект Single Vi...
Всё!
Глеб Тарасов	

gleb34@gmail.com	

twitter.com/pilot34
Интуит. Разработка приложений для iOS. Лекция 1. Знакомство.
Интуит. Разработка приложений для iOS. Лекция 1. Знакомство.
Интуит. Разработка приложений для iOS. Лекция 1. Знакомство.
Интуит. Разработка приложений для iOS. Лекция 1. Знакомство.
Интуит. Разработка приложений для iOS. Лекция 1. Знакомство.
Интуит. Разработка приложений для iOS. Лекция 1. Знакомство.
Интуит. Разработка приложений для iOS. Лекция 1. Знакомство.
Upcoming SlideShare
Loading in...5
×

Интуит. Разработка приложений для iOS. Лекция 1. Знакомство.

752

Published on

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
752
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Интуит. Разработка приложений для iOS. Лекция 1. Знакомство.

  1. 1. Разработка приложений для iOS Лекция 1 Знакомство Глеб Тарасов gleb34@gmail.com
  2. 2. Презентации на slideshare http://www.slideshare.net/gtarasov Примеры кода по почте gleb34@gmail.com
  3. 3. http://www.slideshare.net/gtarasov/ss-12299478
  4. 4. Чему будем учиться?
  5. 5. Интерфейс
  6. 6. Функционал: • Загрузка данных из интернета, • Работа с серверами • Работа с файлами • Внутренняя база данных • Воспроизведение аудио, видео • Отображение фото • Редактирование фото • Работа с геолокацией, компасом • Работа с акселерометром
  7. 7. Как будут проходить занятия? • 12 лекций • 12 домашних заданий • у каждого свой проект Первое задание • установить дома Mac OS и Xсode • запустить «Hello world» в iPhone-симуляторе • выбрать себе проект
  8. 8. Мобильная разработка, что изменилось?
  9. 9. Особенности • Высокие ожидания пользователей • Другие паттерны использования • Маленький экран • Слабый процессор, мало памяти • Медленный интернет • Управление жестами
  10. 10. Почему iOS?
  11. 11. Разработка под iOS
  12. 12. XCode
  13. 13. Mac OS 10.9 Mavericks
  14. 14. Как запустить Mac OS?
  15. 15. Компьютер Mac
  16. 16. Hackintosh • http://hackintosh.ru • http://applelife.ru • http://vk.com/osx86pc • http://rutracker.org/forum/viewforum.php?f=1383
  17. 17. Виртуалки • VMWare • VirtualBox http://rutracker.org/forum/viewforum.php?f=1383
  18. 18. Как поставить Xcode? • Если Mac OS Mavericks : через AppStore • Если более старая: https://developer.apple.com/downloads
  19. 19. Objective-C
  20. 20. История 1981 — Object-Oriented Pre-Compiler (OOPC). Компания StepStone. Tom Love & Brad Cox 1986 — Objective-C. «Object-Oriented Programming, An Evolutionary Approach» (Brad Cox). 1988 — NeXT лицензирует Objective-C 1996 — Apple покупает NeXT. Objective-C — основной язык для Mac OS. + 2007 — Objective-C — основной язык для iPhone OS
  21. 21. Основные особенности • объектно-ориентированный • компилируется в машинный код • полностью совместим с Си • слабо-типизированный • управление памятью основано на счетчике ссылок
  22. 22. Запуск «Hello, World»
  23. 23. Теперь немного ООП http://ru.wikipedia.org/wiki/Объектно-ориентированное_программирование
  24. 24. Класс - описание внутреннего состояния + методов изменения этого состояния Объект - экземпляр класса Поля - состояние объекта Методы - изменение состояния объекта
  25. 25. Класс «Работник» Поля: - имя – строка - возраст – целое - пол – м/ж - время_поступления_на_работу – дата - время_увольнения – дата - подчиненные – массив работников - руководитель – работник Методы: - уволить() - добавить подчиненного(работник)
  26. 26. Наследование Описание новых классов на основе существующих базовых классов Инкапсуляция Ограничение доступа к составляющим объект компонентам Полиморфизм Единообразная обработка разнотипных данных
  27. 27. Наследование Класс «Руководитель» (наследуется от «Работник») Поля: - подчиненные (массив работников) Методы: - добавить подчиненного(работник)
  28. 28. Класс «Работник» Поля: - имя – строка - возраст – целое - пол – м/ж - время_поступления_на_работу – дата - время_увольнения – дата - руководитель – руководитель Методы: - уволить()
  29. 29. Класс «Руководитель» Поля: - имя - возраст - пол - время_поступления_на_работу - время_увольнения - подчиненные – массив работников - руководитель – руководитель Методы: - уволить() - добавить подчиненного(работник)
  30. 30. Инкапсуляция Поля: - время_поступления_на_работу – дата - время_увольнения – дата Методы: - устроился_на_работу_сегодня() - уволить() - работает_ли_сейчас()
  31. 31. Полиморфизм Класс «Фигура»: - стороны – массив объектов Сторона Класс «Сторона»: - длина – число Класс «Вычислитель_периметра»: - вычислить_периметр(фигура)
  32. 32. MVC Controller View Model
  33. 33. Модель Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать.
  34. 34. Представление Отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами.
  35. 35. Контроллер Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.
  36. 36. Космические бои • космические корабли • умеют стрелять разным оружием • у них есть броня • разные уровни •…
  37. 37. Про выбор проекта • аудиокнига • викторина • справочник • новостное приложение • карточная или логическая игра • мобильная версия какого-то сайта •…
  38. 38. Домашнее задание • выбрать проект • установить дома Mac OS • установить Xcode • создать и запустить проект Single View Application
  39. 39. Всё! Глеб Тарасов gleb34@gmail.com twitter.com/pilot34
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×