Дистанционный курс — 5 месяцев
iOS разработчик
Научим разработке мобильных приложений на Swift за 6 месяцев
Свяжемся в течение рабочего дня
Нажимая на кнопку, я соглашаюсь на обработку персональных данных
Старт групп
I33-onl — 27 июня
Дни и время занятий
ВТ, ЧТ, 19:00 — 22:00
МестаСвободных мест
12 из 18

Кем ты станешь?
iOS разработчик создаёт игры и приложения для более 1 млрд. пользователей устройств Apple. Это самые высокооплачиваемые специалисты на мобильном рынке. На курсе тебя ждет обучение Swift с нуля, ты научишься проектировать и анимировать интерфейсы, разработаешь свое iOS приложение, узнаешь способы его монетизации и опубликуешь в App Store.
Чему ты научишься?
- Изучишь язык программирования Swift с нуля и ООП
- Разработаешь и опубликуешь приложение в App Store
- Научишься проектировать и анимировать интерфейсы
- Научишься работать с сетью и хранить данные
- Станешь востребованным iOS разработчиком
- Узнаешь способы монетизации мобильных приложений
Зарплата iOS разработчика
Источник данных: dev.by
700 $ - 1500 $
На рынке не хватает iOS разработчиков
370сейчас ищут iOS разработчика
Программа курса
Рассчитана на 204 академических часа
Программа была составлена практикующими IT специалистами с многолетним опытом коммерческой разработки для новичков в iOS.
Swift (1-45)
Введение. Знакомство с XCode
- Xcode - глубокая среда разработки
- Симуляторы и игровая площадка
- настройка проекта
Базовый функционал SWIFT
- Основные типы данных в SWIFT
- Строгая типизация
- Переменные и константы
- Приведение типов
- Операторы ветвления
Функции и методы
- Понятие и назначение функций
- Синтаксическая функция
- Глобальные и локальные переменные, адаптированные функции и переменные
- Входные параметры для функций
Функции - продолжение. Массивы. Кортежи
- Функции, возвращающие значения
- Массивы
- Функции высшего порядка
- Кортежи (кортеж)
UI + storyboard, кастомные классы
- Понятие раскадровки, назначения, основных задач
- Привязка элементов пользовательского интерфейса к коду
- Понятие класса и объекта. Кастомные классы
- Синглтон (синглтон)
UI из кода
- Жизненный цикл ViewController
- UIView - свойства, использование, назначение
- Перемещение частей интерфейса
- Создание объектов интерфейса из кода
Структурирование кода, модификаторы доступа
- Принципы SOLID
- Модификаторы доступа
- Структурирование класса контроллера
- Перечисления (enum)
GIT
- Основы GIT
- Идея системы контроля версий и хранения данных в облаке
- Выбор и установка git-клиента
- Git-flow
- Создание тегов и их использование
Cocoapods. Snapkit. Верстка интерфейса кодом
- Объяснение идеи использования сторонних библиотек и их обновления
- Поиск требуемых библиотек, подключение к проекту
- SnapKit
- Контейнерная верстка при помощи Snapkit
- Приоритеты констрейнов
Базовая навигация и верстка интерфейса.
Базовая навигация
- Навигация через segue
- Навигация через present
- Работа с несколькими сторибордами
Продвинутая навигация и жесты
- Navigation Controller
- Стек навигации
- Tap gesture recognizer - распознавание жестов
- Swipe gesture recognizer и enum
Верстка интерфейса
- UIView как контейнер
- Понятие и использование констрейнов (constraint)
- Принципы контейнерной верстки
- Изменение констрейнов в коде
Продвинутая работа с интерфейсом
- UIImage и UIImageView
- Анимация
- Таймеры
Опциональные значения в SWIFT
- Что такое опциональные значения, их преимущества
- Потенциальная угроза приложению со стороны
- Опциональные свойства объекта
- Развертывание опциональной переменной
- Опциональные входные параметры для методов
Расширения базовых классов
- Extensions для UIView
- Тени, градиенты
- Закругление углов view
- KVO в SWIFT
Словари и Attributed Strings
- Синтаксис и области использования словарей в SWIFT
- Понятие хэша
- Алгоритмическая сложность поиска нужного элемента массива\словаря
- Attributed Strings - синтаксис создания и изменения, понятие атрибутов
- Кастомные шрифты в SWIFT
Анимация констрейнов и AlertController
- Анимация констрейнов
- Blur effect для UIView
- UIAlertController - область применения, принцип работы
- Расширение для UIViewController для вызова алерта
- ScrollView - основы использования
Сохранение данных. Работа с изображениями, текстом и датами
Сохранение данных
- UserDefaults для хранения данных
- Ограничения UserDefaults
- FileManager - запись данных в файл и чтение из файла
- Сохранение кастомных классов
Работа с изображениями
- UIImage - основные свойства
- Фотопикер - создание, вызов, обработка изображений
- Повторное использование кастомных view - XIB
- Создание xib-файла, привязка к кастомному классу UIView
Ввод текста. Уведомления
- Работа с UITextField и UITextView
- UIButton - углубленный разбор
- Notification - широковещательное уведомление приложения о событии
- Работа с клавиатурой
Работа с датами в SWIFT
- UIPicker - основные свойства и методы
- Основы работы с датами
- DateFormatter - отдельный класс для форматирования дат
- Разбор шаблонов для форматирования дат
- WebView - создание своего браузера
Протоколы, делегаты, callbacks. Таблицы. Коллекции
Протоколы, делегаты, callbacks
- Протокол - синтаксис, назначение, реализация
- Делегаты - понятие, назначение
- Callback (completion block, completion handler)
Таблицы. Паттерны проектирования
- UITableView - создание таблицы
- Основы работы с таблицами
- Кастомные ячейки таблицы
- Делегатные методы таблицы
Коллекции. Работа с JSON
- UICollectionView - создание, основы использования
- Кастомные ячейки collectionView
- JSON - основы, создание, развертывание
- Функционал iOS - звонки, СМС, почта
Работа с API. Многопоточность.
Работа с API
- Что такое API и для чего нужен
- Признаки REST API
- Создание и отправка запросов к API
Углубленная работа с API
- Формирование заголовков запроса
- Формирование тела запроса, упаковка его в Data
- Понятие «токен»
- Логин через приложение и получение временного токена от АПИ
- Использование токена для авторизации
- Alamofire. Упрощенное формирование запросов
Многопоточность. Введение (Часть 1)
- Threads
- RunLoop
- QoS
Многопоточность (Часть 2)
- Синхронизация
- Mutex
- Condition
- Потенциальные проблемы
Многопоточность (Часть 3)
- Grand Central Dispatch
- Queue
- Dispatch work item
- Semaphore
Геолокация. Аудио и видео. SpriteKit. Локализация.
Геолокация. Аудио и видео
- Основы геолокации и источники данных для определения локации
- Возможная точность определения локации
- Синтаксис, запуск определения локации
- Воспроизведение аудио
- Воспроизведение видео
SpriteKit. Основы
- Создание сцены SKScene
- SKSpriteNode, SKLabelNode, SKAction, Sequence
- Анимация без кода. SKView
- Particle Emitter Editor - основы. Демонстрация создания частиц и их текстур. SKReferenceNode
Локализация. Вызов других приложений. Телефонная книга
- Основы локализации
- Адресная книга iOS
- Открытие других приложений из кода
- Передача данных в другое приложение
Акселерометр. Гироскоп. Карты
- Основы отслеживания положения телефона
- Получение и обработка данных акселерометра
- Работа с картами (MapKit framework)
ARC. Keychain. APNS
- Автоматический подсчет ссылок и сборщик мусора
- Keychain - защищенное хранилище
- APNS - уведомления от сервера
- Создание локальных уведомлений
Паттерны. Детальный разбор
- MVC
- MVP
- MVP + router
Паттерны. Realm. Логирование
Паттерн MVVm
- Класс Bindable
- Понятие дженериков
- MVVm-C - MVVm с координатором
- Понятие модульного приложения, иерархия координаторов
Realm. Работа с базой данных
- Понятие базы данных
- Понятие Объект и Связь
- Создание моделей на основе объектов реального мира
- Запись данных в базу
- Выстраивание иерархии моделей
Логирование событий
- Для чего нужны логи
- Понятие воронки продаж
- Понятие retention и его влияние на доход от приложения
- Appsflyer и Amplitude Analytics Logger для создания и отслеживания событий
- App Tracking Transparency
RxSwift. SwiftUI.
RxSwift. Основы
- Понятие реактивного программирования
- Наблюдаемые последовательности
- Создание observable из любого объекта.
- Три типа событий: next, error, completed
- Многопоточность в RxSwift
- «Горячие» observables
RxSwift. Продолжение. Практика
- ViewModel в RxSwift
- Работа с RX для UI-компонентов
- Обработчики UI-событий
- RX для UITableView иUICollectionView
- Источники данных для таблиц, обработка событий
SwiftUI. Основы (Часть 1)
- Возможности и ограничения SwiftUI
- PropertyWrappers. Доступные возможности: @State, @Binding, @ObservedObject, @ObservableObject, @EnvironmentObject, @Environment
- Ограничения обёрток свойств
SwiftUI (Часть 2)
- Сопоставление элементов SwiftUI и UIKit. Разбор каждого из основных.
- Назначение SceneDelegate. Переименование ContentView в RootView. Canvas
- Работа с таблицей (List). Отображение простого массива. Протокол Identifiable
- Фреймворк Combine. Основы
SwiftUI (Часть 3)
- VStack и HStack как основа UI .
- Система координат
- Использование изображений в SwiftUI, класс Image, подгрузка системных и собственных изображений
- Элементы UI: Text Field, Toggle, Stepper, Slider
SwiftUI. Навигация
- Навигация в SwiftUI
- Создание TabView, для чего нужен @State. Добавление новых табов
- Навигация через NavigationView. NavigationLink
- Модальное представление окна.
- Передача данных между View
Монетизация и Публикация приложения в Appstore
Монетизация приложения
- Основные способы монетизации приложения
- Встроенные покупки
- Особенности работы с подписками
- Отображение рекламы в приложении
- Особенности монетизации Apple
Публикация приложения в Appstore
- Необходимые данные для сборки приложения
- Testflight - среда тестирования приложений
- Основные требования к приложению при публикации
- Пошаговая инструкция для публикации приложени
Основы Objective C
Основы Objective C
- Создание класса, понятие заголовка и тела класса
- Создание объектов, синтаксис создания и обращения
- Синтаксис создания и вызова методов
- Доступ к объектам класса извне
- Протоколы - синтаксис и применение
- Использование кода Objective C в SWIFT-приложения
Процесс разработки. Разбор действий разработчика
Процесс разработки. Разбор действий разработчика
- Процесс разработки
- Работа с JIRA
- Оценка задачи, принятие в работу
- Код-ревью, реагирование на замечания
- Цикл ТОТЕ
- Интеграция в команд
Подведение итогов курса
Подведение итогов курса
- Оценка знаний
- Консультации по дипломному проекту
- Ключевые вопросы технического собеседовани
Онлайн-тренинг "Трудоустройство в IT"
Онлайн-тренинг "Трудоустройство в IT"
- Составление резюме (теория + практика)
- Составление профиля на LinkedIn (теория + практика)
- Прохождение интервью
- Soft skills, которые важны в рамках интервью
- Проведение пробного интервь
Защита дипломного проекта
Защита дипломного проекта
- Защита дипломного проекта
Базовая навигация и верстка интерфейса
Преподаватели курса
Учись у луших. Все наши преподаватели - практикующие специалисты в международных IT-компаниях

