Актуальная программа
Кроссплатформенная мобильная и веб-разработка
30 апреля
6 месяцев
Онлайн
Пн/Чт 20:00 Мск
Этот курс подходит вам, если у вас уже есть опыт в программировании и использовании концепций ООП, и вы хотите научиться писать мультиплатформенные мобильные приложения, использующие одну и ту же кодовую базу для iOS и Android, Desktop и Web.
Цель курса — научиться создавать современные кроссплатформенные приложения с помощью Flutter.
Практические домашние задания на курсе подготовлены таким образом, чтобы помочь вам не только применить знания на практике, но и помочь в реализации проектной работы.
Flutter позволит вам создавать красивые, быстрые и кроссплатформенные приложения для iOS и Android, используя один и тот же код.
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.
2 онлайн-трансляции по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда
Усильте своё портфолио и компетенции с помощью домашних заданий, проектной работы и интерактивных тренажёров с автопроверкой
Общайтесь с преподавателями голосом на вебинарах, в закрытом чате Telegram и при проверке домашних заданий
В модуле рассматривается синтаксис языка Dart (с учетом Null Safety и новых конструкций последней версии Dart) и инструментальные средства компиляции и анализа приложений, создания и установки пакетов.
Тема 1: Введение в язык программирования Dart
Тема 2: Алгоритмы на языке Dart
Тема 3: Объектно-ориентированное программирование на Dart
Тема 4: Инструментальная поддержка Dart
В модуле подробно изучаются виджеты разметки, ввода информации и отображения содержания в Flutter, архитектурные подходы к декомпозиции виджетов и выделению бизнес-логики, разбираются алгоритмы определения и обработки жестов, особенности разработки Desktop (для Windows, Linux и MacOS) и Web-приложений.
Тема 1: Концепция реактивного пользовательского интерфейса, основные графические примитивы ui.Window
Тема 2: Анатомия отрисовки виджетов
Тема 3: Понятие и жизненный цикл виджета
Тема 4: Консультация: что внутри Flutter Framework и почему он устроен так
Тема 5: Базовые виджеты содержания (текст, изображения, пиктограммы). Составные виджеты. Виджеты разметки
Тема 6: Виджеты разметки. Создание прокручиваемых виджетов.
Тема 7: Виджеты ввода информации, работа с формами. Часть 1
Тема 8: Виджеты ввода информации, работа с формами. Часть 2
Тема 9: Визуальное оформление (расширение темы), шрифты, градиенты и шейдеры, использование возможностей Impeller
Тема 10: Практика по реализации сложной верстки. Навигация и уведомления
Тема 11: Лучшие архитектурные практики для создания приложений
Тема 12: Выбор темы и организация проектной работы
Тема 13: Кроссплатформенная разработка для Web
Тема 14: Кроссплатформенная разработка для Desktop
Тема 15: Низкоуровневое рисование с использованием сцены и возможностей Canvas.
Тема 16: Консультация по ДЗ + практика
В модуле разбираются способы генерации исходных текстов по описанию модели данных или сетевого API, библиотеки для локального хранения данных и обмена информацией по сети, а также архитектура приложений для Firebase, Auth0 и сервисов Google.
Тема 1: Асинхронность в Dart, потоки и Future
Тема 2: Сетевое взаимодействие, хранение данных на устройстве
Тема 3: Использование кодогенерации во Flutter. Сериализация данных в JSON. Создание неизменяемых классов.
Тема 4: Интеграция с внешними API и бессерверные приложения
Тема 5: Консультация по ДЗ + практика
В модуле рассматриваются вопросы создания визуальной привлекательности приложений (через программные и внешние анимации, игровые элементы) и работы с мультимедиа (камерой, звуком, видео).
Тема 1: Неявные анимации во Flutter, Hero-анимации
Тема 2: Явные анимации во Flutter, переходы между страницами. Управление анимацией. Кривые.
Тема 3: Игровые движки во Flutter. Создание 3D-анимации.
Тема 4: Интеграция сторонних анимаций во Flutter-приложение.
Тема 5: Поддержка мультимедиа и камеры во Flutter. Обработка изображений, распознавание и классификация.
Тема 6: Интернационализация и доступность
Тема 7: Консультация по ДЗ + практика
Модуль полностью посвящен рассмотрению архитектурных подходов к управлению состоянием приложений и реализации навигации между страницами (подходы Navigator и Router).
Тема 1: Inherited-виджеты. Библиотеки Provider и Riverpod.
Тема 2: Clean-архитектура. Реализация инъекции зависимостей (getit, Provider/Riverpod)
Тема 3: Redux для управления состоянием, hook
Тема 4: Архитектура MobX
Тема 5: Архитектура MWWM и Bloc
Тема 6: Модель навигации как управление состоянием. Navigator 2.0
В модуле рассматривается архитектура движка Flutter, способы вызова методов и обмена сообщениями с нативным кодом, а также общие подходы к доработке движка и сборке под разные аппаратные платформы.
Тема 1: Взаимодействие с платформенным кодом (platform channels, Pigeon, native assets)
Тема 2: Использование нативных Views из Android / iOS, обработка системных событий
Тема 3: Устройство Flutter Engine, Add-to-App
Тема 4: Flutter Embedder, запуск приложения на произвольном оборудовании
Тема 5: Консультация по ДЗ + практика
В модуле рассматриваются вопросы анализа производительности, лучшие практики по оптимизации виджетов и алгоритмов приложения, выделению сложной логики в отдельный поток выполнения.
Тема 1: Профилирование потоков приложения
Тема 2: Изоляты для вычислительных задач
В модуле будут рассмотрены вопросы создания автоматических тестов для алгоритмов, виджетов и приложения в целом, подготовки библиотек и приложений к публикации на pub.dev и в магазинах приложений Google Play Store и Apple Store, особенности публикации для Huawei.
Тема 1: Unit-тестирование и виджет-тесты
Тема 2: Интеграционные тесты
Тема 3: Создание собственных компонентов, публикация на pub.dev
Тема 4: Сбор информации о функционировании приложения, публикация в магазины
Завершающий модуль с самостоятельной разработкой функционального приложения с поддержкой сетевого взаимодействия, изолятов, платформенного кода, разметки страниц с использованием анимации и навигации.
Тема 1: Консультация по проектам и домашним заданиям
Тема 2: Защита проектных работ
Тема 3: Подведение итогов курса
На протяжении всего курса вы будете работать над собственным проектом. Его разработка нужна для окончательного закрепления знаний, которые были получены в рамках пройденных занятий. При успешном выполнении он станет образцом кода, который Flutter-разработчик сможет показывать будущим работодателям.
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса
Стоимость в рассрочку