План на курса
Въведение
Седмица 1: Въведение в Mobile Development
- Екосистема и тенденции в мобилните приложения
- Въведение в ландшафта на мобилните приложения (iOS и Android)
- Разлики между естествени, хибридни и междуплатформени приложения
- Преглед на работния процес и инструментите за разработка на мобилни приложения
- Нативно срещу кросплатформено развитие
- Ключови разлики между разработката на приложения за една платформа (родна) и множество платформи (между платформи)
- Предимства и недостатъци на всеки подход
- Преглед на често срещаните собствени платформи (iOS, Android) и инструменти за различни платформи (React Native, Flutter)
- Въведение в JavaСкрипт Programming
- Основен синтаксис и структура на JavaScript
- Променливи, константи и типове данни (число, низ, булев, обект)
- Оператори и изрази
- Контролен поток:
if
,else
,switch
- Въведение във функциите и обхвата (глобален срещу локален обхват)
- Настройване на Xcode за iOS разработка
- Въведение в Xcode IDE: интерфейс, инструменти и работен процес
- Инсталиране на Xcode и стартиране на симулатора iOS.
- Въведение в Swift програмния език
- Писане на основно Swift приложение и стартирането му на iOS симулатора
- Създаване на Android Студио за Android Разработка
- Инсталиране на Android Studio и настройка на средата
- Конфигуриране и използване на Android емулатора
- Въведение в Kotlin езика за програмиране и основния синтаксис
- Писане на основно Kotlin приложение и стартирането му на Android емулатора
- Настройка на React собствена среда за разработка
- Инсталиране на Node.js и React собствен CLI
- Въведение в Експо и създаване на проект с Експо
- Стартиране на просто приложение „Hello World“ на iOS и Android емулатора
Седмица 2: iOS и Android Основи
- Въведение в Swift и Xcode IDE
- Променливи и типове данни в Swift (Int, Float, String, Bool и др.)
- Константи с
let
и променливи сvar
- Изявления за контрол на потока (
if
,switch
, цикли) - Функции и параметри в Swift
- Обработка на грешки в Swift
- Дизайн на потребителския интерфейс в iOS
- Въведение в разкадровките и Xcode Interface Builder
- Проектиране на оформления на приложения с помощта на Auto Layout и ограничения
- Добавяне на UI компоненти: бутони, етикети, текстови полета, изображения
- Обработка на потребителски взаимодействия и събития (напр. кликвания върху бутони)
- Изграждане на прост формуляр за влизане и валидиране на въведеното от потребителя
- Въведение в Kotlin и Android Studio IDE
- Основен Kotlin синтаксис (променливи, типове данни и функции)
- Разбиране на нулевите класове за безопасност и данни на Kotlin.
- Въведение в Android архитектурата и компонентите на приложението (Activities, фрагменти)
- Управление на жизнения цикъл на активността в Android приложения
- Дизайн на потребителския интерфейс в Android
- Проектиране на Android потребителски интерфейси с помощта на XML файлове с оформление
- Работа с мениджъри на оформление (LinearLayout, RelativeLayout, ConstraintLayout)
- Добавяне на интерактивни компоненти (бутони, текстови изгледи, редактиране на текстове)
- Използване на Java/Kotlin за обработка на въвеждане от потребителя и преходи на дейности
- Изграждане на форма за вход с валидиране на входа
- Основи за отстраняване на грешки в Xcode и Android Studio
- Как да използвате точки на прекъсване, регистрационни файлове и конзолата за отстраняване на грешки
- Общи инструменти и техники за отстраняване на грешки за iOS (Xcode инструменти, симулатор)
- Общи инструменти за отстраняване на грешки за Android (Logcat, Android Debug Bridge)
- Тестване и стартиране на приложения на реални устройства
- Свързване на физически устройства към Xcode и Android Studio
- Внедряване на приложения на физически устройства (iPhone и Android телефона)
- Симулиране на различни мрежови условия, нива на батерията и показатели за производителност
Седмица 3: Разработка на различни платформи с React Native
- Въведение в React Native и JavaScript за мобилни устройства
- Какво е React Native и защо да го използвате?
- Преглед на това как React Native превежда JavaScript в собствен код
- JSX Синтаксис: Писане на HTML-подобни структури в JavaScript
- React компоненти: функционални срещу базирани на клас компоненти
- Състояние и подпори: Управление на потока от данни в React Native компоненти
- Стил в React Native
- Въведение във Flexbox и неговото значение в дизайна на оформлението
- Създаване на адаптивни оформления за iOS и Android
- Прилагане на специфичен за платформа стил с помощта на React модула Native's
Platform
- React Навигация за междуплатформени приложения
- Въведение в React Навигация и контейнери за навигация
- Създаване на стекова навигация за преходи на екрана
- Внедряване на навигация с раздели и чекмеджета за по-сложни приложения
- Предаване на данни между екрани и управление на състоянията на навигация
- Accessизграждане на собствени функции на устройството
- Използване на функции на устройството като камера и местоположение в React Native
- Интегриране на API като геолокация, камера и AsyncStorage
- Разрешения за обработка за достъп до хардуера на устройството (iOS и Android разлики)
- Локално съхраняване на данни с AsyncStorage и интегриране на библиотеки на трети страни за постоянство
- Подготовка на приложения за внедряване
- Конфигуриране на настройките на приложението за производство в Xcode и Android Studio
- Изграждане на APK за Android и тестване на реални устройства
- Подготовка на iOS приложения за изпращане в App Store (икони на приложения, сертификати за подписване)
- Финализиране на React собствени проекти за производствено внедряване на двете платформи
- Финално представяне на проекта
- Представяне на окончателното междуплатформено React родно приложение пред класа
- Събиране на обратна връзка и обсъждане на потенциални подобрения
- Финална сесия с въпроси и отговори и заключителни бележки
Обобщение и следващи стъпки
Изисквания
- Основно разбиране на концепциите за програмиране
Публика
- Мобилни разработчици
- Програмисти
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