Артур

Денис
Ваше резюме после обучения

Профессиональные навыки:
- Создание полноценных приложений для iOS с использованием всех современных технологий и практик
- Разработка приложения с использованием типовых архитектурных паттернов, таких как MVVM+C, MVP, MVC
- Использование таких основных средств разработки, как Git, CocoaPods, SPM
- Применение в разработке различных фреймворков и модулей, как: Firebase, Realm, Alamofire, Google Maps, MapBox
- Умение выполнять рефактор, совершенствовать код и перерабатывать архитектуру проекта
- Понимание и применение полного цикла разработки iOS приложений, от идеи до релиза в AppStore

Помощь в трудоустройстве
Опытные HR-специалисты отвечают на вопросы, готовят к собеседованию и помогают каждому студенту получить работу мечты.
Раз
Рекомендации по составлению портфолио и резюме
Два
Подготовка к собеседованию в компаниях-партнёрах
Три
Персональные консультации по развитию карьеры
Стоимость обучения
Полная разовая оплата
95 000₽
Возможен вариант оплаты по банковской рассрочке от 6 до 18 месяцев. Более подробную информацию по программам рассрочки и кредитования можно узнать у менеджеров.
Оплата в рассрочку
Запись на обучение
Свяжемся в течение рабочего дня
Нажимая на кнопку, я соглашаюсь на обработку персональных данных