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

Курсы

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

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

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

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

5 месяцев

Начало

28 ноября

Занятия

Чт 20:00, Вт 20:00

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

50 000 ₽

В месяц

12 500 ₽

В кредит:

12500 ₽ в месяц

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

Программа создана специально для iOS Developers с опытом работы в сфере разработки мобильных iOS-приложений от 1 года и более. Студенты усовершенствуют свои навыки и компетенции, а также получaт грамотное и целостное понимание 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) и модуляризации приложений для более комфортной командной разработки и покрытия тестами;
✔ на практике изучить все плюсы и минусы известных методологий, подходов и парадигм (Protocol Oriented Programming, ООП, Reactive Programming).


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

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

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

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



После обучения
Выпускники на профессиональном уровне смогут проектировать сложные UI-компоненты и оптимизировать их производительность, разрабатывать клиент-серверные приложения и оффлайн-режим работы, писать тестируемый unit-тестами код и, конечно, успевать писать тесты.
Практическое применение SwiftUi, 12 ноября в 20:00
Swift UI — новый framework, от Apple, предназначенный для декларативного описания UI в коде.

В прямом эфире мы разработаем полноценное приложение на SwiftUi. В процессе разработки изучим, как создавать современные интерфейсы на SwiftUi. И чем он лучше UIKit.
Ведет
Алексей
Соболевский
Предыдущий открытый вебинар
Перенос приложения с iOS на Android: SwiftUI & Jetpack Compose + Codegen, 13 ноября в 20:00
Вы узнаете о комфортном для iOS разработчиков способе переноса приложения на Android с сохранением 80-90% логики. Это достигается за счет синтаксической похожести, мультипарадигменности Swift и Kotlin и кодогенерации. Расскажу, как развивать себя как T-shaped мобайл инженера, и покажу, как программировать одновременно чистый нейтив на обе мобильные платформы.
Ексей
Пантелеев
Предыдущий открытый вебинар
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 часов. Мы рекомендуем выполнять самостоятельную работу, так как это поможет качественно освоить все изучаемые технологии на практике с поддержкой и обратной связью преподавателей-экспертов.

Возникающие вопросы по материалам лекций, домашним заданиям и по выпускному проекту можно задавать преподавателям в 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» из небольших и средних программ, где вы бы могли себя проявить.
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Практическое применение SwiftUI
Алексей Соболевский
День открытых дверей
20 августа в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование
После обучения вы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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