iOS Developer. Professional
Вся мощь Swift для развития профессиональных навыков уровня Middle/Senior iOS Developer.
27 ноября
Professional
5 месяцев
Онлайн
Пн/Ср 20:00 Мск
Перейдите на новый уровень разработки
- Изучите актуальный стек технологий для современного iOS-разработчика: SwiftUI, Protocol Oriented Programming, Actor и async/await, CoreML, ARKit и RealityKit и др.
- Создадите свой аналог Pinterest, TikTok, Room Planner, VSCO, Strava или Canva в рамках разработки индивидуальной проектной работы, которая пополнит ваше портфолио
- Общение напрямую с преподавателями на лекциях и в 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-специалистом
- Получите рекомендации, как искать работу, и советы по прохождению собеседования
iOS Developer
Работодатели курса
Формат обучения
2 занятия по 2 ак. часа в неделю. Доступ к записям и материалам остается у вас навсегда
Домашние задания + проектная работа, которая усилит ваше портфолио
Общайтесь с преподавателями голосом на вебинарах и в Telegram-чате
Программа
SwiftUI и основы Combine
В этом модуле мы изучим внутренности UIKit, его архитектурные плюсы и недочеты. Научимся отображать комплексные данные. Оптимизировать рендеринг UI компонентов. Попрактикуемся в сборке интерфейсов корректно работающих на всех вариациях Size Classes и анимации.
Тема 1: Проектируем UI декларативно с SwiftUI. В чем отличия UIKit и SwiftUI
Тема 2: SwiftUI List, List с кастомным лейаутом, Hosting ViewControllers
Тема 3: Создание кастомных Shape, SwiftUI Drawing and Animation API
Тема 4: Использование NavigationView, TabView. Нативная навигация, бекпорты и фреймворки для поддержки всех функций
Тема 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
Тема 5: Круглый стол
CoreML и Vision, нейронные сети и машинное обучение
Научимся внедрять в приложение обученные модели на нейронных сетях. Также разберемся как самому получить модель с помощью AutoML Vision.
Тема 1: CoreML, CreateML, использование обученных моделей нейронных сетей
Тема 2: Обработка видеопотока с помощью CoreML в режиме реального времени c AVFoundation, CoreImage и Metal
Тема 3: ARKit и RealityKit, LiDAR датчик
Тема 4: AI инструменты iOS 18: Vision, Neural Engine
Networking и хранение данных
Познакомимся со свежим фреймвоком Network для iOS. Будем использовать Codable для легкой серилизации и десириализации данных. Изучим подходы к хранению данных в приложении. Потренируемся использовать Core Data и Realm, и будем понимать когда какое хранилище использовать.
Тема 1: Передача данных, Transferable протокол, Bluetooth
Тема 2: gRPC, кодогенерация, отправка и прием сообщений
Тема 3: Socket.io, WebSocket и другие сокеты для чатов и мгновенных обновлений, APNs
Тема 4: SwiftData и CloudKit
Тема 5: Безопасность: AppSecurity, Keychain и обфускация API ключей, SSL Pinning
Создание приложений для Apple Watch, TV, Mac
Потренируемся собирать мультиплтаформу средствами Apple. Разберемся в особенность разработки под watchOS, tvOS, macOS и iPadOS. Будем использовать преимущества SwiftUI для мультиплатформы.
Тема 1: Виджеты, AppClips
Тема 2: watchOS
Тема 3: Shortcuts и Siri интеграция с приложением
Тема 4: tvOS
Тема 5: visionOS
Тема 6: Круглый стол
Мультиплатформенная разработка: перенос на 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: Jetpack Compose
Тема 3: Одновременная реализация фич на iOS + Android. Необходимый tool-set
Организация разработки
Немного познакомимся с теорией тестирования, напишем XCTest и UITest, узнаем как правильно проектировать тестируемый код. Изучим как настраивать Continuous Integration (CI) и причем здесь git и git-flow. Также научимся писать работающие резюме и то, что не говорят на собеседованиях, но используют.
Тема 1: Тестирование кода XCTest, UITest, fastlane и CI
Тема 2: Как правильно написать резюме и развивать hard-skills
Проектная работа
На основе умений и знаний полученных в курсе студент выбирает какой проект будет реализовывать. С нашей стороны будет помощь и наставничество в реализации проекта. Также нами будет предложен экспертный список «Чего не хватает в AppStore» из небольших и средних программ, где вы бы могли себя проявить. Проект может помочь в трудоустройстве.
Тема 1: Написание приложения с нуля
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Выпускной проект
На основе умений и знаний полученных в курсе студент выбирает какой проект будет реализовывать. С нашей стороны будет помощь и наставничество в реализации проекта. Также нами будет предложен экспертный список «Чего не хватает в AppStore» из небольших и средних программ, где вы бы могли себя проявить.
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Прошедшие
мероприятия
Возможность пройти вступительное тестирование повторно появится только через 3 дня
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Отзывы
Сертификат о прохождении курса
OTUS осуществляет лицензированную образовательную деятельность.
В конце обучения вы получите сертификат OTUS о прохождении курса
После обучения:
- заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров и презентации к занятиям
- сохраните пример разработанного приложения
- получите сертификат о прохождении курса
iOS Developer. Professional
Полная стоимость
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Пройдите тестирование и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно