Курсы

Курсы в разработке Подготовительные курсы
Работа в компаниях Компаниям Блог +7 499 110-61-65

iOS Разработчик. Продвинутый курс

Вся сила и мощь Swift 5.1. Прокачай свои знания и навыки до уровня middle/senior.

Длительность

5 месяцев

Начало занятий

В ноябре

Продолжительность
5 месяцев, 4 академ. часа в неделю
Начало занятий
В ноябре
Что даст вам этот курс

Этот курс подойдет для IOS-разработчиков, которые:
– хотят подтянуть свой технический скилл, получить грамотное и целостное понимание iOS-платформы и языка Swift 5.1, стать «пуленепробиваемыми» на технических собеседованиях;
– желают научиться решать сложные и хардкорные задачи с уровнем качества топовых приложений.

Особенности курса

Всё обучение построено исключительно на задачах из практики разработки приложений в production.

Вы создадите сложный UI, используя знания, которые не найти в статьях в интернете. Изучите вопрос смешения декларативной и императивной парадигм и того, что может дать карринг. Выстроите архитектуру под конкретное приложение: MVVM, MVCS или SOA.

- Улучшите навыки использования GCD и научитесь решать проблемы многозадачности
- Приручите SequenceTypе и научитесь быстро решать задачи с помощью структур данных и Generic Type
- Освоите Associated Types и техники Type Erasure
- Научитесь различным способам хранения данных: Core Data, Realm, Keychain, Cache.
- Сможете применять Dependency injection (DI) и модуляризации приложений для более комфортной командной разработки и покрытия тестами


Научитесь писать выразительный код, который в несколько строчек делает то, на что раньше уходил целый экран

Освоите ключевые особенности Swift 5

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

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



По окончании курса вы будете:

– уметь проектировать сложные UI-компоненты и оптимизировать их производительность;
– делать эффективную многозадачность в iOS-приложении;
– понимать, как не раздувать проект лишними библиотеками и максимально «выжимать» iOS SDK;
– уметь проектировать клиент-серверное приложение и оффлайн-режим работы;
– проектировать тестируемый unit-тестами код и, конечно, успевать писать тесты;
– на практике прочувствует плюсы и минусы известных методологий, подходов и парадигм, таких как Protocol Oriented Programming (POP), ООП, Reactive Programming (Rx).
Swift is new C
Ексей Пантелеев
Преподаватель курса
Swift is new C
Ексей Пантелеев
Преподаватель курса
Преподаватели
Ексей Пантелеев
Head Of Mobile (Новые облачные технологии)
Алексей Соболевский
iOS-разработчик в Яндекс
Алексей Кудрявцев
iOS performance engineer в Avito
Кирилл Володин
TeamLead iOS в «Финансовой корпорации Открытие»
Константин Савялов
Senior IOS-разработчик в «Газпром-Медиа Радио»
Работает программистом с 2002 года, суммарный опыт программирования — 17 лет. Имеет большой опыт разработки на С/С++, C#, Java, JS, Swift.

Принял участие более чем в десяти крупных и сложных проектах в ведущих IT-компаниях страны (игры, мессенджеры, финтех и офисные приложения), таких как "Тинькофф Банк", Мail.ru, "Новые Облачные Технологии".

Преподает iOS/Swift 4 года. Выступает на iOS-митапах. Знает, что программирование развивает мозг, поэтому планирует заниматься разработкой всю жизнь.

Свободное время посвящает geek-арт-фотографии и майнингу криптовалют.

Окончил Кемеровский государственный университет по специальности «Преподаватель-лингвист». В 2013 году сменил деятельность и самостоятельно обучился web-разработке. Работал в компаниях SilverSite и «Росконтроль», создавал сайты на языках PHP и Java, занимался вёрсткой.

Профессионально занимается iOS-разработкой с 2015-го года. Участвовал в создании чат-приложений, программного обеспечения для грузового такси, внедрял Continius Ingegration и т. д. Работал в компании Mover24 в качестве руководителя команды разработчиков, а также в компании «Новые Облачные Технологии».

На сегодняшний день Алексей работает в Яндексе. Помимо разработки на платформе iOS, активно проводит собеседования кандидатов, претендующих на позицию iOS Developer.

Стек технологий: Objective-C, Swift, UIKit, Foundation, CoreAnimation, Keychain, Associated Domains, SSO, App Groups, TeamCity.

iOS performance engineer в «Авито», ведущий подкаста AppsCast, член программного комитета конференции Mobius. Спикер, ментор, активный участник iOS-сообщества.

Успел поработать самостоятельно, сделать собственный open source-проект на чистом энтузиазме, побывать в небольших стартапах и сменить 3 бизнес-кластера из трёх в «Авито». Сейчас занимается производительностью приложения, так как считает, что это то, чего чаще всего не хватает современному софту.

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

В свободное время занимается бегом, катается на велосипеде, играет на джембе, читает книги и пробует новые виды активности.

TeamLead iOS в «Финансовой корпорации Открытие» в г. Москва. Сооснователь Digital агентства RxProject. В прошлом работал в компании «Бинбанк» и как фрилансер.

Образование: окончил магистратуру МГТУ им. Н. Э. Баумана по специальности «Информатика и системы управления». Преподавал iOS-разработку на кафедре ИУ6 в МГТУ им. Н. Э. Баумана.

Основной стек: Swift, Alamofire, Realm, UIKit, Keychain, Gitlab, Swiftlint, Firebase, CryptoSwift. Имеет опыт разработки на Python и Java.

Помимо разработки на платформе iOS, сейчас активно интересуется разработкой под Android и Machine Learning. Также имеет за плечами опыт основания и работы в стартапе как CTO.

Любит участвовать в хакатонах. Участвовал в 8 хакатонах, на 7 из которых победил или занимал призовые места. На хакатоне «Росбанка» команда студентов с курса Кирилла в МГТУ им. Баумана заняла 1 место по мобильной разработке.

Окончил Ереванский государственный университет в 1992 году. В iOS-разработке с 2014 года.

Участвовал в реализации проектов разной степени сложности. Наиболее значимые из них — «Госуслуги», «МТС TV», «Волонтёры», «LikeFM».

Сейчас работает над разработкой приложения для «ComedyClub».

Ексей
Пантелеев
Алексей
Соболевский
Алексей
Кудрявцев
Кирилл
Володин
Константин
Савялов
Преподаватели
Ексей Пантелеев
Head Of Mobile (Новые облачные технологии)
Работает программистом с 2002 года, суммарный опыт программирования — 17 лет. Имеет большой опыт разработки на С/С++, C#, Java, JS, Swift.

Принял участие более чем в десяти крупных и сложных проектах в ведущих IT-компаниях страны (игры, мессенджеры, финтех и офисные приложения), таких как "Тинькофф Банк", Мail.ru, "Новые Облачные Технологии".

Преподает iOS/Swift 4 года. Выступает на iOS-митапах. Знает, что программирование развивает мозг, поэтому планирует заниматься разработкой всю жизнь.

Свободное время посвящает geek-арт-фотографии и майнингу криптовалют.

Алексей Соболевский
iOS-разработчик в Яндекс
Окончил Кемеровский государственный университет по специальности «Преподаватель-лингвист». В 2013 году сменил деятельность и самостоятельно обучился web-разработке. Работал в компаниях SilverSite и «Росконтроль», создавал сайты на языках PHP и Java, занимался вёрсткой.

Профессионально занимается iOS-разработкой с 2015-го года. Участвовал в создании чат-приложений, программного обеспечения для грузового такси, внедрял Continius Ingegration и т. д. Работал в компании Mover24 в качестве руководителя команды разработчиков, а также в компании «Новые Облачные Технологии».

На сегодняшний день Алексей работает в Яндексе. Помимо разработки на платформе iOS, активно проводит собеседования кандидатов, претендующих на позицию iOS Developer.

