iOS Developer. Professional

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

27 февраля

Professional

5 месяцев

Онлайн

Вт/Пт 20:00 Мск

Перейдите на новый уровень разработки

  1. Изучите актуальный стек технологий для современного iOS-разработчика: SwiftUI, Protocol Oriented Programming, Actor и async/await, CoreML, ARKit и RealityKit и др.
  2. Создадите свой аналог Pinterest, TikTok, Room Planner, VSCO, Strava или Canva в рамках разработки индивидуальной проектной работы, которая пополнит ваше портфолио
  3. Общение напрямую с преподавателями на лекциях и в Telegram-чате, обсуждение кейсов, задач, которые стоят перед вами

Для кого этот курс?

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

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

  • знание языка Swift (базовые типы, циклы, ветвление) или другого современного языка программирования (Kotlin, C#, TypeScript, Rust);
  • опыт в разработке под iOS или Android от 1 года;
  • общее представление о Foundation (или Glibc);
  • опыт работы в Xсode или другим современным IDE;
  • навыки работы с Git.
Пройти тестирование

Особенности программы

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

Дополнительно на курсе вы научитесь

  • применять GCD, OperationQueue, Actor и async/await, решать проблемы многозадачности;
  • работать с протоколами 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);
  • использовать в приложениях CoreML, Metal, ARKit и RealityKit и LiDAR датчик;
  • синхронизировать данные через Bluetooth и интегрировать управление приложением с помощью SiriKit.

После обучения вы

На профессиональном уровне сможете проектировать сложные UI-компоненты и оптимизировать их производительность, разрабатывать клиент-серверные приложения и оффлайн-режим работы, писать тестируемый unit-тестами код и, конечно, успевать писать тесты. 

Необходимое оборудование

Для комфортного изучения технологий iOS-разработки необходим MacBook или другой компьютер на macOS.

Актуальность профессии

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

Процесс обучения

  • Обучение проходит онлайн: живые вебинары, общение с преподавателями и группой в Telegram, обратная связь от экспертов по готовым ДЗ
  • Вебинары идут дважды в неделю по 1,5 часа. Записи занятий будут доступны в личном кабинете
  • Практические домашние задания на курсе подготовлены таким образом, чтобы помочь вам не только применить знания на практике, но и помочь в реализации проектной работы
  • Вопросы по материалам лекций, ДЗ и выпускному проекту можно обсудить как на вебинарах, так и в чате группы в Telegram
  • Выполните настоящий проект, тема которого будет указана в сертификате

Эффективные навыки


Научитесь писать кроссплатформенные приложения для экосистемы Apple

Перспективы


Сможете претендовать на позицию Middle iOS Developer

Портфолио


Создадите проектную работу, которая поможет закрепить полученные знания

Трудоустройство

  • Получите помощь с оформлением резюме, портфолио и сопроводительного письма
  • Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
  • Пройдете карьерную консультацию с нашим HR-специалистом
  • Получите рекомендации, как искать работу, и советы по прохождению собеседования

Работодатели курса

Формат обучения
Интерактивные вебинары

2 занятия по 2 ак. часа в неделю. Доступ к записям и материалам остается у вас навсегда
Практика

Домашние задания + проектная работа, которая усилит ваше портфолио
Активное комьюнити

Общайтесь с преподавателями голосом на вебинарах и в Telegram-чате

Программа

SwiftUI и основы Combine

В этом модуле мы изучим внутренности UIKit, его архитектурные плюсы и недочеты. Научимся отображать комплексные данные. Оптимизировать рендеринг UI компонентов. Попрактикуемся в сборке интерфейсов корректно работающих на всех вариациях Size Classes и анимации.

Тема 1: Проектируем UI декларативно с SwiftUI. В чем отличия UIKit и SwiftUI

Тема 2: SwiftUI List, List с кастомным лейаутом, Hosting ViewControllers

Тема 3: Использование NavigationView, TabView. Нативная навигация, бекпорты и фреймворки для поддержки всех функций

Тема 4: Создание кастомных Shape, SwiftUI Drawing and Animation API

