План на курса

Въведение

Седмица 1: Напреднали Swift, Kotlin и Java Концепции за скриптове

  • Swift (iOS)
    • Разширени функции: затваряния, прихващане на стойности, функции от по-висок ред
    • Протоколно-ориентирано програмиране и генерици
    • Управление на паметта с ARC (автоматично преброяване на препратки)
  • Kotlin (Android)
    • Функции за разширение и Kotlin Стандартна библиотека
    • Съпрограмми за асинхронно програмиране
    • Запечатани класове, enums и разширено обработване на грешки
  • JavaСкрипт (React собствен)
    • Разширени функции на ES6+: Деструктуриране, async/await, обещания
    • Концепции за функционално програмиране в JavaScript
    • Работа с библиотеки на трети страни в React Native

Седмица 2: Архитектура на мобилно приложение и Design Patterns

  • MVVM (Model-View-ViewModel) за iOS и Android
    • Разбиране на MVVM архитектурата за iOS (Swift) и Android (Kotlin)
    • Внедряване на ViewModels и наблюдение на данни с LiveData (Android) и Combine (iOS)
    • Reactживо програмиране с RxSwift и RxKotlin
  • Архитектура, базирана на компоненти в React Native
    • Разбиране на жизнените цикли на компонентите и куките
    • Най-добри практики за управление на състояние и подпори в мащаб
    • Използване на React API за контекст за глобално управление на състоянието

Седмица 3: Концепции за напреднали Networking.

  • Networking в iOS (Swift)
    • Работа с URLSession за персонализирани мрежови заявки
    • Разширени REST API извиквания и обработка на грешки
    • Работа с кодиране и анализиране на JSON
    • Най-добри практики за защитена API комуникация (SSL фиксиране, OAuth)
  • Networking в Android (Kotlin)
    • Преоборудване за извършване на API повиквания и обработка на отговори
    • Усъвършенствани API за обработка на грешки и механизми за повторен опит
    • Използване на Gson или Moshi за анализ на JSON
    • Сигурна комуникация чрез HTTPS и OAuth удостоверяване

Седмица 4: Networking в React Роден

  • API интеграция с Axios и Fetch
    • Разширена API интеграция с Axios и Fetch
    • Стратегии за обработка на грешки и повторни опити в мрежовите заявки
    • Работа с удостоверяване (JWT, OAuth)
  • WebSockets и реално време Communication
    • Въведение в WebSockets в React Native
    • Изграждане на функции за чат или уведомяване в реално време с WebSocket връзки
    • Управление на постоянни връзки и актуализации на данни

Седмица 5: Разширени техники за запазване на данни

  • Основни данни и SQL елементи (iOS)
    • Разширени връзки на основните данни, извличане и заявки
    • Използване на SQLite директно за iOS приложения и управление на връзки към бази данни
    • Ефективна обработка на данни и оптимизация
  • Стайна устойчивост и SQLite (Android)
    • Връзки и заявки за база данни за разширени стаи
    • Управление на големи набори от данни и оптимизиране на производителността на базата данни
    • Използване на ProGuard за защита на структурите на бази данни
  • Firebase за облачно съхранение (iOS и Android)
    • Интеграция с Firebase за управление на бази данни в реално време
    • Най-добри практики за синхронизиране на локални и облачни данни

Седмица 6: Разширено състояние Management в React Роден

  • Redux за държава Management
    • Разширени Redux концепции: Middlewares, Thunks и Sagas
    • Оптимизиране Redux за производителност и мащабируемост
  • Recoil for State Management
    • Въведение в Recoil: По-гъвкава алтернатива на Redux
    • Управление на широкомащабно управление на състоянието между компоненти
    • Ефективни актуализации на състоянието и управление на атомно състояние

Седмица 7: Напреднали Animation в iOS и Android

  • iOS (Swift)
    • Ядро Animation: Анимиране на изгледи, слоеве и преходи
    • UIKit Dynamics: Създаване на базирани на физика анимации
    • Персонализирани преходи и анимации между контролери за изглед
  • Android (Kotlin)
    • MotionLayout за създаване на сложни анимации
    • TransitionManager и споделени преходи на елементи
    • Анимации на свойствата за мащабиране на изгледа, завъртане и алфа промени

