Мова викладання в курсі — російська. Незабаром буде доступна українська версія цього курсу.
Відеозаписи лекцій без зворотного зв'язку та участі викладача. Ви отримаєте доступ до матеріалів одразу після оплати.
Для кого
Програму створено спеціально для 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. Написання програми з нуля
Відгуки
Відгуків немає, поки що.