Разработка под iOS

Бесплатный
Онлайн курс
Оставьте предварительную заявку
Курс в проработке

О курсе

Для кого?

Курс рассчитан на тех, кто имеет навыки программирования на любом языке. Желательно иметь устройство с операционной системой MacOS.

Что дает курс?

  • Расскажем об основных языковых конструкциях и возможностях Swift;
  • Поможем освоить основные инструменты iOS-разработчика;
  • Научим создавать iOS-приложения с грамотным пользовательским интерфейсом и продуманной бизнес-логикой.

Информация

  • Занятия проходят онлайн на YouTube-канале Академии;
  • После регистрации вы получите ссылку на закрытый телеграм-канал курса, в котором сможете общаться с преподавателями и получать материалы с занятий;
  • Перед стартом курса советуем прочитать статью «С чего начать путь iOS-разработчику» — в ней наши преподаватели собрали советы, как выстроить грамотный процесс обучения.

Программа курса

  • /01 тема
    Введение в курс. Работа с системой контроля версий Git

    Краткий экскурс в историю мобильной разработки;

    Концепция языка Swift и платформы iOS;

    Git и основные команды, необходимые для разработки.

     

  • /02 тема
    Объектно-ориентированный подход в разработке. Основы Swift

    Основные подходы в программировании;

    Объектно-ориентированный подход в разработке приложений;

    Протоколы, расширения, типы значения и ссылочные типы данных, дженерики и работа с коллекциями в Swift;

    Управление памятью с помощью ARC.

     

  • /03 тема
    Основы работы с интерфейсом пользователя и графикой

    Фреймворк UIKit и разработка элементов пользовательского интерфейса;

    Основные компоненты, UIView, CALayer, CAShapeLayer, UIBezierPath, метод draw;

    Процессы отрисовки UI элементов и обработка нажатий.

  • /04 тема
    Основные элементы UIKit, переходы между экранами

    UIViewController;

    Роль UIViewController в работе приложений, жизненный цикл и методы, из которых он состоит;

    Механизмы переходов между экранами: segue, storyboard, объект router, паттерн coordinator.

  • /05 тема
    Паттерн делегирования. Работы с таблицами, коллекциями, стеком

    Механизм работы с UITableView и UICollectionView;

    Переиспользование ячеек в табличных элементах;

    Предоставление данных и обработка событий с помощью паттерна делегирования.

  • /06 тема
    Работа с сетевым слоем

    Механизм получения данных с сервера, клиент-серверная архитектура, протоколы передачи данных HTTP, TCP, UDP;

    Классы для работы с сетью URLSession, URLRequest, парсинг данных JSON в модели;

    Библиотеки для работы с сетью Moya, Alamofire.

  • /07 тема
    Хранение данных

    Хранение данных в приложении на основе key - value значений;

    NSUserDefaults, сериализация данных;

    Хранение данных на основе реляционных баз данных CoreData, GRDB;

    Хранение данных на основе нереляционных баз данных Realm, Firebase Realtime Database.

  • /08 тема
    Многопоточность

    Что такое многопоточность, понятия потока, процесса и задачи;

    Какие средства для организации многопоточности предоставляет iOS;

    Grand Central Dispatching (GCD), NSOperation, Thread; 

    Механизмы блокировок.

  • /09 тема
    Паттерны проектирования и архитектурные паттерны

    Что такое архитектура мобильного приложения, как ее выбрать, каким образом можно адаптировать под свой проект и для чего нужна; 

    MV(x)-паттерны и различия между ними;

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

  • /10 тема
    Менеджеры пакетов

    Что такое менеджеры пакетов, для чего их использовать и как именно;

    SPM и Cocoapods: что из этого удобнее и почему. 

  • /11 тема
    SwiftUI, async/await, Combain

    Что нового в iOS-индустрии;

    Чем отличается UIKit от SwiftUI, async/await от GCD и как использовать Combain;

    Перспективы новых инструментов для разработки и стоит ли отказываться от старых.

  • /12 тема
    Итоговое занятие