Разработчик iOS: практическое применение Swift 5, работа в Xсode и Git
Корпоративное обучение IT-специалистов для юр. лиц
Развивайте свой бизнес через профессиональное обучение сотрудников. Получите персональный план!
Подробнее

Курсы

Программирование
Разработчик Java
-20%
Fullstack разработчик JavaScript Архитектор высоких нагрузок Android-разработчик. Продвинутый курс
-20%
Android-разработчик. Базовый курс
-20%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-20%
Алгоритмы для разработчиков
-20%
Agile Project Manager в IT
-20%
Разработчик на Spring Framework
-20%
iOS Разработчик. Продвинутый курс v 2.0.
-10%
PostgreSQL
-10%
Супер - интенсив по паттернам проектирования Vue.js разработчик
-26%
Разработчик C++ Web-разработчик на Python AWS для разработчиков Cloud Solution Architecture CI/CD на AWS, Azure и Gitlab
Специализации Курсы в разработке Подготовительные курсы
+7 499 110-61-65
Специальная цена

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

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

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

5 месяцев

Начало

27 мая

Занятия

Ср 20:00, Пн 20:00

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

100 000 ₽ 90 000 ₽

В месяц

22 500 ₽

В кредит:

22500 ₽ в месяц

Хочу дешевле
Общая стоимость
100 000 ₽ 90 000 ₽
В месяц: 22 500 ₽
В кредит: 90000 ₽
в месяц
Продолжительность
5 месяцев, 4 академ. часа в неделю
Ср 20:00, Пн 20:00
Начало занятий
27 мая
Что даст вам этот курс

Для кого
Программа создана специально для 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-тестами код и, конечно, успевать писать тесты.
Swift is new C
Ексей Пантелеев
Преподаватель курса
Swift is new C
Ексей Пантелеев
Преподаватель курса
Преподаватели
Ексей Пантелеев
Head Of Mobile (Новые облачные технологии)
Алексей Соболевский
iOS-разработчик в Яндекс
Алексей Кудрявцев
iOS performance engineer в Avito
Кирилл Володин
TeamLead iOS в «Финансовой корпорации Открытие»
Алексей Киселев
Senior iOS Developer в Headhunter Group
Константин Савялов
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 место по мобильной разработке.

Преподаватель
Практикующий Senior iOS Developer с опытом управления командой разработчиков в качестве Lead iOS Developer. В программировании более 10 лет.

Начинал с .NET в области веб-приложений, получил статус MCPD. При развитии мобильного направления переключился на iOS-разработку. В iOS начинал с языка Objective-C с использованием MRC (pre-ARC). Последние 3 года старается использовать только Swift.

Работал в таких компаниях, как Fuse8, Humanworld.info, IDScan.net, ООО «КРИЭЙТ», 2can, OZON.travel, Mamba и других. Владеет широким спектром профессиональных навыков: Swift, Objective-C, JavaScript, HTML, CSS, C#, ASP.Net, ADO.Net, MS SQL Server, SQLite и пр.

Окончил Челябинский государственный университет по специализации «Радиофизика и компьютерная электроника».

Преподаватель
Окончил Ереванский государственный университет в 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 Developer в Headhunter Group
Практикующий Senior iOS Developer с опытом управления командой разработчиков в качестве Lead iOS Developer. В программировании более 10 лет.

Начинал с .NET в области веб-приложений, получил статус MCPD. При развитии мобильного направления переключился на iOS-разработку. В iOS начинал с языка Objective-C с использованием MRC (pre-ARC). Последние 3 года старается использовать только Swift.

Работал в таких компаниях, как Fuse8, Humanworld.info, IDScan.net, ООО «КРИЭЙТ», 2can, OZON.travel, Mamba и других. Владеет широким спектром профессиональных навыков: Swift, Objective-C, JavaScript, HTML, CSS, C#, ASP.Net, ADO.Net, MS SQL Server, SQLite и пр.

Окончил Челябинский государственный университет по специализации «Радиофизика и компьютерная электроника».

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

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

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

