Свържете се с нас

Съдържание и теми, включени в курса

Въведение

Седмица 1: Обзор на мобилната разработка

  • Мобилна екосистема и платформи
    • Преглед на мобилните операционни системи (iOS и Android)
    • Ключови разлики между iOS, Android и кросплатформената разработка
    • Популярни магазини за приложения (Apple App Store, Google Play Store)
    • Въведение в нативната, хибридната и кросплатформената разработка
  • Нативна, хибридна и кросплатформена разработка
    • Предимства и предизвикателства на всеки метод на разработка
    • Преглед на Swift (за iOS), Kotlin (за Android) и React Native (кросплатформена)
    • Как кодът се транслира към мобилните платформи (JavaScript към нативен код в React Native)
  • Основи на програмирането
    • Въведение в програмните концепции (променливи, типове данни, функции, управление на потока)
    • Сравнение на синтаксиса на Swift, Kotlin и JavaScript
    • Писане на прости програми с Swift, Kotlin и JavaScript
  • Настройка на среди за разработка
    • Инсталиране на Xcode и Android Studio
    • Настройка на React Native CLI и Expo
    • Стартиране на базови приложения "Hello World" на симулатори и емулатори

Седмица 2: Въведение в Swift, Kotlin и JavaScript

  • Програмиране със Swift за iOS
    • Променливи, константи и типове данни в Swift
    • Изрази за управление на потока (if, switch, цикли)
    • Функции и параметри в Swift
    • Запознаване с интерфейса на Xcode и Swift Playgrounds
  • Програмиране с Kotlin за Android
    • Променливи, типове данни и функции в Kotlin
    • Разбиране на null безопасността в Kotlin’s
    • Управление на потока и циклични структури
    • Запознаване с интерфейса на Android Studio и Kotlin Playground
  • JavaScript за React Native
    • Променливи, константи и управление на потока в JavaScript
    • Характеристики на ES6: стрелкови функции, шаблонни литерали и деструктуриране
    • Писане и изпълнение на основни JavaScript програми в React Native с помощта на Expo

Седмица 3: Дизайн на потребителски интерфейс за iOS

  • Елементи на потребителския интерфейс в iOS
    • Въведение в UIKit и SwiftUI
    • Добавяне и персонализиране на UI елементи като бутони, етикети и текстови полета
    • Използване на Interface Builder за проектиране на UI
    • Работа със Storyboards и проектиране на многоекранни потребителски интерфейси
  • Auto Layout и ограничения
    • Разбиране на системата Auto Layout
    • Използване на ограничения за адаптивни оформления при различни размери на екрана
    • Създаване на стекови изгледи и динамично адаптиране на UI елементи
  • Основи на SwiftUI
    • Въведение в декларативния UI дизайн в SwiftUI
    • Изграждане на прости UI компоненти с помощта на SwiftUI

Седмица 4: Дизайн на потребителски интерфейс за Android

  • XML оформления в Android
    • Въведение в дизайна на оформления, базиран на XML
    • Работа с често срещани оформления: LinearLayout, RelativeLayout, ConstraintLayout
    • Добавяне и персонализиране на UI елементи: бутони, текстови изгледи, изгледи за изображения
    • Използване на ConstraintLayout за адаптивни и динамични оформления
  • Material Design
    • Интегриране на принципите на Material Design (цветове, икони, типография)
    • Използване на Material компоненти (бутони, плаващи бутони за действие, карти)
    • Прилагане на теми и стилове за Android приложения

Седмица 5: Дизайн на потребителски интерфейс за React Native

  • Flexbox оформление в React Native
    • Разбиране на Flexbox за адаптивен дизайн на оформление
    • Създаване на оформления, базирани на колони и редове
    • Стилизиране на UI компоненти със свойства на Flexbox (justifyContent, alignItems и др.)
  • React Native компоненти
    • Работа с основни компоненти като Text, View, TextInput и Button
    • Създаване на интерактивни UI елементи като формуляри и бутони
    • Използване на компонента ScrollView за динамично съдържание

Седмица 6: Обработка на данни в iOS и Android

  • Обработка на данни в iOS
    • Използване на UserDefaults за просто съхранение на данни
    • Въведение в Core Data за локално съхранение на сложни данни
    • Извличане на данни от API с помощта на URLSession
    • Парсиране на JSON данни и изобразяването им в потребителския интерфейс
  • Обработка на данни в Android
    • Използване на SharedPreferences за съхранение на малки количества данни
    • Въведение в SQLite и Room Persistence Library за управление на бази данни
    • Извличане на данни от API с помощта на Retrofit
    • Парсиране на JSON и обработка на отговори от API

