Мова викладання в курсі – російська. Незабаром буде доступна українська версія цього курсу.
Відеозаписи лекцій без зворотного зв’язку та участі викладача. Ви отримаєте доступ до матеріалів одразу після оплати.
Для кого
Програму створено спеціально для 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) Git-flow, TBD, автоматизація workflow 3) Git-flow. Як правильно написати резюме та розвивати hardskills
9 Проєктна робота
1. Написання додатка з нуля
Відгуки
Відгуків немає, поки що.