Проходил 17 мая в 20:00

Открытый вебинар IOS
Создание собственного экрана загрузки (splash screen)

Открытый вебинар онлайн

Мы создадим splash screen для вашего приложения, от самых простых до сложных экранов с анимациями и отображением прогресса загрузки.

После моего мастер-класса вы сможете использовать системные методы для решения этой задачи и самостоятельно создавать свои собственные экраны загрузки.
Преподаватель
Геннадий Евстратов

Запись

О курсе

Разработчик iOS
40 000 ₽
5 месяцев
Начало 5 июля
Программа ориентирована на junior-разработчиков, которые уже имеют некоторый опыт, и хотят узнать больше, углубить и систематизировать свои знания. Кроме того, программа может быть интересна и студентам, которые уже умеют программировать на каком-либо языке программирования, и без опыта разработки под ios. По окончании курса вы сможете: - использовать в разработке приложений язык swift - разбираться в архитектурных паттернах для написания чистого ...
Программа курса
Модуль 1
Модуль 2
Модуль 3
Модуль 4
Модуль 5
Модуль 6
Средства разработки, введение в swift, rx
Инструменты. Установка, настройка, подготовка. Xcode, git и всё, что ещё может потребоваться.
Подготовить среду разработки, которая будет использоваться в дальнейших занятиях
5 июля, 20:00 — 21:30
Git/git flow. Pull request. Code Review. Таск-трекеры. Постановка задач, решение задач, взаимодействие в трекерах. Fastlane. CI. Jenkins, Gitlab, TeamCity, Travis, Circle. Боты для работы с CI.
- Разобраться с приемами работы с git
- Узнать о базовых практиках командной работы
- Научиться использовать и настраивать окружение для автоматической сборки и тестирования
9 июля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Вводное домашнее задание. Настройка среды.. В рамках эьтого домашнего задания учащиеся должны


  • подготовитиь себе среду для работы
  • зарегистрировать все необходимые аккаунты в сервисах
  • завести необходимые проекты и репозитории
  • проверить, что это всё есть и работает
