Актуальная программа
Flutter Mobile Developer
Кроссплатформенная мобильная и веб-разработка
28 августа
6 месяцев
Онлайн
Пн/Чт 20:00 Мск
Для кого этот курс?
Этот курс подходит вам, если у вас уже есть опыт в программировании и использовании концепций ООП, и вы хотите научиться писать мультиплатформенные мобильные приложения, использующие одну и ту же кодовую базу для iOS и Android, Desktop и Web.
Цель курса — научиться создавать современные кроссплатформенные приложения с помощью Flutter.
Необходимые знания
- опыт программирования на любом языке программирования
- понимание принципов объектно-ориентированного программирования
- навыки использования git
Будет плюсом
- знакомство с мобильной разработкой
- опыт работы в Android Studio или VS Code
- знание шаблонов проектирования
Что даст вам этот курс
- Научитесь использовать инструменты необходимые для Flutter-разработчика: Dart, BLoC, Redux, MobX и др.
- Создадите свой аналог Telegram, CoinMarketCap, Todoist в рамках разработки индивидуальной проектной работы, которая пополнит ваше портфолио
- Сможете общаться напрямую с преподавателями на лекциях и в Telegram-чате, обсуждать кейсы и задачи, которые стоят перед вами
Освойте необходимые навыки для Flutter-разработчика
- Основы языка Dart. Этот язык очень гибок и легок в использовании. Именно поэтому разработчики Flutter выбрали его. Освоив Dart, вы сможете писать Android-, iOS-, Web- и даже Desktop-приложения;
- Поймете, как работает Flutter изнутри. Flutter достаточно прост, чтобы начать решать с помощью него задачи в первый же день обучения. Но очень важно разобраться, как он работает, чтобы использовать возможности Flutter наиболее эффективно;
- Научитесь использовать platform-specific code для интеграции с нативной частью мобильного приложения. Если вам нужен доступ к hardware или какому-либо сложному модулю, который требователен к производительности, то Flutter может взаимодействовать с нативным кодом и решать даже эти задачи;
- Поймете как создавать свои собственные анимации. Во Flutter очень хорошо развита возможность создавать анимации. Так что мы разберемся, как создать практически любую анимацию с помощью Flutter без какой-либо потери в производительности;
- Начнете использовать современные библиотеки и фреймворки. Мы разберем самые популярные фреймвоки для работы с состоянием приложения: BLoC, Redux, MobX. Посмотрим, как организовать DI во Flutter на примере inject.dart и фреймворка get_it.
Практические домашние задания на курсе подготовлены таким образом, чтобы помочь вам не только применить знания на практике, но и помочь в реализации проектной работы.
Почему Flutter?
Flutter позволит вам создавать красивые, быстрые и кроссплатформенные приложения для iOS и Android, используя один и тот же код.
Процесс обучения
А если вы не смогли посетить занятие в реальном времени, то сможете посмотреть его в записи и задать вопрос преподавателю в закрытом Telegram-чате.
Портфолио
Подготовка проекта для портфолио в течение всего курса
Эксперты
Много практики и живого общения с преподавателями
Оптимальная нагрузка
Возможность совмещать учебу с работой
Партнеры
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.
- Получите помощь с оформлением резюме, портфолио и сопроводительного письма
- Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
Flutter-разработчик
Работодатели курса
Формат обучения
Интерактивные вебинары
2 онлайн-трансляции по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда
Практика
Усильте своё портфолио и компетенции с помощью домашних заданий, проектной работы и интерактивных тренажёров с автопроверкой
Активное комьюнити
Общайтесь с преподавателями голосом на вебинарах, в закрытом чате Telegram и при проверке домашних заданий
Программа
Введение в Dart
В модуле рассматривается синтаксис языка Dart (с учетом Null Safety и новых конструкций Dart 2.17) и инструментальные средства компиляции и анализа приложений, создания и установки пакетов.
Тема 1: Введение в язык программирования Dart
Тема 2: Алгоритмы на языке Dart
Тема 3: Объектно-ориентированное программирование на Dart
Тема 4: Инструментальная поддержка Dart
Flutter Framework
В модуле подробно изучаются виджеты разметки, ввода информации и отображения содержания в 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: Консультация по ДЗ + практика
Анимация и мультимедиа в Flutter
В модуле рассматриваются вопросы создания визуальной привлекательности приложений (через программные и внешние анимации, игровые элементы) и работы с мультимедиа (камерой, звуком, видео).
Тема 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: Архитектура MWWM и Bloc
Тема 5: Архитектура MobX
Тема 6: Модель навигации как управление состоянием. Navigator 2.0
Flutter Engine и взаимодействие с платформой.
В модуле рассматривается архитектура движка 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-разработчик сможет показывать будущим работодателям.
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Ближайшие мероприятия
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Как вернуть пользователя точно туда, где он остановился — даже после перезапуска приложения или перехода по ссылке? На вебинаре разберём глубокие ссылки, маршрутизацию во Flutter, сохранение состояния экранов и восстановление стека навигации. На практике создадим приложение, которое запоминает путь пользователя и умеет открываться сразу на нужном экране. Flutter — это не только UI, но и умный контроль над пользовательским опытом!
На вебинаре мы разберём:
- Виды диплинков во Flutter — чем отличаются scheme-based ссылки, Universal Links и App Links в мобильных и веб-приложениях.
- Навигация: Navigator 1.0 и 2.0 — когда использовать старую навигацию, а когда переходить на Router API для сложных сценариев.
- State Restoration во Flutter — как сохранять и восстанавливать состояние UI после закрытия или выгрузки приложения.
- Restorable Routes и восстановление стека — как автоматически возвращать пользователя на тот же экран и в тот же контекст.
- Практическая демо-сборка — реализуем диплинк, который открывает нужный экран и восстанавливает состояние интерфейса.
После вебинара участники смогут:
- Понимать, как работают диплинки во Flutter и какие виды ссылок поддерживаются.
- Выбирать подходящую навигацию между Navigator 1.0 и 2.0 для разных проектов.
- Реализовывать сохранение и восстановление состояния UI в приложении.
- Использовать Restorable Routes, чтобы возвращать пользователей на нужный экран.
- Создавать приложения, готовые к глубоким ссылкам и улучшенному UX.
Кому будет интересно:
- Flutter-разработчикам, строящим сложные приложения с множеством экранов.
- Тем, кто хочет улучшить UX и повысить удержание пользователей.
- Всем, кто сталкивался с проблемами восстановления состояния или глубоких ссылок.
Что вас ждёт:
Создадим Flutter-приложение, которое умеет открываться по диплинку и восстанавливать состояние даже после перезапуска. Вы узнаете, как управлять маршрутами, хранить данные экранов и сделать UX без потерь. Flutter — это ещё и про то, чтобы пользователи никогда не терялись!
Кто является целевой аудиторией вебинара?
- Flutter-разработчики, которые хотят оптимизировать свои приложения, например, делегируя обработку изображений или криптографию на более низкоуровневые языки
- Те, кто хочет познакомиться с популярными ЯП в комбинации с dart/flutter
Какие ключевые темы и вопросы будут рассмотрены на вебинаре?
- Написание простой функции на C, Rust и GO и вызов ее из консольного dart приложения
- Вызов такой же функции со стороны flutter приложения
- Более сложный пример со сторонними библиотеками
- FFI-плагин и сложности, с которыми можно столкнуться
Какие результаты и навыки получат участники после вебинара?
- Научатся компилировать C/Rust/Go под разные архитектуры процессора
- Смогут обратиться к полученному бинарнику со стороны flutter-приложения
- Смогут написать простой скрипт для сборки, например, Makefile
А может ли Flutter жить внутри автомобиля или умного чайника? Спойлер: может — и выглядит при этом впечатляюще! На вебинаре разберём ключевые технологии, которые позволяют запускать Flutter-приложения в embedded Linux и automotive-средах. Поговорим о сборке кастомных Yocto-дистрибутивов, работе без оконных систем (X11/Wayland), создании multi-display интерфейсов для цифровых приборных панелей и интеграции Flutter с автомобильной CAN-шиной. На практике создадим приложение для бортового компьютера или IoT-панели на Raspberry Pi. Flutter — это больше, чем просто мобильный UI!
На вебинаре мы разберём:
- Yocto и embedded Linux для Flutter — зачем нужны кастомные дистрибутивы Linux в automotive и как собрать Flutter под ARM-архитектуру.
- Запуск Flutter без X11 прямо в framebuffer — как работать с минимальными ресурсами и ускорить загрузку интерфейса.
- Multi-display интерфейсы в Automotive — создание интерфейсов для нескольких экранов: кластер, HUD, мультимедиа.
- Интеграция с CAN-шиной автомобиля — как получать данные скорости, оборотов или температуры и выводить их в Flutter UI.
- Практическая демо-сборка — создание Flutter-приложения для бортового компьютера или IoT-панели на Raspberry Pi.
После вебинара участники смогут:
- Понимать, как Flutter может применяться в автомобильных и embedded-проектах.
- Освоить базовые шаги по созданию Yocto-сборок с Flutter для embedded-устройств.
- Узнать, как запустить Flutter-приложение без оконных систем напрямую в framebuffer.
- Научиться строить интерфейсы для нескольких экранов, востребованные в современных автомобилях.
- Понять, как интегрировать Flutter с CAN-шиной, чтобы работать с реальными данными автомобиля.
Кому будет интересно:
- Flutter-разработчикам, которые хотят выйти за рамки мобильных приложений.
- Embedded-инженерам, заинтересованным в современных UI-технологиях для устройств.
- Всем, кто интересуется разработкой цифровых интерфейсов для автомобилей и умной техники.
Что вас ждёт:
На вебинаре мы не только разберём теорию, но и создадим рабочее Flutter-приложение для автомобильного дисплея или IoT-панели. Вы увидите, как Flutter оживает на реальном железе и становится частью embedded-мира.
Прошедшие
мероприятия
Возможность пройти вступительное тестирование повторно появится только через 3 дня
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Отзывы
Подтверждение знаний и навыков
OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса
После обучения вы:
- заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров, презентации к занятиям, а также решение задач и проектов в виде кода на github и другие дополнительные материалы
- получите сертификат о прохождении курса
- приобретете опыт Flutter-разработки
Flutter Mobile Developer
Полная стоимость
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Пройдите тестирование и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно