Язык преподавания в курсе – русский. Вскоре будет доступна украинская версия этого курса.
Видеозаписи лекций без обратной связи и участия преподавателя. Вы получите доступ к материалам сразу после оплаты.
Для кого
Программа создана специально для 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 (базовые типы, циклы, ветвление);
– опыт в разработке под IOS от 1 года;
– общее представление о Foundation (или Glibc);
– опыт работы в Xсode;
– навыки работы с Git.
Программа курса
1 SwiftUI и основы Combine
1. Проектируем UI декларативно с SwiftUI. В чем отличия UIKit и SwiftUI
2. SwiftUI List, List с кастомным лейаутом, Hosting ViewControllers
3. Использование NavigationView, TabView. Создание собственного стека Навигации
4. Отображение структурированных данных, List, пейджинг, кастомные компоненты на UIViewRepresentable
5. Создание кастомных Shape, SwiftUI Drawing and Animation API
2 Современная архитектура мобильных приложений
1. Dependency Injection, SOA, слоистая архитектура. Protocol Oriented Programming (POP)
2. MVP, MVCS, MVVM, архитектурные паттерны, модуляризация, Архитектурные Rx паттерны
3. Необычная система типов Swift, структуры данных, Generics
4. Современные паттерны проектирования, принцип SOLID и его целесообразное применение. Принципы GRASP
5. Связывание разных частей приложения Observing, Signals, Callbacks. PATs (Protocol with Associated Types)
3. Foundation без сторонних фреймвоков и Swift 5 Standard Library
1. Sequences и коллекции, асимптотический анализ: O(1), O(N), O(N*log(N)), O(n^2)
2. Использование всей мощи String, Literals vs. UnicodeScalar, UTF-16
3. Ассоциативные типы, Type Erasure, «сахарные» типы данных, диспетчеризация вызовов в Swift 5
4. Региональные форматы и локализация iOS приложения
5. Компилятор LLVM, AST, создание собственных операторов
4. Многозадачность
1. Проблемы многозадачности и способы их решения, GCD
2. Внутренности GCD(libdispatch), OperationQueue
3. RunLoop & POSIX Threads, Инструменты синхронизации, Lock, Mutex
5. Networking и хранение данных
1. Новый Networkфреймвок, URLSession, Codable
2. Когда использовать Files, чистый SQLite, способы кеширования
3. CoreData — основные стратегии использования
4. Realm
6. Создание приложений для watchOS, tvOS, перенос приложений с помощью Mac Catalyst
1. watchOS
2. tvOS
3. Кроссплатформенный код для iOS/iPadOS, watchOS, macOS, tvOS
7. Мультиплатформенная разработка, кодогенерация, перенос приложения на Android
1. Мультиплатформа для Rich Media: Metal и Vulkan, разработки игр, Video/Image процессинг
2. Jetpack Compose
3. Одновременная реализация фич на iOS + Android. Необходимый tool-set
8. Организация разработки
1. Тестирование кода XCTest, UITest, fastlane и CI
2. Git-flow, TBD, автоматизизация workflow
3. Как правильно написать резюме и развивать hardskills
9 Проектная работа
1. Написание приложения с нуля
Отзывы
Отзывов пока нет.