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

Осень 2019

Цель курса — Освоить средства разработки мобильных приложений для платформы Apple iOS, получить теоретические знания и практические навыки, которые позволят в рамках курса создать собственное приложение с нуля, опубликовать его в App Store, поддерживать и расширять его функциональность.

Вы научитесь:
- программировать на языках Swift/Obj-C
- самостоятельно создавать iOS-приложения
- познакомитесь с полным циклом разработки iOS приложения - от идеи до выкладки в AppStore
- приобретете навыки владения всеми инструментами, необходимыми для успешной разработки под iOS/MacOS - XCode, Interface Builder, Profilers, LLDB console
делать качественные приложения при помощи Unit/UI тестов
 

Подробнее

В рамках курса студенты создают собственное приложение для платформы iOS.

На протяжении всего семестра за определенные виды работ, выполняемые студентами, выставляются баллы. Итоговый рейтинг по дисциплине представляет собой сумму баллов, полученных студентом за прохождение контрольных точек – рубежных контролей, домашних заданий, защиты итогового проекта. Важное условие — своевременное выполнение работ.

Для успешной аттестации по данному курсу студентам необходимо набрать пороговый рейтинг — 55 баллов.

При пересчете баллов студенты могут получить итоговую оценку: 0–54 неудовлетворительно, 55-60 удовлетворительно, 61–89 хорошо, 90–100 отлично.

Подробнее

Преподаватели

Андрей Решетников Андрей Решетников

Программист группы iOS разработки Почта Mail.Ru

Александр Каримов Александр Каримов

Руководитель группы iOS-разработки проекта Почта в Mail.ru Group

Артур Сардарян Артур Сардарян

Выпускник МГТУ им. Н.Э. Баумана (БМТ1)
Старший iOS-разработчик в Mail.Ru (проект Юла)

Программа

занятие Часы в ауд. + сам. работа

Смешанное занятие №1: Вводное занятие  

 Блок истории
  • что есть, что было
  • чем будем пользоваться environment (github, xcode)
  • какие есть ресурсы (книги, мануалы)
4 часа

Смешанное занятие №2: Введение в Swift  

  • Модель памяти
  • Классы vs. структуры
  • Блоки
  • Протоколы
  • Расширения
  • Потоковая обработка коллекций

 
4 часа

Смешанное занятие №3: Работа с Xcode , swift vs objc   + ДЗ №1

  • Interface builder
  • Git client
Демо:
  • Autolayout
  • Size class
  • Адаптивная вёрстка
  • Переходы между экранами
  •  Swift vs objc
Домашнее задание №1: Проект
  • Придумать проект  в группах 2-3 человека, залить на GitHub подробное описание экранов и идеи. 
  • Подготовиться к тесту

 
4 часа

Смешанное занятие №4: Архитектуры приложений  

  • MVC
  •  VIPER
4 часа

Рубежный контроль №1: Рубежный контроль 1  

  • Сдача проекта
4 часа

Смешанное занятие №5: Коллекции  

- TableView
- CollectionView
- Prefetching
- Поиск
- MVP
4 часа

Смешанное занятие №6: Layout  

  • Подробно рассмотрим базовые элементы UIKit
  • Изучим разные подходы создания интерфейса
  • Научимся делать универсальный layout для всех устройств
  • Рассмотрим решения, применяющиеся в промышленной разработке
4 часа

Рубежный контроль №2: Рубежный контроль 2  

  • проверка проекта
4 часа

Смешанное занятие №7: Networking  

  • Networking
4 часа

Смешанное занятие №8: Parallel  

  • Parallel
4 часа

Смешанное занятие №9: Storage  

  • Storage
4 часа

Смешанное занятие №10: Custom layout  

  • Custom layout
4 часа

Смешанное занятие №11: Frameworks  

 Frameworks
4 часа

Смешанное занятие №12: Углубленные темы  

  • Карты
  • Звук
  • Пуши
  • Custom transitions
  • Шаринг
  • Расширения
4 часа

Экзамен №1: Защита проекта  

Защита семестрового проекта

Оцениваться будет:
  • общая завершенность  
  • чистота кода  
  • использование всех пройденных тем


​​​
4 часа

Пересдача №1: Пересдача для студентов АПО  

Возможность получить дополнительные баллы для студентов основной программы
4 часа