[OTUS] iOS Разработчик. Продвинутый курс v 2.0 Часть 1-2 [2020] [Ексей Пантелеев]

250

Вся мощь Swift 5.1 для развития профессиональных навыков уровня Middle/Senior iOS Developer

Что даст вам этот курс

Для кого:
Программа создана специально для 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).

По окончании курса вы будете:

  • уметь проектировать сложные UI-компоненты и оптимизировать их производительность;
  • делать эффективную многозадачность в iOS-приложении;
  • понимать, как не раздувать проект лишними библиотеками и максимально «выжимать» iOS SDK;
  • уметь проектировать клиент-серверное приложение и оффлайн-режим работы;
  • проектировать тестируемый unit-тестами код и, конечно, успевать писать тесты;
  • на практике прочувствует плюсы и минусы известных методологий, подходов и парадигм, таких как Protocol Oriented Programming (POP), ООП, Reactive Programming (Rx).