Преподаватель
Отзывы
2
Светлана
Лобан
Спасибо за курс и мотивацию программировать не только на работе, но и после работы :)
Читать целиком
Алексей
Хитров
Занятия понравились, почти все проходили интересно. Многое зависит от умения преподавателя вести онлайн лекцию, получалось это не у всех, есть над чем работать. Довольно большой объем знаний вкладывается в каждое занятие и требует дальнейшего самостоятельного изучения, что считаю большим плюсом. По итогу получил много новой теоретической и практической информации. Данный курс не был рассчитан на изучение Swift UI, но благодаря Ексею Пантелееву, руководителю курса, и его стремлению работать с новейшими технологиями, нам были изложены основы, дана возможность проявить себя на курсовой работе, решить возникшие вопросы.
Не понравился подход к домашнему заданию, не хватает более грамотного и точного описания, проверки проходят с запозданием. Надеюсь в будущих программах преподаватели это учтут и исправят.
Большое спасибо за курс!
Читать целиком
Светлана
Лобан
Спасибо за курс и мотивацию программировать не только на работе, но и после работы :)
Читать целиком
Алексей
Хитров
Занятия понравились, почти все проходили интересно. Многое зависит от умения преподавателя вести онлайн лекцию, получалось это не у всех, есть над чем работать. Довольно большой объем знаний вкладывается в каждое занятие и требует дальнейшего самостоятельного изучения, что считаю большим плюсом. По итогу получил много новой теоретической и практической информации. Данный курс не был рассчитан на изучение Swift UI, но благодаря Ексею Пантелееву, руководителю курса, и его стремлению работать с новейшими технологиями, нам были изложены основы, дана возможность проявить себя на курсовой работе, решить возникшие вопросы.
Не понравился подход к домашнему заданию, не хватает более грамотного и точного описания, проверки проходят с запозданием. Надеюсь в будущих программах преподаватели это учтут и исправят.
Большое спасибо за курс!
Читать целиком
Необходимые знания