Тема 5: Отображение структурированных данных, List, пейджинг, кастомные компоненты на UIViewRepresentable, принципы HIG

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

MVC, MVP, MVI, MVVM, VIPER, RIBs, MOVVER, YARCH и что дальше? Архитектуры множатся, проблемы остаются те же. Научимся целевому выбору архитектурных паттернов и попрактикуемся в проектировании.

Тема 1: Необычная система типов Swift, структуры данных, Generics, Связывание разных частей приложения Observing, Signals, Callbacks. PATs (Protocol with Associated Types)

Тема 2: Protocol Oriented Programming (POP), SOA, модуляризация, архитектурные Rx паттерны: Flux/Redux

Тема 3: MVx, VIP, анализ архитектурных паттернов. SOLID, GRASP, Coupling/Cohesion принципы, DI.

Foundation без сторонних фреймвоков и Swift 5 Standard Library

Загрузим в мозг стройную модель Statements, Expressions и Declaration языка Swift, и попрактикуемся в их использовании. Научимся использовать все возможности String. Научимся управлять "сахарностью" Swift и поймем, что многие библиотеки в проекте вам просто не нужны.

Тема 1: Swift Runtime, компилятор LLVM, продвинутая отладка с помощью LLDB, скриптинг

Тема 2: Sequences и коллекции, асимптотический анализ: O(1), O(N), O(N*log(N)), O(n^2)

Тема 3: String: устройство, конвертация с другими типами, регулярные выражения Swift 5.7

Тема 4: Поддержка многоязычности: локализация строк, новый формат XCode 15, кодогенерация и сервисы переводов. Региональные отличия: переводы дат, величин, оцифровывание текста»

Многозадачность

Попрактикуемся в использовании последовательных (serial) и параллельных (concurrent) очередей, в создании управлении DispatchGroup, использовании мьютексов и семафоров и других Locks. Будем знать, как решать проблемы параллельной многозадачности типа Priority inversion и другие.

Тема 1: Проблемы многозадачности и способы их решения, GCD

Тема 2: Проблемы многозадачности, GCD(libdispatch), OperationQueue

Тема 3: Async/Await, Tasks, Groups

Тема 4: Actor, @MainActor, Global actors, Distributed actor (пример по сокетам)

Networking и хранение данных

Познакомимся со свежим фреймвоком Network для iOS. Будем использовать Codable для легкой серилизации и десириализации данных. Изучим подходы к хранению данных в приложении. Потренируемся использовать Core Data и Realm, и будем понимать когда какое хранилище использовать.

Тема 1: Передача данных, Transferable протокол, Bluetooth

Тема 2: GraphQL, кодогенерация, отправка и прием сообщений

Тема 3: gRPC, кодогенерация, отправка и прием сообщений

Тема 4: Socket.io, WebSocket и другие сокеты для чатов и мгновенных обновлений, APNs

Тема 5: SwiftData

Тема 6: Безопасность: AppSecurity, Keychain и обфускация API ключей, SSL Pinning

Создание приложений для Apple Watch, TV, Mac

Потренируемся собирать мультиплтаформу средствами Apple. Разберемся в особенность разработки под watchOS, tvOS, macOS и iPadOS. Будем использовать преимущества SwiftUI для мультиплатформы.

Тема 1: Виджеты, AppClips

Тема 2: watchOS

Тема 3: tvOS

Тема 4: Shortcuts и Siri интеграция с приложением

Тема 5: visionOS

CoreML и Vision, нейронные сети и машинное обучение

Научимся внедрять в приложение обученные модели на нейронных сетях. Также разберемся как самому получить модель с помощью AutoML Vision.

Тема 1: CoreML, CreateML, Vision использование обученных моделей нейронных сетей

Тема 2: Обработка видеопотока с помощью CoreML в режиме реального времени c AVFoundation, CoreImage и Metal

Тема 3: ARKit и RealityKit, LiDAR датчик

Мультиплатформенная разработка: перенос на Android, Vulkan/Metal