Стек технологий: Objective-C, Swift, UIKit, Foundation, CoreAnimation, Keychain, Associated Domains, SSO, App Groups, TeamCity.

Алексей Кудрявцев
iOS performance engineer в Avito
iOS performance engineer в «Авито», ведущий подкаста AppsCast, член программного комитета конференции Mobius. Спикер, ментор, активный участник iOS-сообщества.

Успел поработать самостоятельно, сделать собственный open source-проект на чистом энтузиазме, побывать в небольших стартапах и сменить 3 бизнес-кластера из трёх в «Авито». Сейчас занимается производительностью приложения, так как считает, что это то, чего чаще всего не хватает современному софту.

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

В свободное время занимается бегом, катается на велосипеде, играет на джембе, читает книги и пробует новые виды активности.

Кирилл Володин
TeamLead iOS в «Финансовой корпорации Открытие»
TeamLead iOS в «Финансовой корпорации Открытие» в г. Москва. Сооснователь Digital агентства RxProject. В прошлом работал в компании «Бинбанк» и как фрилансер.

Образование: окончил магистратуру МГТУ им. Н. Э. Баумана по специальности «Информатика и системы управления». Преподавал iOS-разработку на кафедре ИУ6 в МГТУ им. Н. Э. Баумана.

Основной стек: Swift, Alamofire, Realm, UIKit, Keychain, Gitlab, Swiftlint, Firebase, CryptoSwift. Имеет опыт разработки на Python и Java.

Помимо разработки на платформе iOS, сейчас активно интересуется разработкой под Android и Machine Learning. Также имеет за плечами опыт основания и работы в стартапе как CTO.

Любит участвовать в хакатонах. Участвовал в 8 хакатонах, на 7 из которых победил или занимал призовые места. На хакатоне «Росбанка» команда студентов с курса Кирилла в МГТУ им. Баумана заняла 1 место по мобильной разработке.

Константин Савялов
Senior IOS-разработчик в «Газпром-Медиа Радио»
Окончил Ереванский государственный университет в 1992 году. В iOS-разработке с 2014 года.

Участвовал в реализации проектов разной степени сложности. Наиболее значимые из них — «Госуслуги», «МТС TV», «Волонтёры», «LikeFM».

Сейчас работает над разработкой приложения для «ComedyClub».

Необходимые знания

– знание языка Swift (базовые типы, циклы, ветвление);
– опыт в разработке под IOS от 1 года;
– общее представление о Foundation (или Glibc);
– опыт работы в Xсode;
– навыки работы с Git.
Процесс обучения
Всё обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в слаке курса, сдача домашних работ и получение обратной связи от преподавателя.

Вебинары идут дважды в неделю по 1,5 часа. Все вебинары сохраняются и в записи в вашем личном кабинете.

Домашнее задание выдается в среднем одно в неделю, а его выполнение занимает 3-5 часов. Мы горячо призываем заниматься такой самостоятельной работой, так как это поможет вам качественно освоить все изучаемые технологии на практике с поддержкой и обратной связью наших преподавателей.

Возникающие вопросы по материалам лекций, домашним заданиям и по выпускному проекту вы сможете задавать преподавателю в слаке или во время вебинаров.

Курс длится 5 месяцев, финальный месяц отводится для выполнения проектной работы до сдачи домашних заданий и вопросов преподавателям.

