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

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

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

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

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

Запись

О курсе

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


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

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

Как пример проекта можно рассмотреть:
— клон 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 года проводит регулярные воркшопы для своих коллег и сотрудников.