Разберемся с GPU программированием, как писать общий GPU код под iOS и Android. Познакомимся с аналогом SwiftUI для Android – Jetpack Compose. Научимся собирать мультиплатформенные iOS+Android приложения с помощью Kotlin Multiplatform и Kotlin 1.4

Тема 1: Мультиплатформа для Rich Media: Metal и Vulkan, разработки игр, Video/Image процессинг

Тема 2: Одновременная реализация фич на iOS + Android. Необходимый tool-set

Тема 3: Jetpack Compose

Организация разработки

Немного познакомимся с теорией тестирования, напишем XCTest и UITest, узнаем как правильно проектировать тестируемый код. Изучим как настраивать Continuous Integration (CI) и причем здесь git и git-flow. Также научимся писать работающие резюме и то, что не говорят на собеседованиях, но используют.

Тема 1: Тестирование кода XCTest, UITest, fastlane и CI

Тема 2: Как правильно написать резюме и развивать hard-skills

Проектная работа

На основе умений и знаний полученных в курсе студент выбирает какой проект будет реализовывать. С нашей стороны будет помощь и наставничество в реализации проекта. Также нами будет предложен экспертный список «Чего не хватает в AppStore» из небольших и средних программ, где вы бы могли себя проявить. Проект может помочь в трудоустройстве.

Тема 1: Написание приложения с нуля

Тема 2: Консультация по проектам и домашним заданиям

Тема 3: Защита проектных работ

Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит

Выпускной проект


На основе умений и знаний полученных в курсе студент выбирает какой проект будет реализовывать. С нашей стороны будет помощь и наставничество в реализации проекта. Также нами будет предложен экспертный список «Чего не хватает в AppStore» из небольших и средних программ, где вы бы могли себя проявить.

Преподаватели

Руководитель курса

Ексей Пантелеев

Руководитель группы разработки мобильных приложений

Новые Облачные Технологии

Анна Жаркова

Руководитель группы разработки

Usetech

Маргарита Жерихова

iOS разработчик

Alpina Digital

Евгений Салов

Николай Бакланов

Инженер-разработчик

VK

Антон Марунько

iOS Team Lead

Kupibilet

Сергей Балалаев

Руководитель мобильной разработки

Ozon

Тимур Саидов

Ярослав Магин

Старший iOS-разработчик

Лаборатория Касперского

Руслан Ахриев

Team Lead iOS Developer

ATI.SU

Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания

Прошедшие
мероприятия

Анна Жаркова
Открытый вебинар
Пишем музыкальный виджет на SwiftUI
Сергей Балалаев
Открытый вебинар
Навигация на SwiftUI
Для доступа ко всем прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 3 дня
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!

Корпоративное обучение для ваших сотрудников

Отус помогает развивать высокотехнологичные Команды. Почему нам удаётся это делать успешно:
  • Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
  • Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
  • OTUS проверяет знания студентов перед стартом обучения и после его завершения
  • Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
  • Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
  • OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год

Отзывы

Николай Бакланов

27.04.2021
Отличный курс, нацеленный на технологию SwiftUI, призывающий к ее использованию и переходу на нее. Оперативная проверка домашних работ, отличный преподавательский состав. Занятия с Ексеем каждый раз мотивировали на то, чтобы взять и начать прямо что-то делать.

Александр Хожев

13.04.2021
Один из лучших ios курсов c bleeding-edge подходами/технологиями/стеком в русскоязычном образовательном сегменте, позволил привести в порядок беспорядочно накопленные к моменту записи на него знания. Нагрузка (домашние задания) позволяет совмещать занятия с основной работой (правда лишь благодаря отсутствию дедлайнов на моем потоке), некоторые темы были "scratch-the-surface", но это и неудивительно, они настолько обширны, что сами по себе могут быть самостоятельными курсами. Тем не менее, курс стимулирует к дальнейшему профессиональному развитию, погружению в смежные области и развитию инженерного подхода к решению задач, словом, выполняет свою основную задачу (как заявлено). Рекомендую к приобретению/прослушиванию/посещению.

Анастасия Сачкова

