Актуальная программа
Flutter Mobile Developer
Кроссплатформенная мобильная и веб-разработка
29 ноября
5 месяцев
Онлайн
Вт/Пт 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: Базовые виджеты содержания (текст, изображения, пиктограммы). Составные виджеты. Виджеты разметки
Тема 5: Виджеты разметки. Создание прокручиваемых виджетов.
Тема 6: Виджеты ввода информации, работа с формами. Часть 1
Тема 7: Виджеты ввода информации, работа с формами. Часть 2
Тема 8: Визуальное оформление (расширение темы), шрифты, градиенты и шейдеры, использование возможностей Impeller
Тема 9: Практика по реализации сложной верстки. Навигация и уведомления
Тема 10: Лучшие архитектурные практики для создания приложений
Тема 11: Выбор темы и организация проектной работы
Тема 12: Кроссплатформенная разработка для Web
Тема 13: Кроссплатформенная разработка для Desktop
Тема 14: Низкоуровневое рисование с использованием сцены и возможностей Canvas.
Тема 15: Консультация по ДЗ + практика
Асинхронность и сетевое взаимодействие
В модуле разбираются способы генерации исходных текстов по описанию модели данных или сетевого 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: Flutter Embedder, запуск приложения на произвольном оборудовании
Тема 2: Взаимодействие с платформенным кодом (platform channels, Pigeon, native assets)
Тема 3: Использование нативных Views из Android / iOS, обработка системных событий
Тема 4: Устройство Flutter Engine, Add-to-App
Тема 5: Консультация по ДЗ + практика
Оптимизация производительности
В модуле рассматриваются вопросы анализа производительности, лучшие практики по оптимизации виджетов и алгоритмов приложения, выделению сложной логики в отдельный поток выполнения.
Тема 1: Профилирование потоков приложения
Тема 2: Изоляты для вычислительных задач
Тестирование и публикация
В модуле будут рассмотрены вопросы создания автоматических тестов для алгоритмов, виджетов и приложения в целом, подготовки библиотек и приложений к публикации на pub.dev и в магазинах приложений Google Play Store и Apple Store, особенности публикации для Huawei.
Тема 1: Unit-тестирование и виджет-тесты
Тема 2: Интеграционные тесты
Тема 3: Создание собственных компонентов, публикация на pub.dev
Тема 4: Сбор информации о функционировании приложения, публикация в магазины
Курсовой проект
Завершающий модуль с самостоятельной разработкой функционального приложения с поддержкой сетевого взаимодействия, изолятов, платформенного кода, разметки страниц с использованием анимации и навигации.
Тема 1: Консультация по проектам и домашним заданиям
Тема 2: Защита проектных работ
Тема 3: Подведение итогов курса
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Выпускной проект
На протяжении всего курса вы будете работать над собственным проектом. Его разработка нужна для окончательного закрепления знаний, которые были получены в рамках пройденных занятий. При успешном выполнении он станет образцом кода, который Flutter-разработчик сможет показывать будущим работодателям.
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Ближайшие мероприятия
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Содержание:
1. Основы 3D-графики (вершинные и фрагментные шейдеры), определение шейдеров в impeller
2. Создание собственных шейдеров для отображения 3D-объектов в Flutter-приложении
3. Добавление света и теней, отображение 3D-изображения на экране
4. Интеграция 3D в игровой движок Flame, создание несложной игры
Содержание:
- Использование mason для генерации виджетов, BLoC-компонентов и даже целых интернет-магазинов
- Языковой сервер Dart и конвейер разбора/генерации исходного кода (build_runner, source_gen, code_builder, dart_style, analyzer), использование build hooks для автоматизации сборки (и не только Dart)
- Макросы как инструмент метапрограммирования, создание собственного макроса для data-классов и создания альтернативы StatefulWidget
Тема будет интересна как опытным разработчикам на Dart/Flutter для более эффективного использования возможностей метапрограммирования, так и только начинающим входить в этот стек технологий для понимания возможностей генерации кода и снижению времени создания приложений.
В результате участники вебинара узнают:
- внутреннее устройство и применение макросов для избежания ручного запуска генерации кода;
- возможности генерации кода на основе шаблонов mason bricks для быстрого создания целых приложений и их частей;
- как можно расширить сборку через build hooks и автоматически создавать dart-код из чего угодно
Прошедшие
мероприятия
Возможность пройти вступительное тестирование повторно появится только через 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 бесплатно