iOS Developer от Otus
Программа курса
Ознакомьтесь с программой курса «iOS Developer» от Otus
1 ступень
Введение в курс
Тема 1: Настройка XCode и основы мобильной разработки
Основы SWIFT
Тема 1: Playground, Типы данных, кортежи, опционалы Тема 2: Коллекции (массивы, словари, множества) Тема 3: Циклы, ветвление Тема 4: Классы Тема 5: Групповая менторская консультация Тема 6: Структуры Тема 7: Перечисления Тема 8: Функции, замыкания Тема 9: Менеджмент памяти в swift (ARC) Тема 10: Групповая менторская консультация Тема 11: ООП Тема 12: Q&A
Интерфейс
Тема 1: UIView. Изучаем базовое представление в UIKit Тема 2: UIViewController Тема 3: TableView, CollectionView Тема 4: Переходы и навигация в приложении Тема 5: Autolayout в iOS. Constraints Тема 6: Групповая менторская консультация Тема 7: UITextField и работа с клавиатурой в iOS Тема 8: Введение в SwiftUI Тема 9: Q&A
Хранение данных
Тема 1: Основы работы с git Тема 2: Групповая менторская консультация Тема 3: FileManager Тема 4: UserDefaults Тема 5: CoreData
Сеть
Тема 1: URL, URLRequest, URLSession, URLSessionDelegate Тема 2: Создание сетевого слоя, ResultType Тема 3: Codable, DynamicJSON
Популярные библиотеки
Тема 1: Популярные решения с открытым исходным кодом
Управление потоками
Тема 1: GCD Тема 2: Operation, OperationQueue
Шаблоны проектирования
Тема 1: Порождающие паттерны Тема 2: Структурные паттерны Тема 3: Поведенческие паттерны Тема 4: Групповая менторская консультация
Архитектура приложений
Тема 1: SOLID, SOA, MVC, MVVM Тема 2: Протоколы, делегаты Тема 3: CleanSwift, VIPER
Обработка исключений и сбоев
Тема 1: Xcode Instruments Тема 2: Crachlytics
Проектный модуль. Сдача проектов
Тема 1: Публикация в AppStore Тема 2: Групповая менторская консультация Тема 3: Консультация по проектным работам Тема 4: Защита проектных работ
2 ступень
SwiftUI и основы Combine
Тема 1: Проектируем UI декларативно с SwiftUI. В чем отличия UIKit и SwiftUI Тема 2: SwiftUI List, List с кастомным лейаутом, Hosting ViewControllers Тема 3: Использование NavigationView, TabView. Нативная навигация + Создание собственного стека Навигации в случаях, где недостаточно нативной Тема 4: Создание кастомных Shape, SwiftUI Drawing and Animation API Тема 5: Отображение структурированных данных, List, пейджинг, кастомные компоненты на UIViewRepresentable
Современная архитектура мобильных приложений
Тема 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 принципы.
Foundation без сторонних фреймвоков и Swift 5 Standard Library
Тема 1: Swift Runtime, компилятор LLVM, продвинутая отладка с помощью LLDB, скриптинг Тема 2: Sequences и коллекции, асимптотический анализ: O(1), O(N), O(N*log(N)), O(n^2) Тема 3: String: устройство, конвертация с другими типами, регулярные выражения Swift 5.7 Тема 4: Поддержка многоязычности: локализация строк, кодогенерация и сервисы переводов. Региональные отличия: переводы дат, величин, оцифровывание текста»
Многозадачность
Тема 1: Передача данных, Transferable протокол, Bluetooth Тема 2: Проблемы многозадачности и способы их решения, GCD Тема 3: Проблемы многозадачности, GCD(libdispatch), OperationQueue Тема 4: Async/Await, Tasks, Groups Тема 5: Actor, @MainActor, Global actors, Distributed actor (пример по сокетам)
Networking и хранение данных
Тема 1: GraphQL, кодогенерация, отправка и прием сообщений Тема 2: gRPC, кодогенерация, отправка и прием сообщений Тема 3: Socket.io, WebSocket и другие сокеты для чатов и мгновенных обновлений Тема 4: SQLite, способы кеширования, Files, Сравнение CoreData и Realm Тема 5: Безопасность: AppSecurity, Keychain и обфускация API ключей, SSL Pinning
Создание приложений для Apple Watch, TV, Mac
Тема 1: Виджеты, AppClips Тема 2: watchOS Тема 3: tvOS Тема 4: Shortcuts и Siri интеграция с приложением
CoreML и Vision, нейронные сети и машинное обучение
Тема 1: CoreML, CreateML, Vision использование обученных моделей нейронных сетей Тема 2: Обработка видеопотока с помощью CoreML в режиме реального времени c AVFoundation, CoreImage и Metal Тема 3: ARKit и RealityKit, LiDAR датчик
Мультиплатформенная разработка: перенос на Android, Vulkan/Metal
Тема 1: Мультиплатформа для Rich Media: Metal и Vulkan, разработки игр, Video/Image процессинг Тема 2: Одновременная реализация фич на iOS + Android. Необходимый tool-set Тема 3: Jetpack Compose
Организация разработки
Тема 1: Тестирование кода XCTest, UITest, fastlane и CI Тема 2: Как правильно написать резюме и развивать hard-skills
Проектная работа
Тема 1: Написание приложения с нуля Тема 2: Консультация по проектам и домашним заданиям Тема 3: Защита проектных работ
- Трудоустройство
- Помощь с трудоустройством
- Город
- Онлайн
- Формат обучения
- Онлайн
- Практика
- Задания с проверкой
- Сертификат
- Есть
- Инструменты на курсе
-
SWIFTXcode
Преподаватели-эксперты. Педагоги делятся актуальными знаниями и реальными кейсами, востребованными в современной IT-индустрии.
Уровень подготовки неважен. В онлайн-школе предусмотрены программы 3-х уровней сложности для начинающих и профи.
Удобный интерфейс. Сайт школы построен таким образом, что любой сможет с лёгкостью в нём разобраться.
Обратная связь. Кураторы и педагоги 24/7 помогают справляться студентам с возникающими сложностями.
Высокая стоимость курсов. Хорошее и качественное образование не может стоить дёшево.
Навязанные рекламные рассылки. Спам от онлайн-школы иногда вызывает лёгкое неудобство.
Взгляните, что студенты и выпускники говорят про Otus
Для меня принять решение об обучении на курсе по языку Java было довольно просто, достаточно было посмотреть на преподавателя и структуру курса, также огромным плюсом было увидеть в партнерах Otus.ru компанию, в которой я хотел работать. Очень важно, что перед началом курса прово...
После прохождения курса я приобрел, во-первых, понимание того как python устроен и работает вплоть до погружения на уровень кода интерпретатора, что собственно, помогает уяснить с какими нюансами можно будет столкнуться при использовании языка в целом (что полезно для проектирова...