– знание языка 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
после занятия студент сможет:
настроить окружение для работы на курсе и выполнения домашних заданий;
использовать Xcode;
создавать базовые интерфейсы на SwiftUI/Combine.
27 мая, 20:00 — 21:30
Домашние задания: 1
1 Создание каркаса приложения на SwiftUI
Цель: Студент 1. Будет целостно понимать навигационный стек SwiftUI/Combine 2. Получит умение сборки иерархии экранов на SwiftUI/Combine
Тема 2: Life cycles, Responder Chain, SceneDelegate, Hosting ViewControllers
после занятия студент сможет:
понимать в каком состоянии приложение;
добавлять логику на изменение состояния приложения;
будет знать как устроен UIKit и его иерархия классов;
делать навигацию в SwiftUI разными способами.
1 июня, 20:00 — 21:30
Тема 3: Использование NavigationView, TabView. Создание собственного стека Навигации
после занятия студент сможет:
Использовать NavigationView и TabView в SwiftUI;
Создавать собственный стек Навигации
Использовать Transitions
3 июня, 20:00 — 21:30
Тема 4: Отображение структурированных данных, List, пейджинг, кастомные компоненты на UIViewRepresentable
после занятия студент сможет:
правильно использовать List;
реализовывать пейджинг на SwiftUI;
кодогенерить Network слой в ДЗ;
привязывать List к реальному API с помощью кодогенерации.
8 июня, 20:00 — 21:30
Домашние задания: 1
1 Реализация пейджинга на реальном API
Цель: Список с пейджингом работающий на реальном серверном API
Тема 5: Создание кастомных Shape, SwiftUI Drawing and Animation API
после занятия студент сможет:
работать с CALayer и понимать систему координат используемую в CoreGraphics;
программно рисовать Shapes в SwiftUI;
использовать анимацию в SwiftUI.
10 июня, 20:00 — 21:30
Современная архитектура мобильных приложений
MVC, MVP, MVI, MVVM, VIPER, RIBs, MOVVER, YARCH и что дальше? Архитектуры множатся, проблемы остаются те же. Научимся целевому выбору архитектурных паттернов и попрактикуемся в проектировании.
Тема 1: Dependency Injection, SOA, слоистая архитектура. Protocol Oriented Programming (POP)
inversion of Control паттерн;
serviceLocator и инжектинг;
разделение архитектуры на слои и что это дает;
protocol Oriented Programming (POP);
type constraints.
15 июня, 20:00 — 21:30
Домашние задания: 1
1 Реализация Service Locator и Dependency Injection и изолированности слоев в приложении
Цель: Научится внедрять DI, понять плюсы подхода
Тема 2: MVP, MVCS, MVVM, архитектурные паттерны, модуляризация, Архитектурные Rx паттерны
MV(X) архитектурные паттерны;
модуляризация приложения, способы: Frameworks, Cocoapods, JSCore, SPM;
архитектурные Rx паттерны.
17 июня, 20:00 — 21:30
Домашние задания: 1
1 Создания каркаса для модуляризированного приложения
Цель: Прокачать умение делать архитектурный рефакторинг всего приложения.
Тема 3: Необычная система типов Swift, структуры данных, Generics
после занятия студент сможет:
создать кастомные структуры данных.
22 июня, 20:00 — 21:30
Тема 4: Современные паттерны проектирования, принцип SOLID и его целесообразное применение. Принципы GRASP
SOLID и как получить от него пользу;
другие принципы: KISS, DRY/DIE, YAGNI, BDUF, SOC;
необходимые паттерны для сегодняшней мобильной разработки: Adapter, Memento, Observer, Strategy, Factory, Command, Composite, Iterator, Mediator, Proxy, Template Method, Singleton и где они приненимы на iOS.
24 июня, 20:00 — 21:30
Тема 5: Связывание разных частей приложения Observing, Signals, Callbacks. PATs (Protocol with Associated Types)
observing и broadcasting, нужен ли нам KVO;
плюсы и минусы Delegation, виды делегатов;
callbacks;
sgnals ans Slots и причем здесь Rx;
PATs (Protocol with Associated Types).
29 июня, 20:00 — 21:30
Foundation без сторонних фреймвоков и Swift 5 Standard Library
Загрузим в мозг стройную модель Statements, Expressions и Declaration языка Swift, и попрактикуемся в их использовании. Научимся использовать все возможности String. Научимся управлять "сахарностью" Swift и поймем, что многие библиотеки в проекте вам просто не нужны.
Тема 1: Sequences и коллекции, асимптотический анализ: O(1), O(N), O(N*log(N)), O(n^2)
sequence и IteratorProtocol;
type-erased типы: AnySequence, AnyIterator, AnyCollection;
lazy Wrappers;
wrappers for Algorithms;
асимптотический анализ встроенных и кастомных структур данных.
1 июля, 20:00 — 21:30
Домашние задания: 1
1 Реализация механизма тестирования алгоритмов на производительность и отображения результатов
Цель: Вы научитесь создавать кастомные структуры данных на основе протоколов Sequence и IteratorProtocol кастомные структуры данных и решать с помощью них реальные задачи в приложениях
Тема 2: Использование всей мощи String, Literals vs. UnicodeScalar, UTF-16
после занятия студент сможет:
работать с utf8 и utf16 представлениями;
использовать подстрок и Ranges, StringProtocol.
6 июля, 20:00 — 21:30
Домашние задания: 1
1 Продвинутая локализация приложения на несколько языков
Тема 3: Региональные форматы и локализация iOS приложения
после занятия студент сможет:
работать с единицами измерения и валютами;
8 июля, 20:00 — 21:30
Домашние задания: 1
1 Создание ячейки с поддержкой региональной локализации
Цель: Получить умение создавать App Extension. Научиться разрабатывать поддержку в приложении нескольких региональных локалей
Тема 4: Ассоциативные типы, Type Erasure, «сахарные» типы данных, диспетчеризация вызовов в Swift 5
3 типа диспатчеризации в Swift: direct, dynamic, message;
Associated Types;
PATs и динамическая диспатчеризация;
другие способы реализации паттерна Type Erasure;
как работают типы в SIL (Swift Intermediate Language).
13 июля, 20:00 — 21:30
Домашние задания: 1
1 Создание 3х реализаций расчета и отображения и вывод результатов на диаграмму
Тема 5: Компилятор LLVM, AST, создание собственных операторов
как работает LLVM: SIL, IR;
как некоторые типы представлены в SIL и для чего это нужно знать;
особенности и хитрости компиляции;
перезагрузка и создание операторов.
15 июля, 20:00 — 21:30
Домашние задания: 1
1 Проектирование и реализация своей собственной структуры данных и оценка ее эффективности
Многозадачность
Попрактикуемся в использовании последовательных (serial) и параллельных (concurrent) очередей, в создании управлении DispatchGroup. Использовании мьютексов и семафоров и других Locks. Будем знать как решать проблемы параллельной многозадачности типа Priority inversion и другие.
Тема 1: Проблемы многозадачности и способы их решения, GCD
после занятия студент сможет:
использовать GCD: QoS, Queues, Main Queue и Main Thread.
20 июля, 20:00 — 21:30
Домашние задания: 1
1 Реализация асинхронного выполнения задач и оценка эффективности подхода
Цель: Научиться внедрять сервис очереди в существующую инфраструктуру приложение, развиваем навык рефакторинга для не-UI кода приложения
Тема 2: Внутренности GCD(libdispatch), OperationQueue
плюсы и минусы OperationQueue;
внутренности libdispatch: пул тредов, continuation, QoS и как зная это лучше использовать очереди.
22 июля, 20:00 — 21:30
Тема 3: RunLoop & POSIX Threads, Инструменты синхронизации, Lock, Mutex
runLoop и чем сегодня он может нам быть полезен;
pthreads;
виды локов: NSLock, NSRecursiveLock, Spinlock, Mutex, Semaphore;
dispatch Barriers;
trampoline техника.
27 июля, 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.
29 июля, 20:00 — 21:30
Тема 2: Когда использовать Files, чистый SQLite, способы кеширования
виды кеширования;
SQLite и другие DB* альтернативы;
NoSQL;
Files и File System.
3 августа, 20:00 — 21:30
Домашние задания: 1
1 Имплементация сериализации и сохранения данных на backend
Цель: Научится сохранять Codable структуры в файлы, реализовывать кэш
Тема 3: CoreData — основные стратегии использования
NSManagedObject, NSPersistentStoreCoordinator, NSManagedObjectContext;
NSPersistentContainer;
модель данных;
CRUD на Core Data.
5 августа, 20:00 — 21:30
Тема 4: Realm
плюсы и минусы Realm;
модель данных на Realm;
Realm Browser;
CRUD на Realm.
10 августа, 20:00 — 21:30
Домашние задания: 1
1 Реализация поддержки оффлайн режима в приложении
Цель: Создать приложение, которое будет получать данные из сети. 1 Кэширование реализовать на Realm или CoreDara. 2 Полученными данными заполнить таблицу согласно архитектурному паттерну MVC или другому
Создание приложений для watchOS, tvOS, перенос приложений с помощью Mac Catalyst
Тема 1: watchOS
после зянятия студент сможет:
создать приложение для Apple Watch.
12 августа, 20:00 — 21:30
Тема 2: tvOS
после занятия студент сможет:
создать приложение для Apple TV.
17 августа, 20:00 — 21:30
Тема 3: iPadOS, Mac Catalyst, перенос приложения на macOS
нюансы SwiftUI для iPadOS/macOS
перенос приложения на macOS
19 августа, 20:00 — 21:30
Мультиплатформенная разработка, кодогенерация, перенос приложения на Android
Тема 1: Мета-программирование на чистый Swift и Kotlin и внедрение кодогенерации
основы метапрограммирования;
OpenAPI;
Sourcery.
24 августа, 20:00 — 21:30
Тема 2: Виды нативной мультиплатформы: Pure Swift + Pure Kotlin, общее ядро на Kotlin Multiplatform
Android Studio & IntelliJ IDEA;
обзор Kotlin Multiplatform и целесообразность общего ядра;
разработка Pure Swift + Pure Kotlin.
26 августа, 20:00 — 21:30
Домашние задания: 1
1 Реализация каркаса приложения используя декларативный подход и Rx
Тема 3: Одновременная реализация фич на iOS + Android. Необходимый tool-set
как Swift разработчику писать на Kotlin;
SwiftUI + Jetpack Compose;
Combine + RxAndroid/RxKotlin/RxJava.
31 августа, 20:00 — 21:30
Домашние задания: 1
1 Создание UI слоя приложения на Rx
Организация разработки
Немного познакомимся с теорией тестирования, напишем XCTest и UITest, узнаем как правильно проектировать тестируемый код. Изучим как настраивать Continuous Integration (CI) и причем здесь git и git-flow. Также научимся писать работающие резюме и то, что не говорят на собеседованиях, но используют.
Тема 1: Тестирование кода XCTest, UITest, fastlane и CI
после занятия студент сможет:
собрать CI (Continuous Integration) на fastlane;
использовать XCTest.
2 сентября, 20:00 — 21:30
Тема 2: Git-flow, TBD, автоматизизация workflow
после занятия студент сможет:
использовать комманд git-flow.
7 сентября, 20:00 — 21:30
Домашние задания: 1
1 Покрытие приложения юнит-тестами
Тема 3: Как правильно написать резюме и развивать hard-skills
почему важно корректно писать резюме;
как выбирать работодателя чтобы развивать свой hard-skills;
какие бывают работодатели;
какие скрытые критерии отбора используются.
9 сентября, 20:00 — 21:30
Домашние задания: 1
1 Написание работающего резюме
Проектная работа
На основе умений и знаний полученных в курсе студент выбирает какой проект будет реализовывать. С нашей стороны будет помощь и наставничество в реализации проекта. Также нами будет предложен экспертный список «Чего не хватает в AppStore» из небольших и средних программ, где вы бы могли себя проявить.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.
Общая стоимость
100 000 ₽ 90 000 ₽
В месяц: 22 500 ₽
В кредит: ₽ в месяц
Продолжительность
5 месяцев
Начало занятий
27 мая
🔥 Скидки до 50% на новые супер-интенсивы!
«Тестирование игр», «Data Engineer», «Работа с протоколом BGP». Узнайте подробности в чате ➞