На этом курсе начинают с основ. Сначала рассматривают рекомендации по изучению iOS разработки и обсуждают процесс создания приложений. Знакомятся с языком Swift, устанавливают и настраивают Xcode. Изучают полезные комбинации клавиш для эффективной работы. Работают в Playgrounds - среде для решения задач в течение первых двух недель. Разбирают базовые понятия: переменные, функции, типы Bool, String, Int, Array, Dictionary. Ознакомливаются с Github для контроля версий.
Далее продолжают изучать язык Swift. Разбирают функции с модификаторами и параметрами, условные операторы, логические операторы и циклы. Практикуются в решении задач в Playgrounds. Затем переходят к объектно-ориентированному программированию. Выясняют различия между value type и reference type. Изучают классы и структуры. Рассматривают жизненный цикл UIViewController.
На этом этапе изучают протоколы и расширения. Выясняют, как их использовать и что такое множественное наследование. Осваивают новые операторы switch и guard для более эффективного кода.
В этом модуле учатся создавать интерфейс программы. Работают со Storyboard, Constraints, UIView и AutoLayout. Изучают основные элементы интерфейса и создают собственные View. Добавляют простые анимации - перемещение элементов и изменение цвета. Затем переходят к работе с таблицами - UITableView, создают собственные ячейки и настраивают навигацию между экранами. Используют UINavigationController для презентации новых экранов.
Здесь разбирают, что такое REST API и клиент-серверное приложение. Учатся работать с данными в формате JSON. Используют полезный софт для работы с сетью - Postman и Proxyman. Пишут первый код для сетевых запросов. Осваивают менеджеры зависимостей, в частности CocoaPods. Начинают работу над курсовыми проектами.
Создают программу для сайта TMDb с рейтингом фильмов. В реальном приложении выполняют сетевые запросы и отображают полученные данные. Пишут сетевой слой программы. Затем добавляют коллекции UICollectionView со сложными ячейками. Изучают особенности размещения элементов в коллекциях.
Рассматривают хранилища данных - UserDefaults и Realm. Пишут менеджеры для работы с данными. Затем учатся работать с картами Map Kit - добавляют маркеры, рисуют полигоны.
Разбирают многопоточность в iOS на примере GCD. Изучают принципы написания качественного кода - SOLID, DRY, KISS, YAGNI. Учатся рефакторить код. Далее рассматривают архитектуру приложений - MVC и MVVM. Рефакторят приложение TMDb, добавляя архитектуру MVVM. Изучают паттерны программирования - порождающие, структурные и поведенческие.
Знакомятся с SwiftUI и сравнивают его с UIKit. Рефакторят весь код в приложении TMDb. Учатся открывать сайты в мобильном приложении и воспроизводить видео с помощью AVKit. В завершение сдают проекты и получают рекомендации по поиску первой работы или запуску собственного приложения.
Курс доступен в записи - можно начать обучение сразу после регистрации. Клиентский сервис предоставляет поддержку в течение всего обучения. Студенты получают доступ к Web Academy Club. Также включен час персональной онлайн консультации с IT-рекрутером - обзор резюме и профилей для трудоустройства.