Седмица 7: Управление на състоянието и API в React Native

  • Състояние и props в React Native
    • Управление на потока от данни в компонентите на React Native
    • Използване на хука useState за управление на локалното състояние на компонента
    • Предаване на данни между родителски и дъщерни компоненти чрез props
  • Извличане на данни в React Native
    • Използване на Fetch API и Axios за извършване на HTTP заявки
    • Изобразяване на извлечените данни в списъци (с използване на FlatList, SectionList)
    • Локално съхранение на данни с помощта на AsyncStorage в React Native

Седмица 8: Навигация в iOS и Android

  • Навигация в iOS
    • Въведение в навигационните контролери и управление на множество екрани
    • Използване на segues за преход между view контролери
    • Предаване на данни между view контролери
    • Внедряване на TabBar и NavigationBar за структурирана навигация
  • Навигация в Android
    • Работа с Activities и Intents за многоекранни приложения
    • Предаване на данни между Activities с помощта на Bundles
    • Създаване на Navigation Drawer и BottomNavigationView
    • Внедряване на fragments за гъвкава UI навигация

Седмица 9: Навигация в React Native

  • Основи на React Navigation
    • Инсталиране и настройка на React Navigation
    • Използване на Stack Navigator за преходи между екрани
    • Внедряване на Tab Navigator и Drawer Navigator за сложна навигация
    • Предаване на параметри между екраните и управление на състоянието на навигацията

Седмица 10: Разширени функции

  • Разширени функции в iOS:
    • Core Location и карти
      • Достъп до местоположението на устройството с Core Location
      • Изобразяване на карти с помощта на MapKit
      • Обработка на геолокация и проследяване на местоположението на потребителя
    • Камера и мултимедия
      • Достъп до камерата на устройството и библиотеката със снимки
      • Заснемане и изобразяване на изображения с UIImagePickerController
      • Съхранение и извличане на мултимедийни файлове
  • Разширени функции в Android
    • Местоположение и карти
      • Използване на Google Maps API за изобразяване на карти и местоположението на потребителя
      • Достъп до GPS данни и обработка на геолокация
    • Камера и мултимедия
      • Използване на CameraX за заснемане на снимки и обработка на разрешенията за камера
      • Изобразяване на изображения и управление на мултимедийно съхранение
  • Разширени функции в React Native
    • Карти в React Native
      • Интегриране на карти с помощта на react-native-maps
      • Обработка на услуги, базирани на местоположение (геолокация, картографиране на маршрути)
    • Достъп до камера и мултимедия
      • Използване на библиотеката React Native Camera за заснемане на снимки
      • Достъп до мултимедийното хранилище на устройството и работа с файлове

Седмица 11: Дебъгване и тестване

  • Дебъгване и тестване в iOS
    • Използване на дебъгера на Xcode
      • Задаване на точки на прекъсване и проверка на променливи в Xcode
      • Използване на конзолата за дебъгване в реално време
      • Често срещани проблеми при дебъгване и начини за тяхното разрешаване
    • Модулно тестване в iOS
      • Писане и изпълнение на модулни тестове с помощта на XCTest framework
      • Мокване на обекти и тестване на UI компоненти
  • Дебъгване и тестване в Android
    • Използване на Logcat в Android Studio
      • Логване и анализиране на грешки с помощта на Logcat
      • Дебъгване на Android приложения с точки на прекъсване
    • Модулно тестване в Android
      • Писане на модулни тестове с JUnit
      • Тестване на Android UI компоненти с Espresso
  • Дебъгване и тестване в React Native
    • Инструменти за дебъгване в React Native
      • Използване на Chrome DevTools и React Native Debugger за дебъгване в реално време
      • Конзолни логове и проверка на мрежови заявки
    • Модулно тестване в React Native
      • Писане на модулни тестове с Jest и Enzyme
      • Тестване на React Native компоненти и управление на тестови случаи

Седмица 12: Публикуване на приложения и обобщаващ проект

  • Публикуване и разпространение
    • Подаване в iOS App Store
      • Подготовка на приложението за разпространение (икони, сертификати, provisioning профили)
      • Използване на App Store Connect за подаване на приложението за преглед
      • Използване на TestFlight за бета тестване
    • Подаване в Android Play Store
      • Подготовка на APK и подписване на приложението за разпространение
      • Използване на Google Play Console за подаване и проследяване на приложението
      • Разбиране на политиките и насоките на Play Store
  • Разработка на обобщаващ проект
    • Разработка на финален проект
      • Изграждане на напълно функционално приложение по ваш избор
      • Включване на разширени функции като API извиквания, навигация, мултимедия и локация
      • Представяне и демонстрация на финалното приложение пред колеги и инструктори

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

Изисквания

  • Основни познания по програмни концепции
  • Основни познания по JavaScript

Аудитория

  • Разработчици на мобилни приложения
  • Програмисти
 420 Часа

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


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

Отзиви от участници (3)

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

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