Введение в swift. Типы данных, управляющие конструкции, функции, enums. Optionals, unwrapping, forced unwrapping, chaining.
12 июля, 20:00 — 21:30
Введение в swift, часть 2. ООП. Классы, структуры, протоколы, extensions. Обработка ошибок, do/try/catch.
16 июля, 20:00 — 21:30
Введение в swift, часть 3. Generics. Коллекции, обработка коллекций, функциональный стиль программирования на swift. Функции высшего порядка.
19 июля, 20:00 — 21:30
RxSwift, FRP. Observable, Subscriber, операторы, комбинации. Создание собственных операторов и observable.
23 июля, 20:00 — 21:30
UI
Основные элементы интерфейса. Лейблы, строки ввода, картинки, слайдеры, степперы и т.д. Общие свойства всех элементов, общие принципы работы с ними.
26 июля, 20:00 — 21:30
Вёрстка. Autolayout. Size classes.
30 июля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Построение интерфейса пользователя. Верстка основных экранов приложения: экран поста, экран ленты. Верстка должна быть сделана под все устройства, в том числе и ipad. Создание собственного UI компонента, который можно использовать в interface builder.
ScrollView, Table View, Collection View. Ячейки. Переиспользование ячеек. Прототипы ячеек, отдельные ячейки.
2 августа, 20:00 — 21:30
Предзагрузка ячеек. UICollectionViewLayout. Собственный layout коллекций.
6 августа, 20:00 — 21:30
Навигация в приложении. UINavigationController, UITabBarController. Segues. Передача данных между экранами.
9 августа, 20:00 — 21:30
Core graphics. Core Animation. UIKit dynamics. Собственные UI компоненты. @IBDesignable, @IBInspectable.
13 августа, 20:00 — 21:30
Сеть и архитектура
АПИ. Базовые принципы устройства. Описание АПИ. Инструменты для работы с АПИ.
16 августа, 20:00 — 21:30
Протокол HTTP. WebSocket. REST. GraphQL. Форматы данных. Парсинг данных.
20 августа, 20:00 — 21:30
Домашние задания: 1
ДЗ
Сеть, Архитектура и Тесты.. Реализовать API клиент для работы с сервером. Переделать архитектуру приложения из предыдущего занятия. Покрыть всё тестами.
Асинхронная работа. Многопоточность. Потокобезопасность. GCD, NSOperationQueue.
23 августа, 20:00 — 21:30
SOLID. Разделение ответственности. Почему это важно. Архитектурные паттерны. MV* (MVC, MVP, MVVM). Реактивный MVVM. VIPER.
27 августа, 20:00 — 21:30
Тестирование. Unit тестирование. Mocks, stubs, test doubles. UI тестирование.
30 августа, 20:00 — 21:30
Отображение web страниц, обрабока событий в них. JS injection. JS Script Core.
3 сентября, 20:00 — 21:30
Хранение данных
NSUserDefaults. Сохранение приватных данных в keychain. Файловая система, работа с файлами.
6 сентября, 20:00 — 21:30
Core data. Контекст, сущность, предикаты, запросы. FRC.
10 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Хранение и кеширование данных.. Используя один из обсуждаемых способов добавить слой хранения и кеширования данных в приложение, и реализовать их отображение. Описать этот слой тестами.
Advanced Core data. Связи. Многопоточность. Magical Record.
13 сентября, 20:00 — 21:30
Realm. Связи. Realm notifications. Многопоточность.
17 сентября, 20:00 — 21:30
Документные базы. Firebase. Couchbase.
20 сентября, 20:00 — 21:30
SQLite. YapDatabase.
24 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Кеширование и хранение данных. .
Фреймворки
Работа с камерой. Получение фото и видео. Минимальная обработка. Отправка на сервер.
27 сентября, 20:00 — 21:30
Работа с картами. Отображение карт. Отображение точек. Получение текущего местоположения.
1 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Фото и видео. Отправка данных на сервер. Нотификации, карты и всё остальное.. Реализация захвата и отправки на сервер изображений. Работа с нотификациями, картами, геолокацией и прочими дополнительными вещами.
Нотификации. Локальные и пуш. Действия в нотификациях. Обработка действий.
4 октября, 20:00 — 21:30
AVFoundation. Воспроизведение аудио и видео.
8 октября, 20:00 — 21:30
3d touch. Peek & pop. Continuity. Deep & Universal links. URL schemas.
11 октября, 20:00 — 21:30
Системный шаринг. Меню шаринга. Шаринг документов. Extension для шаринга.
15 октября, 20:00 — 21:30
Проектная работа
Заключительный месяц курса посвящен проектной работе. Это может быть как доработка проекта, который разрабатывался в ходе всего курса, так и работа над своим собственнным проектом. Во время работы над проектом можно получать консультации преподавателя и общаться с коллегами для вырабоки максимально эффективных решений.

Проект это то, что можно показать потенциальномму работодателю как пример своего кода, записать себе в потрфолио или выложить в магазин приложений.

Как пример проекта можно рассмотреть:
— клон Instagram (проект, который делается в процессе обучения)
— клиент какого-либо сервиса (например docker registry или docker, чат для VK и т.д.)
— простая игра с turn-base multiplayer, например шашки или "уголки"

Преподаватель

Геннадий Евстратов
Ведущий разработчик/архитектор Mail.Ru Group (подразделение «Юла») и владелец аутсорсинговой студии. Выпускник мехмата МГУ, 2005 год.

Опыт в сфере iOS-разработки - 9 лет; 20 лет в промышленной разработке. Кроме Objective-C и Swift, пишет на Java, Kotlin, JS, Python, Elixir, Elm, TS и др. За время работы опубликовал более 40 приложений в AppStore: Youla, OK, OK Live, Neon, Stoloto, gazeta.ru и др.

С 2016 года преподаёт курс «Введение в iOS-разработку» в Технопарке МГТУ им. Баумана. С 2013 года проводит регулярные воркшопы для своих коллег и сотрудников.
Преподаватель курсов:
Разработчик iOS