01.10.2020
Спасибо преподавателям курса! Было полезно и интересно, конечно были и недочеты, но в совокупности плюсов и минусов, я бы посоветовала прослушать этот курс. Помогает профессионально двигаться дальше.

Александра Безносова

09.09.2020
До обучения в Otus.ru, работала в в компании сети магазинов одежды, занималась поддержкой небольшого приложения для постоянных клиентов этой сети. Я самостоятельно научилась программировать и создавать приложения для платформы iOS, мое увлечение стало работой, но так складывалось, что я всегда один единственный разработчик в компании, у меня не было команды, а мне хотелось узнать больше и расти как профессионал, книги, блоги - этого мало, я решила пройти онлайн курс «iOS Разработчик. Продвинутый курс» на Otus.ru, ознакомившись с темами занятий, нисколько не сомневалась в своем решении. И очень рада успешному их завершению, в них мне очень понравилось практические уроки, просто и понятно объясняли, казавшиеся ранее сложные темы, проверка домашних заданий, преподаватели всегда советовали верное направление в решении заданий. После окончания курса, я подтянула свой уровнь знаний, в архитектурах мобильных приложений, современных подходах в программировании и технологиях(SwiftUI, SwiftUI 2.0, Combine) и особенностях языка Swift. Теперь у меня есть сертификат, чему очень рада и теперь с гордостью могу называть себя iOS разработчик! И даже успела получить интересное предложение о работе. Благодарю за создание таких курсов, и преподавателей за их труд. Спасибо.

Sergey Vinogradov

09.09.2020
До обучения я работал уже в компании maddevs.io. Выбрав курс, хотелось изучить SwiftUI, плюс в программе были задания, которые необходимо было делать. Так же было желание найти новую работу именно в России, или получить хотя-бы рекомендацию от Отуса, поскольку это довольно проблематично сделать без гражданства, многие даже прекращали интервью, когда говорил что не гражданин РФ. Было интересно посмотреть как пишут другие люди и с чем сталкиваются, поскольку чаще всего в проекте работал в небольших командах. Понравилось что структурно проходили темы и в самом начале был хороший разбор домашних работ, давали советы как и что можно исправить. Хотелось бы добавить какое-то углубление в некоторых темах и раскрыть их более обширно(такие как Metal, fastlane, CoreML, тестирование). Так же проверять домашние работы не больше чем неделю, поскольку теряется фокус и потом вообще забываешь что ты там хотел сделать или не смог решить. Обучение дало хорошие знания по новой технологии, которую собираюсь внедрять в проекты и довести их до релиза. Так же огромное спасибо Ексею, Константину были интересные лекции и Алексею за отличный код ревью, и поддержке Отуса, помогали, отвечали, на вопросы, консультировали.

Максим Сытый

01.09.2020
Хорошая программа, охватывает много аспектов разработки, быстрое внедрение новых трендов в программу. Очень понравилось работать со SwiftUI.

Александр Краев

31.08.2020
Курс однозначно в списке рекомендуемых, первый и чуть ли не единственный русскоязычный про современный стэк разработки на SwiftUI, отдельное спасибо Алексею Пантелееву!

Евгений Дробов

02.06.2020
Спасибо за курс, было много интересных тем, получил новые навыки)

Алексей Хитров

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

Светлана Лобан

27.11.2019
Спасибо за курс и мотивацию программировать не только на работе, но и после работы :)

Сертификат о прохождении курса

OTUS осуществляет лицензированную образовательную деятельность.
В конце обучения вы получите сертификат OTUS о прохождении курса

После обучения:

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

Частые вопросы

Что, если в середине курса я не смогу продолжать обучение?
У вас есть право одного бесплатного трансфера в другую группу
Обязательно ли защищать выпускной проект?
Для получения сертификата OTUS необходимо сдать проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.
С какого момента я смогу заниматься трудоустройством?
Получить карьерную консультацию вы сможете уже в начале обучения. Остальные опции: помощь с резюме, добавление резюме в нашу базу специалистов и т.д. будут доступны после окончания обучения.
Я могу вернуть деньги?
Да, вы можете сделать возврат средств пропорционально оставшимся месяцам обучения.