Выполнение проектной работы помогает усвоению практических навыков, а тема проекта отдельно выносится в сертификат. Во время работы над проектом студенты получают консультации и обратную связь от преподавателей в слаке группы и на проектных занятиях.
Программа обучения
Модуль 1
Эффективный UIKit и CoreGraphics
Модуль 2
Foundation без сторонних фреймвоков и Swift 5 Standard Library
Модуль 3
Современная архитектура мобильных приложений
Модуль 4
Многозадачность
Модуль 5
Networking и хранение данных
Модуль 6
Целесообразный Rx (Combine, RxSwift)
Модуль 7
Организация разработки
Модуль 8
Проектная работа
Эффективный UIKit и CoreGraphics
В этом модуле мы изучим внутренности UIKit, его архитектурные плюсы и недочеты. Научимся отображать комплексные данные. Оптимизировать рендеринг UI компонентов. Попрактикуемся в сборке интерфейсов корректно работающих на всех вариациях SizeClasses и анимации.
Тема 1: Проектируем UI без кода и зачем это нужно, storyboard, xib. Как устроен UIKit изнутри
– Решение организационных вопросов.
– Настройка environment: Xcode, git, scripts
– Возможности UIKit в создании интерфейсов без кода и зачем это нужно
Домашние задания: 1
1 Создание каркаса приложения
Цель: Студент 1. будет целостно понимать стек UIKit/UIStoryboard 2. получит умение сборки иерархии экранов в Storyboard 3. научится создавать полноценные кастомные компоненты 4. получит умение использовать Storyboard Reference
Тема 2: Life cycles, стек UINavigationController, ViewControllerLifecycleBehavior, Responder Chain
— Life cycle приложения
— UIResponder и UIViewController Life cycles
— ViewControllerLifecycleBehaviour
— Модификация стека UINavigationController
Домашние задания: 1
1 Добавление в прототип приложения ViewControllerLifecycleBehavior
Цель: – Практически изучить App Life Cycle для использования это в сохранении и восстановлении данных – Научится использовать View controller lifecycle behaviors для того чтобы контролировать экран на каждой стадии – Научимся модифицировать NavigationController стек, для нелинейных переходов в приложениии
Тема 3: Изучаем внутренности и хитрости UIScrollView, продвинутое использование компонента
– Устройство UIScollView и что такое контейнеры в UIKit
– Взаимосвязь между contentSize, contentOffset, contentInset
– Static UIScrollView
– Бесконечный скроллинг
– AutoLayout и UIScollView
Тема 4: Отоборажение структурированных данных UIColleсtionView, UITableView, UIStackView
– Использование Flow Layout
– Комбинирование UIColleсtionView с PageControl
– UITableView Sections
– Оптимизация рендеринга таблицы
– UIStackView и Autolayout
– Решение проблем использования UIStackView, Compression Resistance и Hugging
Домашние задания: 1
1 Реализация коллекции таймеров на UICollectionView
Цель: – Студент научится использовать несколько layout для UICollectionView и переключать их – Получит умение создавать реиспользуемые ячейки и контролировать в них состояние – Прокачает навык решения проблем состояний
Тема 5: SizeClasses, Anchors и анимирование Auto Layout
– SizeClasses, использование UITraitCollection
– Продвинутая адаптивность на iOS без костылей
– Safe Area
– Layout Anchors
– Анимирование Constraints
Тема 6: Создание сверхсложных интерфейсов с помощью CoreGraphis и CoreAnimation
– Работа с CALayer, различия с UIKit
– CGContext
– Программное рисование с помощью UIBezierPath
– CAAnimation и CAAnimationGroup
Домашние задания: 1
1 Создание анимированный диаграммы на CoreGraphics
Цель: — Студент научится работать с CALayer и понимать систему координат используемую в CoreGraphics — Узнает как компоновать анимации — Сможет создавать графику с помощью CoreGraphics
Foundation без сторонних фреймвоков и Swift 5 Standard Library
Загрузим в мозг стройную модель Statements, Expressions и Declaration языка Swift, и попрактикуемся в их использовании. Научимся использовать все возможности String. Научимся управлять "сахарностью" Swift и поймем, что многие библиотеки в проекте вам просто не нужны.
Тема 1: Необычная система типов Swift, структуры данных, Generics
— Теория типов и Compound и Named типы
— Метатип и вложенные типы
— Protocol Composition
— Generics
— Создание кастомных структур данных
24 сентября, 20:00 — 21:30
Лектор: Ексей Пантелеев
Тема 2: Sequences и коллекции, асимптотический анализ: O(1), O(N), O(N*log(N)), O(n^2)
— Sequence и IteratorProtocol
— Type-erased типы: AnySequence, AnyIterator, AnyCollection
— Lazy Wrappers
— Wrappers for Algorithms
— Асимпотический анализ встроенных и кастомных структур данных
26 сентября, 20:00 — 21:30
Лектор: Алексей Кудрявцев
Домашние задания: 1
1 Реализация механизма тестирования алгоритмов на производительность и отображения результатов
Тема 3: Использование всей мощи String, Literals vs. UnicodeScalar, UTF-16
— Сравнение суффиксов и префиксов и другие способы сравнения строк
— Работа с utf8 и utf16 представлениями
— Ипользование подстрок и Ranges, StringProtocol
— Regex
1 октября, 20:00 — 21:30
Лектор: Константин Савялов
Домашние задания: 1
1 Продвинутая локализация приложения на несколько языков
Тема 4: Региональные форматы и локализация iOS приложения
— Парсинг и представление телефонных номеров
— Форматирование дат согласно региону и локали, POSIX спецификация
— Работа с единицами измерения и валютами
— Корректная локализация приложения на несколько языков и регионов
3 октября, 20:00 — 21:30
Лектор: Ексей Пантелеев
Домашние задания: 1
1 Создание ячейки с поддержкой региональной локализации
Тема 5: Ассоциативные типы, Type Erasure, «сахарные» типы данных, диспетчеризация вызовов в Swift 5
— 3 типа диспатчеризации в Swift: direct, dynamic, message
— Associated Types
— PATs и динамическая диспатчеризация
— Другие способы реализации паттерна Type Erasure
— Как работают типы в SIL (Swift Intermediate Language)
8 октября, 20:00 — 21:30
Лектор: Алексей Кудрявцев
Домашние задания: 1
1 Создание 3х реализаций расчета и отображения и вывод результатов на диаграмму
Тема 6: Компилятор LLVM, AST, создание собственных операторов
— Как работает LLVM: SIL, IR
— Как некоторые типы представлены в SIL и для чего это нужно знать
— Особенности и хитрости компиляции
— Перезагрузка и создание операторов
10 октября, 20:00 — 21:30
Домашние задания: 1
1 Проектирование и реализация своей собственной структуры данных и оценка ее эффективности
Современная архитектура мобильных приложений
MVC, MVP, MVI, MVVM, VIPER, RIBs, MOVVER, YARCH и что дальше? Архитектуры множатся, проблемы остаются те же. Научимся целевому выбору архитектурных паттернов и попрактикуемся в проектировании.
Тема 1: Современные паттерны проектирования, принцип SOLID и его целесообразное применение
— SOLID и как получить от него пользу
— Другие принципы: KISS, DRY/DIE, YAGNI, BDUF, SOC
— Необходимые паттерны для сегодняшней мобильной разработки: Adapter, Memento, Observer, Strategy, Factory, Command, Composite, Iterator, Mediator, Proxy, Template Method, Singleton и где они приненимы на iOS
15 октября, 20:00 — 21:30
Лектор: Алексей Кудрявцев
Тема 2: MVP, MVCS, MVVM, архитектурные паттерны, модуляризация, Clean Architecture
— MV(X) архитектурные паттерны
— Модуляризация приложения, способы: Frameworks, Cocoapods, JSCore, SPM
— Clean Architecture
17 октября, 20:00 — 21:30
Лектор: Ексей Пантелеев
Домашние задания: 1
1 Создания каркаса для модуляризированного приложения
Тема 3: Protocol Oriented Programming (POP)
— Про Наследовании и ООП
— Миксины/трейты: Protocol Extensions
— Type Constraints
— Плюсы и минусы подхода
22 октября, 20:00 — 21:30
Лектор: Кирилл Володин
Тема 4: Dependency Injection, SOA, слоистая архитектура
— Inversion of Control паттерн
— ServiceLocator и инжектинг
— Разделение архитектуры на слои и что это дает
24 октября, 20:00 — 21:30
Лектор: Алексей Кудрявцев
Домашние задания: 1
1 Реализация Service Locator и Dependency Injection и изолированности слоев в приложении
Тема 5: Связывание разных частей приложения Observing, Signals, Callbacks
— Observing и broadcasting, нужен ли нам KVO
— Плюсы и минусы Delegation, виды делегатов
— Callbacks
— Signals ans Slots и причем здесь Rx
29 октября, 20:00 — 21:30
Многозадачность
Попрактикуемся в использовании последовательных (serial) и параллельных (concurrent) очередей, в создании управлении DispatchGroup. Использовании мьютексов и семафоров и других Locks. Будем знать как решать проблемы параллельной многозадачности типа Priority inversion и другие.
Тема 1: Проблемы многозадачности и способы их решения, GCD
— Антипаттерны и проблемы: Priority Inversion, Race condition, Deadlock, Resource contention, Starvation, Non-deterministic and Fairness
— Использование GCD: QoS, Queues, Main Queue и Main Thread
7 ноября, 20:00 — 21:30
Домашние задания: 1
1 Реализация асинхронного выполнения задач и оценка эффективности подхода
Тема 2: Внутренности GCD(libdispatch), OperationQueue
— Плюсы и минусы OperationQueue
— Внутренности libdispatch: пул тредов, continuation, QoS и как зная это лучше использовать очереди
12 ноября, 20:00 — 21:30
Лектор: Кирилл Володин
Тема 3: RunLoop & POSIX Threads, Инструменты синхронизации, Lock, Mutex
— RunLoop и чем сегодня он может нам быть полезен
— pthreads
— Виды локов: NSLock, NSRecursiveLock, Spinlock, Mutex, Semaphore
— Dispatch Barriers
— Trampoline техника
14 ноября, 20:00 — 21:30
Лектор: Ексей Пантелеев
Домашние задания: 1
1 Реализация общей конкурентной очереди на приложение, создание внутренней системы тасков
Networking и хранение данных
Познакомимся со свежим фреймвоком Network для iOS. Будем использовать Codable для легкой серилизации и десириализации данных. Изучим подходы к хранению данных в приложении. Потренируемся использовать Core Data и Realm, и будем понимать когда какое хранилище использовать.
Тема 1: Новый Network-фреймвок, URLSession, Codable
— Network феймвок, HTTP, REST, Sockets, GraphQL
— URLSession
— Сериализация и десериализация c помощью Codable
19 ноября, 20:00 — 21:30
Лектор: Алексей Кудрявцев
Тема 2: Когда использовать Files, чистый SQLite, способы кеширования
— Виды кеширования
— SQLite и другие DB* альтернативы
— NoSQL
— Files и File System
21 ноября, 20:00 — 21:30
Лектор: Константин Савялов
Домашние задания: 1
1 Имплементация сериализации и сохранения данных на backend
Тема 3: CoreData — основные стратегии использования
— NSManagedObject, NSPersistentStoreCoordinator, NSManagedObjectContext
— NSPersistentContainer
— Модель данных
— CRUD на Core Data
26 ноября, 20:00 — 21:30
Лектор: Ексей Пантелеев
Тема 4: Realm
— Плюсы и минусы Realm
— Модель данных на Realm
— Realm Browser
— CRUD на Realm
28 ноября, 20:00 — 21:30
Лектор: Ексей Пантелеев
Домашние задания: 1
1 Реализация поддержки оффлайн режима в приложении
Целесообразный Rx (Combine, RxSwift)
Узнаем где нужно, а где не нужно использовать реактивный подход. Научимся программировать на нем, и поймем почему c Rx можно разрабатывать в разы быстрее.
Тема 1: Отличие императивного и реактивного подхода, концепция Observable, Combine vs. RxSwift
— Чем реактивный подход может быть лучше
— Observable Sequences
— RxSwift 4.x
— Сombine
— Сравнение и что и как использовать?
3 декабря, 20:00 — 21:30
Тема 2: Promises, Signals и как это в Rx. Функциональное программирование
— Rx подход без RxSwift: PromiseKit, Signals
— Идея распространение изменений
— RxSwift Transformations: Map, FlatMap, Scan, Buffer
5 декабря, 20:00 — 21:30
Домашние задания: 1
1 Реализация каркаса приложения используя декларативный подход и Rx
Тема 3: Основные паттерны: Composition, Aggregation, Cancellatiion
— Rx паттерны
— Фильтрация: Filter, DistinctUntilChanged
— Комбинирование: StartWith, Merge, Zip
10 декабря, 20:00 — 21:30
Тема 4: UI Patterns: Driver & Action, быстрое создание полноценного UI на Rx
— MVVM и RxSwift
— RxCocoa
— Создание UI на Rx
12 декабря, 20:00 — 21:30
Домашние задания: 1
1 Создание UI слоя приложения на Rx
Организация разработки
Немного познакомимся с теорией тестирования, напишем XCTest и UITest, узнаем как правильно проектировать тестируемый код. Изучим как настраивать Continuous Integration (CI) и причем здесь git и git-flow. Также научимся писать работающие резюме и то, что не говорят на собеседованиях, но используют.
Тема 1: Тестирование кода XCTest, UITest, fastlane и CI
— Test-Driven Development (TDD)
— Теория тестирования
— Использование XCTest
— Зачем нужен UITest
— Сборка CI (Continuous Integration) на fastlane
17 декабря, 20:00 — 21:30
Тема 2: Git-flow, автоматизизация workflow
— Продвинутое использование git
— Фича, хотфикс, релизный цикл, master ветка
— Использование комманд git-flow
19 декабря, 20:00 — 21:30
Домашние задания: 1
1 Покрытие приложения юнит-тестами
Тема 3: Как правильно написать резюме и развивать hard-skills
— Почему важно корректно писать резюме
— Как выбирать работодателя чтобы развивать свой hard-skills
— Какие бывают работодатели
— Какие скрытые критерии отбора используются
24 декабря, 20:00 — 21:30
Домашние задания: 1
1 Написание работающего резюме
Проектная работа
На основе умений и знаний полученных в курсе студент выбирает какой проект будет реализовывать. С нашей стороны будет помощь и наставничество в реализации проекта. Также нами будет предложен экспертный список «Чего не хватает в AppStore» из небольших и средних программ, где вы бы могли себя проявить.