Седмица 8: Animations и UI/UX в React Native

  • React Роден Animationс
    • Използване на Animated API и Reanimated за сложни анимации
    • Внедряване на жестове и взаимодействия с помощта на React Native Gesture Handler
    • Най-добри практики за ефективни анимации в React Native
  • Създаване на потребителски UI компоненти
    • Изграждане на многократно използвани и адаптивни компоненти в React Native
    • Внедряване на адаптивен дизайн с медийни заявки и flexbox

Седмица 9: Интегриране на собствени модули и функции на устройството

  • Accessизграждане на собствени функции на устройството
    • Разширено използване на камерата, геолокация, Bluetooth и сензори
    • Създаване на естествени модули в Swift и Kotlin за React собствена интеграция
    • Интегриране на ARKit за добавена реалност в iOS
    • Интегриране на CameraX и ARCore за добавена реалност в Android
  • React Native Bridge и Native модули
    • Изграждане на персонализирани собствени модули за интегриране със специфична за платформата функционалност
    • Създаване на Java и Swift мостове за React собствени приложения
    • Най-добри практики за управление на нативния код в междуплатформена среда

Седмица 10: Тестване и отстраняване на грешки в разширени приложения

  • Тестване в iOS (Swift)
    • Писане на модулни тестове с XCTest и UI тестове за iOS
    • Използване на Xcode инструменти за профилиране на производителността и изтичане на памет
    • Непрекъсната интеграция и работни потоци за тестване с Jenkins и CircleCI
  • Тестване в Android (Kotlin)
    • Разширено тестване на JUnit и Espresso за Android приложения
    • Профилиране на ефективността и идентифициране на тесните места с помощта на Android Profiler
    • Използване на Firebase Test Lab за автоматизирано тестване на множество устройства
  • React Родно тестване
    • Единично тестване с Jest и компонентно тестване с Enzyme
    • Тестване от край до край с помощта на Detox и автоматизирани тестови настройки
    • Профилиране на производителността с помощта на React Native Debugger и Flipper

Седмица 11: Внедряване на приложения и непрекъсната интеграция

  • App Store (iOS) Внедряване
    • Подготовка на вашето приложение за изпращане: сертификати на App Store, профили за осигуряване и бета тестване на TestFlight
    • Използване на Fastlane за автоматизиране iOS внедряване на приложения
    • Управление на App Store Connect и настройка на процеси за преглед на приложения
  • Google Play (Android) внедряване
    • Подготовка на APK и подписването му за изпращане в Google Play
    • Автоматизиране на Android внедряване на приложения с Fastlane и Gradle
    • Използване на Google Play Console за преглед на приложението и бета тестване
  • Настройване на CI/CD тръбопроводи
    • Конфигуриране на Jenkins, GitHub действия или CircleCI за автоматизирани тръбопроводи за изграждане и внедряване
    • Използване на Fastlane както за iOS, така и за Android CI/CD работни процеси
    • Най-добри практики за работа с версии, брой компилации и канали за издаване

Седмица 12: Проект Capstone

  • Окончателно развитие на проекта
    • Проектирайте и разработете напълно функционално приложение, което включва разширени функции, научени по време на курса.
    • Внедрете персонализиран UI/UX, разширени анимации, управление на състоянието, интегриране на собствен модул и API комуникация в реално време.
    • Оптимизирайте приложението за ефективност и го разположете в App Store и Google Play.

Обобщение и следващи стъпки

Изисквания

  • Солидно разбиране на концепциите за програмиране, особено в Swift, Kotlin и JavaScript
  • Предишен опит в изграждането на основни iOS, Android или React собствени приложения
  • Познаване на модели на проектиране като MVC или MVVM и опит с основно управление на състоянието

Публика

  • Мобилни разработчици
  • Програмисти
 420 Часа

Брой участници


Цена за участник

Oтзиви от потребители (5)

Предстоящи Курсове

Свързани Kатегории