Разработчик iOS: практическое применение Swift 5, работа в Xсode и Git

Курсы

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

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

Вся мощь Swift 5.1 для развития профессиональных навыков уровня Middle/Senior iOS Developer
Подойдет ли мне этот курс?
Обучение сотрудников

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

5 месяцев

Начало

28 ноября

Занятия

Чт 20:00, Вт 20:00

Общая стоимость

50 000 ₽ 35 000 ₽

В месяц

12 500 ₽

В кредит:

12500 ₽ в месяц

Хочу дешевле
Общая стоимость
50 000 ₽ 35 000 ₽
В месяц: 12 500 ₽
В кредит: 35000 ₽
в месяц
Продолжительность
5 месяцев, 4 академ. часа в неделю
Чт 20:00, Вт 20:00
Начало занятий
28 ноября
Что даст вам этот курс

Для кого
Программа создана специально для iOS Developers с опытом работы в сфере разработки мобильных iOS-приложений от 1 года и более.

Особенности программы
Обучение построено исключительно на кейсах из практики разработки приложений в production. Мы будем решать сложные и хардкорные задачи с уровнем качества топовых приложений:
✔ разработаем комплексный и анимированный UI, используя SwiftUI и знания, которые не найти в статьях в интернете;
✔ научимся адаптировать UI код для iPadOS и переносить на watchOS, tvOS, macOS платформы;
✔ изучим вопрос смешения декларативной и императивной парадигм, Rx паттерны и разработку на Combine.
✔ выстроим архитектуру под конкретное приложение: MVVM+S, Clean Swift(VIP) или SOA;
✔ научимся редкому навыку комфортного для iOS разработчиков переноса приложения на Android с сохранением 80-90% логики. Использованию кодогенерации, способу развивать себя как T-shaped мобайл инженера.

Вы научитесь:
✔ применять GCD и решать проблемы многозадачности,
✔ работать с протоколами Sequence и Collection,
✔ использовать в проектах структуры данных, Generic Type, Associated Types и техники Type Erasure, PATs (Protocol with Associated Types)
✔ грамотно работать с различными способами хранения данных (Core Data, Realm, Keychain, Cache),
✔ применять Dependency Injection (DI) и модуляризации приложений для более комфортной командной разработки и покрытия тестами;
✔ на практике изучите все плюсы и минусы известных методологий, подходов и парадигм (Protocol Oriented Programming, ООП, Reactive Programming).


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

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

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

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



После обучения
Выпускники на профессиональном уровне смогут проектировать сложные UI-компоненты и оптимизировать их производительность, разрабатывать клиент-серверные приложения и оффлайн-режим работы, писать тестируемый unit-тестами код и, конечно, успевать писать тесты.
Всё о курсе «iOS Разработчик. Продвинутый курс v 2.0», 20 ноября в 20:00
День Открытых Дверей — отличная возможность узнать подробнее о программе курса, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников после обучения. Также преподаватель расскажет о своём профессиональном опыте и ответит на вопросы участников. Поэтому если есть вопрос, запишитесь на онлайн-трансляцию и задайте его в прямом эфире!
Ведет
Ексей
Пантелеев
Предыдущий день открытых дверей
Swift is new C
Ексей Пантелеев
Преподаватель курса
Swift is new C
Ексей Пантелеев
Преподаватель курса
Преподаватели
Ексей Пантелеев
Head Of Mobile (Новые облачные технологии)
Алексей Кудрявцев
iOS performance engineer в Avito
Константин Савялов
Senior IOS-разработчик в «Газпром-Медиа Радио»
Кирилл Володин
TeamLead iOS в «Финансовой корпорации Открытие»
Алексей Соболевский
iOS-разработчик в Яндекс
Работает программистом с 2002 года, суммарный опыт программирования — 17 лет. Имеет большой опыт разработки на С/С++, C#, Java, JS, Swift.

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

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

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

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

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

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

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

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

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

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

Преподаватель
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 место по мобильной разработке.

Преподаватель
Окончил Кемеровский государственный университет по специальности «Преподаватель-лингвист». В 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.

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

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

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

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

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

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

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

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

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

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

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

Преподаватель
Кирилл Володин
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 место по мобильной разработке.

Преподаватель
Алексей Соболевский
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.

Преподаватель
Необходимые знания

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