Проект может помочь в трудоустройстве.

Тема 1: Написание приложения с нуля
— Выбор темы для приложения
— Как генерировать идеи для простых приложений на основе известных «­болей» пользователй
— Как использовать iOS платформу для генерации идей для приложений
— Подбор инструментов, помощь с стартом написания приложения
26 декабря, 20:00 — 21:30
Домашние задания: 1
1 Написание приложения с нуля
Тема 2: Консультация по проекту
9 января, 20:00 — 21:30
Тема 3: Защита проекта
14 января, 20:00 — 21:30
Домашние задания: 1
1 Сдать ссылку на репозиторий курсового проекта. В репозитории обязательно должен быть заполнен файл Readme.md с описание проекта.
Выпускной проект
На основе умений и знаний полученных в курсе студент выбирает какой проект будет реализовывать. С нашей стороны будет помощь и наставничество в реализации проекта. Также нами будет предложен экспертный список «Чего не хватает в AppStore» из небольших и средних программ, где вы бы могли себя проявить.
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Практическое применение SwiftUI
Алексей Соболевский
Практическое применение Swift 5.0 и 5.1
Ексей Пантелеев
После обучения вы

  • заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров и презентации к занятиям;

  • сохраните пример разработанного приложения;

  • получите сертификат о прохождении курса;

  • получите приглашение пройти собеседование в компаниях-партнерах (эту возможность получают самые успешные студенты).

Дата выдачи сертификата: 21 мая 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «iOS Разработчик. Продвинутый курс»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «iOS Разработчик. Продвинутый курс»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.