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

Весна 2019

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

Описание
В рамках курса студенты создают собственное приложение для платформы iOS.
Подробнее
Чему научитесь
1. Эффективно использовать среду разработки Xcode для создания пользовательского интерфейса, написания и отладки кода, профилирования приложений, поиска и решения проблем в коде.
2. Программировать на языках Swift и Objective-C.
3. Знать возможности, которые предоставляются стандартной библиотекой iOS, и уметь их эффективно использовать.
4. Проектировать код, обладающий качествами модульности, расширяемости, простоты поддержки.
5. Использовать средства автоматизированного тестирования.
Подробнее

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

Геннадий Евстратов Геннадий Евстратов

руководитель команды iOS-разработки проекта “Юла”.

Дмитрий Тараев Дмитрий Тараев

мобильный разработчик Mail.Ru Group.

Программа

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

Лекция №1: Вводное занятие  

- GitHub, pull request, merge
- Xcode
- Bundler, generamba, Pods
4 часа

Лекция №2: Введение в Swift  

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

Лекция №3: Работа с Xcode  

Interface builder
Git client
Демо:
- Autolayout
- Size class
- Адаптивная вёрстка
- Переходы между экранами
4 часа

Лекция №4: Архитектуры приложений  

- MVC
- VIPER
4 часа

Лекция №5: Коллекции  

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

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

В рамках курса требуется написать своё простое приложение.
На РК1 нужно расписать, какое именно
4 часа

Лекция №6: Многопоточность и работа с сетью  

GCD
- Очереди
- Группы
- Синхронизация
- NSOperationQueue/NSOperation
Сеть
- WebView
- NSURLSession
- Kingfisher/SDWebImage
4 часа

Лекция №7: БД  

- CoreData
- Realm
4 часа

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

Демонстрация кода
4 часа

Лекция №8: Custom views  

- Coregraphics
- Core animation
- UIDynamics
- UIAppearance
4 часа

Рубежный контроль №3: Рубежный контроль 3 (Предзащита)  

Предзащита
  • Юзабилити
  • Дизайн
  • Скорость
  • Стабильность
4 часа

Лекция №9: Углубленные темы  

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

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

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

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

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

РАСПИСАНИЕ

Полное расписание