Возникающие вопросы по материалам лекций, домашним заданиям и по выпускному проекту можно задавать преподавателям в Slack или во время вебинаров. Курс длится 5 месяцев, финальный месяц отводится для выполнения проектной работы, «досдачи» домашних заданий и вопросов преподавателям. Выполнение проектной работы помогает усвоению практических навыков, а тема проекта отдельно выносится в сертификат. Во время работы над проектом студенты получают консультации и обратную связь от преподавателей в Slack группы и на проектных занятиях.
Программа обучения
Модуль 1
SwiftUI и основы Combine
Модуль 2
Современная архитектура мобильных приложений
Модуль 3
Foundation без сторонних фреймвоков и Swift 5 Standard Library
Модуль 4
Многозадачность
Модуль 5
Networking и хранение данных
Модуль 6
Создание приложений для watchOS, tvOS, перенос приложений с помощью Mac Catalyst
Модуль 7
Мультиплатформенная разработка, кодогенерация, перенос приложения на Android
Модуль 8
Организация разработки
Модуль 9
Проектная работа
SwiftUI и основы Combine
В этом модуле мы изучим внутренности UIKit, его архитектурные плюсы и недочеты. Научимся отображать комплексные данные. Оптимизировать рендеринг UI компонентов. Попрактикуемся в сборке интерфейсов корректно работающих на всех вариациях SizeClasses и анимации.
Тема 1: Проектируем UI декларативно с SwiftUI. В чем отличия UIKit и SwiftUI
– Возможности и ограничения SwiftUI
– Property Wrappers: @State, @Binding, @ObservedObject и ObservableObject, @EnvironmentObject, @Environment
– Основы Combine: @Published
– Решение организационных вопросов.
– Настройка environment: Xcode, git, scripts
28 ноября, 20:00 — 21:30
Домашние задания: 1
1 Создание каркаса приложения
Цель: Студент 1. будет целостно понимать стек UIKit/UIStoryboard 2. получит умение сборки иерархии экранов в Storyboard 3. научится создавать полноценные кастомные компоненты 4. получит умение использовать Storyboard Reference
Тема 2: Life cycles, Responder Chain, SceneDelegate, Hosting ViewControllers
— Life cycle приложения
— UIResponder
— SceneDelegate
— Использование стека UINavigationController со SwiftUI
— Hosting ViewControllers и зачем они
3 декабря, 20:00 — 21:30
Домашние задания: 1
1 Добавление в прототип приложения ViewControllerLifecycleBehavior
Цель: – Практически изучить App Life Cycle для использования это в сохранении и восстановлении данных – Научится использовать View controller lifecycle behaviors для того чтобы контролировать экран на каждой стадии – Научимся модифицировать NavigationController стек, для нелинейных переходов в приложениии
Тема 3: Использование NavigationView, TabView, ScrollView и продвинутая работа с UIScrollView
– Особенности навигации в SwiftUI
– Кейсы использования ScrollView в SwiftUI
– Бесконечный скроллинг
– Устройство UIScollView и что такое контейнеры в UIKit
5 декабря, 20:00 — 21:30
Тема 4: Отображение структурированных данных, List, пейджинг, кастомные компоненты на UIViewRepresentable
– Использование List в SwiftUI
– Реализация пейджинга для List
– Создание кастомных компонентов с UIViewRepresentable и Coordinator
10 декабря, 20:00 — 21:30
Домашние задания: 1
1 Реализация коллекции таймеров на UICollectionView
Цель: – Студент научится использовать несколько layout для UICollectionView и переключать их – Получит умение создавать реиспользуемые ячейки и контролировать в них состояние – Прокачает навык решения проблем состояний
Тема 5: Создание кастомных Shape, SwiftUI Drawing and Animation API
– Разница CoreGraphics и Drawing API SwiftUI
– Создание кастомных фигур на Drawing API SwiftUI
– Анимация интерфейса в SwiftUI
17 декабря, 20:00 — 21:30
Домашние задания: 1
1 Создание анимированный диаграммы на CoreGraphics
Цель: — Студент научится работать с CALayer и понимать систему координат используемую в CoreGraphics — Узнает как компоновать анимации — Сможет создавать графику с помощью CoreGraphics
Современная архитектура мобильных приложений
MVC, MVP, MVI, MVVM, VIPER, RIBs, MOVVER, YARCH и что дальше? Архитектуры множатся, проблемы остаются те же. Научимся целевому выбору архитектурных паттернов и попрактикуемся в проектировании.
Тема 1: MVP, MVCS, MVVM, архитектурные паттерны, модуляризация, Архитектурные Rx паттерны
— MV(X) архитектурные паттерны
— Модуляризация приложения, способы: Frameworks, Cocoapods, JSCore, SPM
— Архитектурные Rx паттерны
14 января, 20:00 — 21:30
Домашние задания: 1
1 Создания каркаса для модуляризированного приложения
Тема 2: Современные паттерны проектирования, принцип SOLID и его целесообразное применение. Принципы GRASP
— SOLID и как получить от него пользу
— Другие принципы: KISS, DRY/DIE, YAGNI, BDUF, SOC
— Необходимые паттерны для сегодняшней мобильной разработки: Adapter, Memento, Observer, Strategy, Factory, Command, Composite, Iterator, Mediator, Proxy, Template Method, Singleton и где они приненимы на iOS
9 января, 20:00 — 21:30
Тема 3: Dependency Injection, SOA, слоистая архитектура. Protocol Oriented Programming (POP)
— Inversion of Control паттерн
— ServiceLocator и инжектинг
— Разделение архитектуры на слои и что это дает
– Protocol Oriented Programming (POP)
– Type constraints
21 января, 20:00 — 21:30
Домашние задания: 1
1 Реализация Service Locator и Dependency Injection и изолированности слоев в приложении
Тема 4: Связывание разных частей приложения Observing, Signals, Callbacks. PATs (Protocol with Associated Types)
— Observing и broadcasting, нужен ли нам KVO
— Плюсы и минусы Delegation, виды делегатов
— Callbacks
— Signals ans Slots и причем здесь Rx
– PATs (Protocol with Associated Types)
23 января, 20:00 — 21:30
Foundation без сторонних фреймвоков и Swift 5 Standard Library
Загрузим в мозг стройную модель Statements, Expressions и Declaration языка Swift, и попрактикуемся в их использовании. Научимся использовать все возможности String. Научимся управлять "сахарностью" Swift и поймем, что многие библиотеки в проекте вам просто не нужны.
Тема 1: Необычная система типов Swift, структуры данных, Generics
— Теория типов и Compound и Named типы
— Метатип и вложенные типы
— Protocol Composition
— Generics
— Создание кастомных структур данных
19 декабря, 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
— Асимпотический анализ встроенных и кастомных структур данных
24 декабря, 20:00 — 21:30
Домашние задания: 1
1 Реализация механизма тестирования алгоритмов на производительность и отображения результатов
Цель: Вы научитесь создавать кастомные структуры данных на основе протоколов Sequence и IteratorProtocol кастомные структуры данных и решать с помощью них реальные задачи в приложениях
Тема 3: Использование всей мощи String, Literals vs. UnicodeScalar, UTF-16
— Сравнение суффиксов и префиксов и другие способы сравнения строк
— Работа с utf8 и utf16 представлениями
— Ипользование подстрок и Ranges, StringProtocol
— Regex
26 декабря, 20:00 — 21:30
Домашние задания: 1
1 Продвинутая локализация приложения на несколько языков
Тема 4: Региональные форматы и локализация iOS приложения
— Парсинг и представление телефонных номеров
— Форматирование дат согласно региону и локали, POSIX спецификация
— Работа с единицами измерения и валютами
— Корректная локализация приложения на несколько языков и регионов
31 декабря, 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)
2 января, 20:00 — 21:30
Домашние задания: 1
1 Создание 3х реализаций расчета и отображения и вывод результатов на диаграмму
Тема 6: Компилятор LLVM, AST, создание собственных операторов
— Как работает LLVM: SIL, IR
— Как некоторые типы представлены в SIL и для чего это нужно знать
— Особенности и хитрости компиляции
— Перезагрузка и создание операторов
7 января, 20:00 — 21:30
Домашние задания: 1
1 Проектирование и реализация своей собственной структуры данных и оценка ее эффективности
Многозадачность
Попрактикуемся в использовании последовательных (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
28 января, 20:00 — 21:30
Домашние задания: 1
1 Реализация асинхронного выполнения задач и оценка эффективности подхода
Тема 2: Внутренности GCD(libdispatch), OperationQueue
— Плюсы и минусы OperationQueue
— Внутренности libdispatch: пул тредов, continuation, QoS и как зная это лучше использовать очереди
30 января, 20:00 — 21:30
Тема 3: RunLoop & POSIX Threads, Инструменты синхронизации, Lock, Mutex
— RunLoop и чем сегодня он может нам быть полезен
— pthreads
— Виды локов: NSLock, NSRecursiveLock, Spinlock, Mutex, Semaphore
— Dispatch Barriers
— Trampoline техника
4 февраля, 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
6 февраля, 20:00 — 21:30
Тема 2: Когда использовать Files, чистый SQLite, способы кеширования
— Виды кеширования
— SQLite и другие DB* альтернативы
— NoSQL
— Files и File System
11 февраля, 20:00 — 21:30
Домашние задания: 1
1 Имплементация сериализации и сохранения данных на backend
Тема 3: CoreData — основные стратегии использования
— NSManagedObject, NSPersistentStoreCoordinator, NSManagedObjectContext
— NSPersistentContainer
— Модель данных
— CRUD на Core Data
13 февраля, 20:00 — 21:30
Тема 4: Realm
— Плюсы и минусы Realm
— Модель данных на Realm
— Realm Browser
— CRUD на Realm
18 февраля, 20:00 — 21:30
Домашние задания: 1
1 Реализация поддержки оффлайн режима в приложении
Создание приложений для watchOS, tvOS, перенос приложений с помощью Mac Catalyst
Тема 1: watchOS
— Отличия SwiftUI для watchOS
— Создание приложения для Apple Watch
— Интеграция c iOS приложением
12 декабря, 20:00 — 21:30
Тема 2: tvOS
— Отличия SwiftUI для tvOS
— Создание приложения для Apple TV
16 января, 20:00 — 21:30
Тема 3: iPadOS, Mac Catalyst, перенос приложения на macOS
— Нюансы SwiftUI для iPadOS/macOS
— Перенос приложения на macOS
27 февраля, 20:00 — 21:30
Мультиплатформенная разработка, кодогенерация, перенос приложения на Android
Тема 1: Мета-программирование на чистый Swift и Kotlin и внедрение кодогенерации
— Основы метапрограммирования
— OpenAPI
— Sourcery
20 февраля, 20:00 — 21:30
Тема 2: Виды нативной мультиплатформы: Pure Swift + Pure Kotlin, общее ядро на Kotlin Multiplatform
— Android Studio & IntelliJ IDEA
— Обзор Kotlin Multiplatform и целесообразность общего ядра
— Разработка Pure Swift + Pure Kotlin
25 февраля, 20:00 — 21:30
Домашние задания: 1
1 Реализация каркаса приложения используя декларативный подход и Rx
Тема 3: Одновременная реализация фич на iOS + Android. Необходимый tool-set
— Как Swift разработчику писать на Kotlin
— SwiftUI + Jetpack Compose
— Combine + RxAndroid/RxKotlin/RxJava
3 марта, 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
5 марта, 20:00 — 21:30
Тема 2: Git-flow, TBD, автоматизизация workflow
— Продвинутое использование git
— Фича, хотфикс, релизный цикл, master ветка
— Использование комманд git-flow
— Trunk Based Development и ветки для вич
10 марта, 20:00 — 21:30
Домашние задания: 1
1 Покрытие приложения юнит-тестами
Тема 3: Как правильно написать резюме и развивать hard-skills
— Почему важно корректно писать резюме
— Как выбирать работодателя чтобы развивать свой hard-skills
— Какие бывают работодатели
— Какие скрытые критерии отбора используются
12 марта, 20:00 — 21:30
Домашние задания: 1
1 Написание работающего резюме
Проектная работа
На основе умений и знаний полученных в курсе студент выбирает какой проект будет реализовывать. С нашей стороны будет помощь и наставничество в реализации проекта. Также нами будет предложен экспертный список «Чего не хватает в AppStore» из небольших и средних программ, где вы бы могли себя проявить.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.
Общая стоимость
50 000 ₽ 35 000 ₽
В месяц: 12 500 ₽
В кредит: ₽ в месяц
Продолжительность
5 месяцев
Начало занятий
28 ноября