Бакалавриат
2024/2025




Научно-исследовательский семинар "Основы iOS-разработки на UIKit"
Статус:
Курс по выбору (Программная инженерия)
Кто читает:
Департамент программной инженерии
Когда читается:
2-й курс, 1-3 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Программа дисциплины
Аннотация
Курс направлен на углубленное изучение разработки приложений для платформы iOS с использованием классического нативного императивного фреймворка UIKit, включая верстку пользовательских интерфейсов кодом, работу с базами данных и сетевым слоем.
Цель освоения дисциплины
- Ознакомиться с технологиями разработки iOS-приложений и приобрести достаточный набор знаний и навыков для их успешного создания и дальнейшего профессионального развития в этой области.
Планируемые результаты обучения
- Знакомство с синтаксисом языка Swift Знание основных типов данных и принципов хранения данных в памяти Опыт работы с элементами интерфейса из стандартной библиотеки Опыт создания новых элементов пользовательского интерфейса Знание основ создания экранов мобильного приложения по макетам Умение создавать интерфейс мобильного приложения программным путём Знакомство с популярными мобильными архитектурами Понимание принципов создания iOS-приложений
- Знакомство с хранением данных с помощью User Defaults, Core Data, понимание персистентного слоя Опыт взаимодействия с сетью интернет и сторонними API через URLSession Умение создавать модели для локального хранения и передачи информации
Содержание учебной дисциплины
- Введение. IDE Xcode и структура проекта. Погружение в язык программирования Swift
- Создание UI-интерфейсов с использованием UIKit в Interface Builder.
- Проектирование многооконных пользовательских интерфейсов, работа с различными интерфейсными элементами. Работа с Autolayout. Навигация по экранам
- Работа с UIKit без использования Interface Builder. Работа с интерфейсными элементами и констрейнтами в коде. Создание новых UI-компонентов
- Погружение в SwiftUI: концепция и особенности проектирования пользовательских интерфейсов на примерах
- Локальное хранение данных на устройстве: UserDefaults, CoreData. CRUD-примеры. Реализации нотификаций
- Определение геолокации пользователя и работа с картами Apple и Yandex на примерах
- Создание виджетов iOS-приложения
- Работа с многопоточностью. ARC, MRC, Memory leaks
- URLSession и Codable. Работа с сетью. Сокеты: концепция, создание iOS-клиентов для взаимодействия с сервером через сокеты
- Клиент-серверное взаимодействие: архитектурный стиль REST API, создание iOS-клиентов для взаимодействия с сервером
Промежуточная аттестация
- 2024/2025 3rd module0.1 * АКТИВНОСТЬ + 0.45 * ДЗ + 0.1 * МАКЕТ + 0.15 * ПРОЕКТ + 0.05 * ТЕСТ + 0.15 * ЭКЗ
Список литературы
Рекомендуемая основная литература
- Swift. Основы разработки приложений под iOS, iPadOS и macOS. 5-е изд., дополненное и переработанное - 978-5-4461-1402-3 - Усов Василий - 2020 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/365301 - 365301 - iBOOKS
- Swift. Основы разработки приложений под iOS, iPadOS и macOS. 6-е изд. дополненное и переработанное - 978-5-4461-1796-3 - Василий Усов - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/374467 - 374467 - iBOOKS
Рекомендуемая дополнительная литература
- Swift. Основы разработки приложений под iOS и macOS. 3-е изд., доп. и перераб. - 978-5-496-03036-6 - Усов В. - 2017 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/354404 - 354404 - iBOOKS