План на курса
Въведение
Седмица 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 и опит с основно управление на състоянието
Публика
- Мобилни разработчици
- Програмисти
Oтзиви от потребители (5)
Едуард е страхотен фасилитатор
Zibusiso Ncube - Agricatural Research Council
Курс - Ionic 4 and Angular for Developers
Машинен превод
Любимата ми част е въпрос и отговор със сър. Хосе. Той е много информиран и знае отговорите на нашите въпроси.
John Henry - Toyota Motor Philippines
Курс - .NET MAUI (Intermediate)
Машинен превод
Може би повече упражнения биха били по-добри за учене, но времето беше твърде малко
Gianpiero Arico' - Urmet Spa
Курс - Embedded Linux Systems Architecture
Машинен превод
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Курс - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic