Бакалавриат
2022/2023
Основы iOS разработки
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
5
Контактные часы:
60
Программа дисциплины
Аннотация
В рамках курса студентам предстоит освоить язык программирования Swift, изучить стандартные компоненты интерфейса и популярные нативные фреймворки, а также применить ряд мобильных архитектур в рамках выполнения практических работ по созданию iOS-приложений.
Цель освоения дисциплины
- Ознакомление слушателей с разработкой iOS-приложений и предоставление достаточного набора знаний для дальнейшего профессионального развития в этой области.
Планируемые результаты обучения
- Знакомство с синтаксисом языка Swift
- Знание основных типов данных и принципов хранения данных в памяти
- Опыт работы с элементами интерфейса из стандартной библиотеки
- Опыт создания новых элементов пользовательского интерфейса
- Знание основ создания экранов мобильного приложения по макетам
- Умение создавать интерфейс мобильного приложения программным путём
- Знакомство с популярными мобильными архитектурами
- Понимание принципов создания iOS-приложений
- Знакомство с хранением данных с помощью User Defaults, Core Data, понимание персистентного слоя
- Опыт взаимодействия с сетью интернет и сторонними API через URLSession
- Умение создавать модели для локального хранения и передачи информации
Содержание учебной дисциплины
- Создание UI-интерфейсов с использованием UIKit в Interface Builder.
- Проектирование многооконных пользовательских интерфейсов, работа с различными интерфейсными элементами.
- Локальное хранение данных на устройстве: UserDefaults, CoreData. CRUD-примеры. Реализации нотификаций
- Определение геолокации пользователя и работа с картами Apple и Yandex на примерах
- Создание виджетов iOS-приложения
- Клиент-серверное взаимодействие: архитектурный стиль REST API, создание iOS-клиентов для взаимодействия с сервером
- Работа с UIKit без использования Interface Builder. Работа с интерфейсными элементами и констрейнтами в коде. Создание новых UI-компонентов
- Введение. Среда разработки приложений Apple Xcode и структура проекта. Погружение в язык программирования Swift
- SwiftUI: концепция и особенности проектирования пользовательских интерфейсов на примерах
- Создания iOS-приложений с многопоточностью
- Сокеты: концепция, создание iOS-клиентов для взаимодействия с сервером через сокеты
- Тестирование, отладка и оптимизация iOS-приложений
- Особенности публикации iOS-приложений в App Store
- Карьерные возможности и пути развития в iOS-разработке
Элементы контроля
- Тест
- Экзамен (задача)
- Макет мобильного приложения
- Проект
- Домашние задания
- Доклад 1
- Доклад 2
Промежуточная аттестация
- 2022/2023 учебный год 2 модуль0.1 * Макет мобильного приложения + 0.45 * Домашние задания + 0.05 * Тест + 0.05 * Доклад 1 + 0.05 * Доклад 2 + 0.15 * Проект + 0.15 * Экзамен (задача)
Список литературы
Рекомендуемая основная литература
- Dippery, Michael Professional Swift. – John Wiley & Sons, Incorporated, 2015. – Режим доступа: https://ebookcentral.proquest.com/lib/hselibrary-ebooks/reader.action?docID=4043081
- Нахавандипур Вандад - iOS. Приемы программирования - 978-5-496-01016-0 - Санкт-Петербург: Питер - 2014 - 341185 - https://ibooks.ru/bookshelf/341185/reading - iBOOKS
Рекомендуемая дополнительная литература
- Гэлловей М. - Сила Objective-C 2.0. Эффективное программирование для iOS и OS X - 978-5-496-00963-8 - Санкт-Петербург: Питер - 2014 - 338616 - https://ibooks.ru/bookshelf/338616/reading - iBOOKS
- Программирование для iOS 7 : основы Objective-C, Xcode и Cocoa, Нойбург, М., 2014