- 1 место. Курс «Flutter» — Skillbox
- 2 место. Курс «Flutter в мобильной разработке под iOS & Android» — Skill Branch
- 3 место. Курс «Flutter-разработчик» — SURFSTUDIO
- Курс «Flutter Mobile Developer» — Otus
- Курс «Flutter уроки для начинающих на русском» — ALEXEY SHPAVDA
- Курс «Flutter уроки От идеи до приложения» — Flutter.su
- Курс «Flutter & Dart» — itProger
- Курс «Изучаем Flutter» — Udemy
- Курс «Он-лайн школа по FLUTTER» — 1DevFull
- Курс «Flutter на практике. Прокачиваем навыки мобильной разработки с помощью открыт. фреймворка от Googlе» — Франк Заметти
- Курс «Документация по Flutter» — Flutterdocs
- Курс «Руководство по фреймворку Flutter» — Metanit
- Курс «ПРАКТИКА FLUTTER» — NIX
- Курс «Flutter» — Skillbox (уже неактуален)
Вы научитесь создавать кроссплатформенные приложения, использующие одну и ту же кодовую базу для iOS и Android. С помощью фреймворка Flutter и языка Dart сможете вырасти как мобильный разработчик.
- Длительность – 3 месяца
- До 3 приложений в портфолио
- Обучение на практике
- Доступ к курсу навсегда.
Кому подойдёт этот курс:
- Нативным разработчикам
Выйдете за рамки одной платформы и станете универсальным разработчиком. Научитесь создавать рабочие прототипы и полноценные проекты на Flutter. Освоите Dart и добавите в портфолио кроссплатформенные приложения. Перепишете личные проекты под Android и iOS, предложите внедрить фреймворк у себя в компании или присоединитесь к новой команде. - Программистам других направлений
Узнаете об особенностях разработки и тестирования мобильных приложений. Познакомитесь с Dart, фреймворком Flutter и напишете кроссплатформенные приложения для портфолио. После курса сможете поменять направление и начать карьеру в мобильной разработке.
Чему вы научитесь:
- Разрабатывать приложения для разных платформ
Сможете создавать приложения, которые работают одинаково и на Android, и на iOS. Не придётся учить несколько языков программирования и делать приложения с нуля для каждой платформы. - Работать с пользовательским опытом
Разберётесь с UX и научитесь создавать красивые и удобные пользовательские интерфейсы. - Использовать hot reload
Научитесь работать с hot reload — возможностью Flutter, которая ускоряет разработку благодаря моментальной пересборке проекта при изменениях в коде. - Создавать кроссплатформенные приложения
Научитесь создавать приложения с одинаковым отображением даже на старых версиях iOS и Android и не будете тратить время на поддержку старых устройств. - Настраивать связь приложений с бэкендом
Разберётесь с отправкой и получением данных из сети и с сервера. - Создавать плавные анимации
Сможете анимировать интерфейс приложений в 60 FPS благодаря возможностям языка Dart и фреймворка Flutter.
Программа:
У вас должен быть опыт в программировании и знание одного из высокоуровневых языков. В программе — модули с онлайн-лекциями и практическими заданиями.
22 тематических модуля, 90 онлайн-уроков.
- Введение
Установите и настроите Flutter, познакомитесь со структурой проекта и Codestyling. - Основы Dart 2
Изучите типы данных, коллекции, переменные и константы. Познакомитесь с операторами управления потоком и ООП. - Flutter
Подключите ресурсы и пакеты, изучите полезные команды. - StatefulWidget/StatelessWidget
Узнаете, чем отличаются StatefulWidget от StatelessWidget и для чего нужны ключи — keys. - Cupertino vs Material
Познакомитесь с базовыми виджетами для построения лэйаута в кроссплатформенных приложениях. - Layout
Научитесь использовать ListView для отображения списков, GestureDetector для распознавания жестов пользователя и LayoutBuilder для удобной разработки лэйаута. - Navigation
Освоите такие полезные для работы с навигацией виджеты, как Simple Navigation, GenerateRoute, Fluro и Cupertino. - Асинхронность
Научитесь обрабатывать несколько запросов одновременно благодаря FutureBuilder, Stream и StreamReader. - Работы с формами
Узнаете, что такое сериализация и кодогенерация, поработаете с формами, научитесь обрабатывать ошибки и отправлять данные. - Тестирование
Научитесь писать юнит-тесты и проводить интеграционное тестирование. - Firebase
Будете настраивать базу данных Firebase и сохранять данные. Поймёте, как зарегистрировать пользователя и загружать фото. - Архитектура Flutter-проекта
Узнаете, как структурировать проект, поймёте принципы Clean Architecture. - Flutter State Management
Научитесь управлять состоянием приложения, познакомитесь с ValueNotifier и ChangeNotifier, Redux, Redux-thunk и Provider. - Advanced widgets
Поймёте, как работать с Widget Tree и Узнаете, как трансформировать виджеты. - Мультиплатформенные решения
Попробуете силы в разработке мультиплатформенных приложений для десктопа и веба на Flutter. - Тема приложения
Научитесь объединять темы и подключать разные цветовые схемы. - Animations
Добавите интерактивности в приложение. Узнаете, как использовать простые анимации и библиотеки. - Работа с медиа, картами и Web View
Узнаете, как сделать свои приложения ещё более полезными. Получите доступ к камере устройства, подключите карты и научитесь открывать сайты без помощи браузера. - Integration with Native
Научитесь связывать нативный код на Swift или Kotlin с Flutter. - Persistance data
Узнаете, как сохранять данные на устройстве, использовать SQLite и создавать serverless-приложения. - DevTools
Научитесь пользоваться полезными инструментами для Flutter-разработчика. - Flutter под капотом
Поймёте, как устроена архитектура Flutter UI Toolkit, узнаете о видах компиляции, сборке мусора и кастомных движках.
Ваше резюме после обучения:
- Должность «Разработчик на Flutter»
- Зарплата от: 100 000 ₽
- Профессиональные навыки:
– Программирование на Dart
– Асинхронный код и работа с сетью
– Знание популярных библиотек и приёмов разработки на языке Dart
– Работа с анимациями темой приложения
– Разработка кроссплатформенных приложений
– Юнит и интеграционное тестирование приложений
– Соблюдение архитектурных паттернов
– Опыт разработки мультиплатформенных приложений
– Работа с виджетами Material, Cupertino
– Работа с Firebase
– State Management
– Работа с камерой, картами и Web View.
Сертификат Skillbox подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.
На данном курсе вы научитесь создавать приложения под iOS и Android с помощью многообещающего фреймворка Flutter. Основной упор сделан на практику, поэтому по ходу курса вы сделаете не одно, не два, а сразу 6 приложений!
По пути вы научитесь не только основам языка Dart и Flutter, но также и продвинутым темам, без которых тяжело представить современную разработку: грамотное архитектурное построение кода, взаимодействие с API с авторизацией, использование кодогенерации для сериализации, верстка сообразно макетами в Figma, работа с разрешениями на доступ к жесткому диску, эффективная и реактивная верстка экранов, нижняя навигация, дистрибьюция приложений и другое. Основанный на практике подход позволит вам на выходе получить реальные практические навыки создания приложений.
Программа курса
01 Введение
Разберем как будет проходить курс, кому он подойдет. Поговорим про Flutter. Какие у него есть сильные и слабые стороны. Подготовим компьютер к созданию приложений на Flutter. Создадим первый проект на Flutter и изменим его под себя.
- Установка Flutter
- Установка IDE
- Введение в то, что такое Widget во Flutter
- Введение в Stateless и Stateful виджеты
02 8-bit бойцовский клуб. Знакомство с базовыми виджетами
- Строим первый экран приложения.
- Разберем базовые виджеты, которые используются практически во всех проектах.
- Узнаем как структурированы Flutter проекты.
- Научимся работать виджетами со стейтом.
03 8-bit бойцовский клуб. Передача данных между виджетами
- Внедрим логику работы приложения.
- Научимся передавать данные между виджетами.
- Обсудим что такое древо виджетов и как передавать данные по нему с помощью InheritedWidget.
- Подключим библиотеку Provider.
04 8-bit бойцовский клуб. Базовая навигация
- Добавим еще один экран.
- Научимся работать с навигацией.
- Научимся работать с навигацией.
- Воспользуемся открытым API для получения данных, научимся обрабатывать результаты.
05 Супергерои. Продвинутая работа с API
- Научимся работать с API на продвинутом уровне с помощью библиотеки dio.
- Научимся разбирать ответ из API с помощью библиотек с кодогенерацией.
- Обработаем ошибки от запросов.
- Внедрим форму для ввода поискового запроса и научимся связывать вводимые данные с результатами данных из API.
- Научимся работать со списками.
06 Супергерои. BLoC-архитектура и Stream’ы
- Обсудим для чего нужна архитектура в приложении и что такое BLoC, какие бывают архитектурные подходы.
- Разберемся с тем, что такое Stream, в чем отличие от Future.
- Внедрим BLoC архитектуру в приложение.
- Разберем как нужно строить экраны с точки зрения минимизации количества перерисовок.
07 Супергерои. Продвинутая навигация. Sliver’ы
- Внедрим продвинутую навигацию, будем использовать onGenerateRoute и Navigator.pushNamed.
- Научимся передавать данные между экранами.
- Сверстаем экран, построенный на Sliver’ах.
08 Супергерои. Кеширование
- Добавим кеширование данных, полученных из API с помощью библиотеки shared_preferences.
- Научимся кешировать полученные изображения.
09 Мемогенератор. Чистая архитектура
- Обсудим что такое чистая архитектура, какие цели она решает и как она соотносится с BLoC’ом.
- Внедрим подходы чистой архитектуры в приложение.
10 Мемогенератор. Анимации
- Построим плитку с картинками
- Научимся анимированно переходить от списка к детальному представлению.
- Внедрим карусель для просмотра созданных мемов.
11 Мемогенератор. Диалоги
- Разберемся как работать с Bottom Sheet
- Свяжем логику из диалогов с логикой страницы
- Научимся сохранять виджеты в виде png картинок
12 Мемогенератор. Взаимодействие с системой
- Изучим как подставлять собственное приложение в список, появляющийся, когда нажимаем на кнопку Share в различных приложениях.
- Научимся работать с буфером обмена.
- Запросим разрешение на доступ к фотогалерее
13 Менеджер подарков. Работа с формами
Поработаем с формами для ввода данных:
- валидируем данные,
- показываем ошибки ввода,
- запрещаем ненужные символы,
- форматируем и пр.
14 Менеджер подарков. Dependency Injection и работа с API
- Добавим Dependecy Injection фреймворк get_it в проект.
- Создадим авторизованную и не авторизованную зону приложения.
- Научимся работать с авторизационным токеном.
15 Менеджер подарков. Продвинутая сериализация
- Изучим как работать с built_value и built_collection, обсудим какие задачи они решают.
- Создадим автоматический механизм сериализации и десериализации моделей при общении с сервером.
16 Менеджер подарков. Bottom navigation
- Добавим нижнюю навигацию в проект.
- Разберемся как работать со вложенными Navigator.
17 Менеджер подарков. Темная и светлая темы приложения
- Поймем как пользоваться темами приложения.
- Добавим возможность переключаться между темной и светлой темами из настроек.
18 Менеджер подарков. Продвинутая работа с UI
- Узнаем что такое пагинация и как ее едят.
- Изучим ряд популярных виджетов для создания UI.
- Поймем как использовать Cupertion виджеты на iOS и Material виджеты на Android.
19 Менеджер подарков. Дистрибьюция и публикация приложения
- Научимся пользоваться системой дистрибьюции билдов.
- Подготовим приложение к публикации в сторах.
- Обсудим требования, предъявляемые к приложениям.
20 Кино-домино. Обсуждение выпускного проекта
- Изучим как должно работать приложение
- Разберем как устроено API проекта
- Обсудим верстку проекта, подводные камни и ожидаемый результат
Вы изучите язык Dart и фреймворк Flutter.
Научитесь создавать современные мобильные приложения сразу под две платформы: iOS и Android.
Опытные Flutter-разработчики научат
- Проектировать архитектурукроссплатформенных приложений
- Разрабатывать приложенияна Dart и Flutter
- Делать красивые анимацииинтерфейса
- Работать с сетью
и хранением данных - Строить взаимодействие
с платформой внутри фреймворка - Готовить к релизу полноценное кроссплатформенное приложение
Даём основы, раскрываем секреты
Узнайте Flutter поближе и сделайте первые шаги во Flutter-разработке
Программа курса
- Знакомство с курсом
2 урока
Как устроен наш курс?
Настраиваем окружение
- Язык программирования Dart
9 уроков
Введение в Dart
Переменные во Flutter
Базовые типы данных
Условные операторы и циклы
Функции
Классы и интерфейсы
Mixins
Generics
Основы асинхронных операций в Dart
- Flutter. Основы фреймворка и верстки
22 урока, 5 практических заданий
Основы Flutter 5 уроков, практическое задание
Учимся верстать 9 уроков, практическое задание
Обработка событий пользовательского интерфейса 4 урока, практическое задание
Списки 3 урока, практическое задание
Адаптация и стилизация 1 урок, практическое задание
- Навигация
4 урока, практическое задание
Погружение в Route и Navigator
Передача параметров
Диалоги и боттомшиты
Именованные роуты
- Работа с сетью и асинхронные события
5 уроков, 4 практических задания
HTTP, DIO 1 урок, практическое задание
Асинхронные события 2 урока, практическое задание
Потоки данных 1 урок, практическое задание
Обработка ошибок 1 урок, практическое задание
- Архитектурные паттерны
6 уроков, практическое задание
DI
Введение в архитектуру Vanilla, InheritedWidget, Provider
MobX
Bloc
Redux
MWWM
- Анимации
3 урока, практическое задание
Основы, Explicit animations
Implicit animations
Hero анимации, Анимация Route
- Взаимодействие с платформой
5 уроков, 2 практических задания
Хранение данных 3 урока, практическое задание
Написание платформенных плагинов 2 урока, практическое задание
- Подготовка к релизу
3 урока, практическое задание
Подпись приложения
Особенности Android проекта
Особенности iOS проекта
Мобильный разработчик на Flutter
Кроссплатформенная мобильная разработка
Этот курс подходит вам, если:
— у вас уже есть опыт в программировании, и вы хотите научиться писать мультиплатформенные мобильные приложения, использующие одну и ту же кодовую базу для iOS и Android.
Цель курса — научиться создавать современные кроссплатформенные приложения с помощью Flutter.
Вы научитесь:
- новому языку Dart. Этот язык очень гибок и легок в использовании. Именно поэтому разработчики Flutter выбрали именно его. Освоив Dart, вы сможете писать Android-, iOS-, Web- и даже Desktop-приложения;
- понимать, как работает Flutter изнутри. Flutter достаточно прост, чтобы начать решать с помощью него задачи в первый же день обучения. Но очень важно разобраться, как он работает, чтобы не совершать критических ошибок;
- использовать platform-specific code для интеграции с нативной частью мобильного приложения. Если вам нужен доступ к hardware или какому-либо сложному модулю, который требователен к производительности, то Flutter может взаимодействовать с нативным кодом и решать даже эти задачи;
- создавать свои собственные анимации. Во Flutter очень хорошо развита возможность создавать анимации. И это понятно, т. к. Flutter использует Skia. Так что мы разберемся, как создать практически любую анимацию с помощью Flutter без какой-либо потери в производительности;
- использовать современные библиотеки и фреймворки. Мы разберем самые популярные фреймвоки для работы с состоянием приложения: Bloc, Redux, MobX. Посмотрим, как организовать DI во Flutter на примере inject.dart и фреймворка get_it.
Отзывы на сайте.
Необходимые знания
– опыт программирования на любом языке программирования.
– навыки использования git. Будет плюсом:
– знакомство с мобильной разработкой;
– опыт работы в Android Studio или VS Code;
– знание шаблонов проектирования.
Программа обучения
В процессе обучения вы получите комплексные знания и навыки.
Модуль 1. Dart & Flutter. Widgets
Тема 1. Dart. Language. Основы
Тема 2. Flutter. Основы. Пишем и запускаем первое приложение
Тема 3. Dart SDK. Flutter SDK. Tooling
Тема 4. Flutter. Компоновка и основные виджеты
Тема 5. Dart. Async и работа с сетью
Тема 6. Flutter. Списки. Scrollable. Slivers
Тема 7. Dart. Streams
Тема 8. Flutter. Builders. Keys
Тема 9. Flutter. Виджеты ввода данных. Gestures
Тема 10. Dart. Isolate
Модуль 2. Flutter. Анимация
Тема 11. Как устроена анимация во Flutter? Implicit animations
Тема 12. Explicit animations
Тема 13. Flutter. Painting. Работа с графикой
Тема 14. 3th-party animations. Подведение итогов — правильный выбор анимации
Модуль 3. Flutter. Навигация
Тема 15. Навигация и переходы во Flutter
Тема 16. Диалоги. Всплывающие окна
Модуль 4. Flutter. State management
Тема 17. Persistence. Работа с БД, файлами и SharedPreference
Тема 18. Варианты популярных архитектур Flutter приложения + dependency injection
Тема 19. Обзор Bloc
Тема 20. Обзор Redux
Тема 21. Обзор MobX
Модуль 5. Advanced Flutter
Тема 22. Обзор специфики платформ Android, iOS. Взаимодействие с нативным кодом
Тема 23. Обзор специфики Flutter for web
Тема 24. Flutter Engine и обзор технологии Add to App
Модуль 6. Flutter. Тестирование и профилирование
Тема 25. Анализ работы приложения. Сохраняем 60 fps в секунду
Тема 26. UI- и Unit-тестирование
Модуль 7. Проектная работа
Тема 27. Консультация по проектам и домашним заданиям
Тема 28. Защита проектных работ
- #0 — Введение в курс
- #1 — Что такое Flutter
- #10 — Виджет TextStyle / Colors
- #11 — Как изменить шрифт
- #12 — Hot Reload vs Hot Restart
- #13 — Stateless виджеты
- #14 — Виджет RichText / TextSpan
- #15 — Виджет Image / AssetImage / NetworkImage
- #16 — Виджет SvgPicture / Vector Images
- #17 — Виджет Icon / IconButton
- #18 — Пользовательские иконки / CustomIcons
- #19 — Виджет Align / Center
- #2 — Как установить Flutter
- #20 — Виджет Padding / EdgeInsets
- #21 — Виджет Container
- #22 — Виджет BoxDecoration / Gradient
- #23 — Виджет Column
- #24 — Виджет Row / TextBaseline Enum
- #25 — Виджет SizedBox
- #26 — Виджет Expanded
- #27 — Виджет Stack / Positioned
- #28 — Виджет Wrap
- #29 — Виджет ListView
- #3 — Как установить Android Studio и Android SDK
- #30 — Создаем Event class
- #31 — Виджет Card
- #32 — Виджет ListTile
- #33 — Реструктуризация / Flutter Outline
- #34 — Stateful виджеты
- #4 — Как создать Android Virtual Device
- #5 — Как установить Visual Studio Code
- #6 — Структура проекта Flutter
- #7 — Что такое Widget
- #8 — Виджет MaterialApp
- #9 — Виджет Scaffold
- От идеи до приложения
- Начните сейчас изучать Flutter
- Примеры приложений на Flutter
- Новые заметки
- Flutter 2.2: что нового?
- Представляем Dart 2.13
- Создание адаптивного пользовательского интерфейса
- Создание бит-машины во Flutter
- Анонс Dart 2.12
- Повтор знаменитой игры с тираннозавром при помощи Flutter и Flame
- Представляем Flutter 2.0
- Context — как это работает во Flutter
- Анонс Flutter 1.22
- Views (экраны) и диалоговые окна — пошаговая инструкцию с Flame и Flutter (часть 3 из 5)
- Анимация и графика в играх: пошаговое обучение с Flame и Flutter (часть 2 из 5)
- Пошаговая инструкция при помощи Flame и Flutter (часть 1 из 5)
- Основы Dart 2.x (Коллекции)
- Создание мобильных игр при помощи Flutter и Flame для начинающих
- Представляем Вам Flutter 1.17!
- Представляем Dart 2.8!
- Flutter — создание версии приложения с мгновенным запуском для Google Play Маркет
- Сохранение pdf файла во Flutter web
- Flutter for web — создание веб-приложения
- Введение в разработку на Flutter для Интернета
- Уроки Flutter и Dart с нуля / #1 – Разработка мобильных приложений для начинающих
- #2 – Изучение языка Dart. Основные концепции
- #3 – ООП и Dart. Создание классов и объектов
- #4 – Создание Flutter проекта
- #5 – Основные виджеты приложени
- #6 – Изображения, кнопки и контейнеры
- #7 – Система сеток «Grid System». Создание приложения с дизайном
- #8 – Создание приложеия «Список дел»
- #9 – Навигация и меню приложения
- #10 – Подключение базы данных Firebase
- #11 – Заключительный урок по Flutter
Flutter способен на многое. Начиная от создания простого проекта с одной страницей и до создания полноценного приложения, где у вас будет множество функций, красивый дизайн, безопасность и подключение к базе данных.
За курс мы с вами изучим язык Dart, научимся его использовать для построения консольных проектов. Дополнительно мы изучим Flutter, узнаем какие в нем есть компоненты, виджеты и события. На основе Flutter мы за курс создадим несколько приложений с красивым и разнообразным дизайном.
Чему вы научитесь
- Создавать приложения для iOS и Android, используя только один язык программирования (Dart)
- Понимать основные концепции Flutter
Содержание
Раздел 1: Введение
- Что такое Flutter?
- Установка Flutter и Android Studio (Windows)
- Установка Android Emulator (Windows)
- Установка VS Code (Windows)
- Ссылки для курса, ДЗ, обсуждения
Раздел 2: Основы
- Обзор папок во Flutter приложении
- Hot reload и Hot restart
- Введение в виджеты (Widgets)
- ДЗ по лекции «Введение в виджеты»
- MaterialApp
- Scaffold
- Типы виджетов
- Stateless Widget и его жизненный цикл
- Stateful Widget и его жизненный цикл
- Работа с Asset и Image
- Работа с Asset и Font
- ДЗ по блоку «Основы»
Раздел 3: Основы компоновки UI
- Введение
- Padding
- Align и Center
- Container
- Row и Column
- Expanded
- Stack
- Практика. Компоновка интерфейса
- Статический ListView
- Динамический ListView
- Динамический ListView. Отображение заголовка
- ДЗ по блоку «Основы компоновки UI»
Раздел 4: Навигация и передача данных
- Простая навигация
- Навигация по имени
- Простая передача данных между экранами
- Передача данных при навигации по имени
- Передача данных с onGenerateRoute
- Передача данных с предыдущего экрана
Раздел 5: Взаимодействие с пользователем
- Form
- TextField и TextFormField
- Стилизация полей ввода
- Ограничение ввода в поля формы
- Получение текста из полей формы
- Валидация полей формы
- Выпадающий список
- «Фокусировка» полей ввода
- SnackBar
- AlertDialog
- Использование жестов
- Отправка формы
- Исходный код
- ДЗ по работе с виджетом Form
Раздел 6: Пакеты и зависимости
- Пакеты и зависимости
- Управление версиями пакетов
- Неопубликованные пакеты
Раздел 7: Работа с сетью
- Работа с HTTP
- Введение в JSON
- Ручная сериализация JSON. Создание модели
- Ручная сериализация JSON. Отображение данных
- Авто генерируемая сериализация JSON
Раздел 8: Управление состоянием
- Типы состояний. Введение
- Vanilla (setState())
- InheritedWidget
- ScopedModel
- Provider. Теория
- Provider. Практика
- ДЗ по Provider
Раздел 9: Хранение данных на устройстве
- Работа с файлом (Чтение/Запись)
- Плагин shared_preferences
- Работа с SQLite
Раздел 10: Практика. Погодное приложение
- Введение
- Создание модели
- Реализация запроса и отображение данных
- Отображение города и даты
- Отображение температуры
- Отображение давления, осадков и ветра
- Отображение прогноза погоды за неделю
- Получение погоды по названию любого города
- Получение погоды по геолокации устройства
- Исправление ошибок
- Исходный код
Раздел 11: BLoC
- BLoC. Теория
- BLoC на потоках (Stream)
- BLoC (flutter_bloc 4.0)
- Flutter BLoC 4.0. Работа с сетью
- Flutter BLoC 6.0. Работа с сетью
- Flutter Cubit 6.0. Работа с сетью
Раздел 12: Чистая Архитектура (The Clean Architecture)
- Что будем проектировать?
- Чистая Архитектура. Введение.
- Структура приложения
- Уровень домена: Entity и Equatable
- Уровень домена: Repository
- Уровень домена: UseCases
- Уровень данных: Обзор
- Уровень данных: Models
- Уровень данных: Remote data source
- Уровень данных: Local data source
- Уровень данных: Repository
- Уровень представления: Обзор
- Уровень представления: BLoC
- Уровень представления: Cubit
- Внедрение зависимостей (Dependency Injection)
- Уровень представления: Отображение списка персонажей
- Уровень представления: Детальная информация о персонаже
- Уровень представления: Поиск персонажа
- Заключение и ДЗ
Раздел 13: Работа с Null Safety
- Что такое Null Safety?
- Основные принципы Null Safety
- Иерархия типов
- Flow Analysis: Promotion & Definite Assignment
- Null-aware операторы
- Каскадный null-aware оператор
- Модификатор late
- Работа с коллекциями
- Работа с параметрами класса
- Миграция на Null Safety
Раздел 14: Анимация (Раздел в разработке)
- Введение. Пользовательская анимация
- AnimationController и Animation
- Контроль за ходом анимации
- Анимация на основе кривых (Curves)
- Одновременная анимация
- Поэтапная анимация
Flutter — SDK от Google, выпущенный в декабре 2018 года. Используется для создания приложений под Android ,iOS, Web, DeskTop, а также это единственный способ разработки приложений под Google Fuchsia.
Операционная система Fuchsia разработана на языке Dart. Если Android был написан на основе linux, то Fuchsia содержит свое ядро. Будет применяться для iot устройств, телефонов планшетов и ПК.
Работай там , где больше нравится. Поддерживается средой разработки: (Android Studio, IntelliJ IDEA, Xcode, VS) экспорт визуальный компонентов из adobeXD!!!
dart
Язык Dart (его легко изучить тем, кто пишет на java, java script, c++, c#)
На данный момент самый быстро растущий язык программирования
multiplatform
мультиплатформенность (один код работает везде, как нативный).
экономия времени для написания и поддержки приложений
DESIGN
Выбирай для своих приложений лучше компоненты из обоих ОС.
Поддержка Material Design (стил Андроид) + cupertino (стиль IOS) —
community
быстро растущее комьюнити (уже больше 1 млн) , поддержка от Google
Познакомьтесь с возможностями Flutter — открытого фреймворка от Google. В книге описываются история Flutter, его функционал и конкретные примеры использования. Вы узнаете, как создавать проекты на Flutter и грамотно их структурировать, компоновать пользовательский интерфейс, используя готовые элементы (виджеты, контролы, расширения), разрабатывать серверные backend-приложения и подключаться к ним из Flutter-приложении.
Практическим результатом работы с книгой станет создание трех полноценных приложений — органайзера, мессенджера и игры. Впоследствии изучение материала книги позволит вам перейти к более сложным проектам. Издание предназначено для разработчиков, желающих создавать мобильные приложения сразу для нескольких платформ на основе общей базы исходных кодов. Наличие опыта разработки программного обеспечения и знание основ iOS и Android приветствуется.
Приступайте к работе
Настройте свое окружение и начинайте программировать.
Каталог виджетов
Окунитесь в богатый набор виджетов Flutter, доступных в SDK.
Документы API
Сделайте закладку на справочные документы по API для фреймворка Flutter.
Кулинарная книга
Просмотрите кулинарную книгу для многих простых рецептов «Flutter».
Образцы
Посмотрите примеры Flutter.
Видеозаписи
Посмотрите множество видео на канале Flutter YouTube.
- Flutter
- Начнем
- Установка
- Установка Flutter на Windows
- Настройка редактора
- Тест-драйв
- Напишите свое первое приложение
- Установка
- Образцы и инструкции
- Галерея Flutter [запущенное приложение]
- Галерея Flutter [репозиторий]
- Примеры приложений на GitHub
- Разработка
- Пользовательский интерфейс (UI)
- Введение в виджеты
- Построение макетов
- Макеты в Flutter
- DART
- Пользовательский интерфейс (UI)
- Начнем
- Глава 1. Введение в Flutter
- Что такое Flutter. Установка
- Первое приложение
- Создание приложения в Android Studio
- Первое приложение в Visual Studio Code
- Введение в виджеты
- Глава 2. Контейнеры и управление компоновкой
- Align
- Center
- Padding
- ConstrainedBox
- Container
- Column
- Row
- Expanded
- Глава 3. Встроенные виджеты и создание своих виджетов
- Text
- RichText
- Stack
- StatelessWidget
- MaterialApp и Scaffold
- Image и вывод изображений
- Кнопка ElevatedButton
- StatefulWidget и состояние State
- GestureDetector и обработка нажатий
- TextField и TextFormField
- TextEditingController
- Глава 4. Списки в Flutter
- Виджет ListView
- Динамическое создание ListView
- Добавление в список разделителя
- Выбор элемента в списке
- ListTile
Добро пожаловать в мир кроссплатформенной разработки! Программа для студентов и начинающих разработчиков, где эксперты NIX Solutions научат тебя создавать кроссплатформенные приложения под Android и iOS, используя Flutter SDK и самые актуальные архитектуры и технологии.
КАКОЙ ОН — ИДЕАЛЬНЫЙ КАНДИДАТ:
- имеет базовые знания по ООП и информатике;
- имеет базовые знания по Flutter SDK;
- имеет базовые знания по Dart 2;
- знаком с code convention;
- пробовал создавать нативные приложения под iOS или Android.
БЛАГОДАРЯ ОБУЧЕНИЮ ТЫ СМОЖЕШЬ НАУЧИТЬСЯ:
- основам разработки кроссплатформенных мобильных приложений под Android и iOS, используя Flutter SDK и тому, как довести приложение от идеи до маркетов;
- основам gitflow;
- использовать современные библиотеки и фреймворки;
- работать с базой данных;
- работать с сервером;
- работать в команде.
Вы научитесь создавать кроссплатформенные приложения, использующие одну и ту же кодовую базу для iOS и Android. С помощью фреймворка Flutter и языка Dart сможете вырасти как мобильный разработчик.
- Длительность 4 месяца
- Онлайн в удобное время
- Обучение на практике
- Доступ к курсу навсегда
Кому подойдёт этот курс
- Опытным разработчикам
Вы освоите набирающий популярность фреймворк Flutter для мобильной разработки, повысите свой доход и станете более востребованным специалистом.
- Программистам других направлений
Вы познакомитесь с языком Dart и фреймворком Flutter, научитесь разрабатывать приложения для iOS и Android и сможете начать карьеру в мобильной разработке.
- Дизайнерам
Вы сможете создавать прототипы приложений и расширите свои компетенции в разработке дизайна, повысите свою ценность на рынке труда за счёт нового навыка.
Чему вы научитесь
- Разрабатывать приложения для разных платформ
Сможете создавать приложения, которые работают одинаково и на Android, и на iOS. Не придётся учить несколько языков программирования и делать приложения с нуля для каждой платформы.
- Работать с пользовательским опытом
Разберётесь с UX и научитесь создавать красивые и удобные пользовательские интерфейсы.
- Использовать hot reload
Научитесь работать с hot reload — возможностью Flutter, которая ускоряет разработку благодаря моментальной пересборке проекта при изменениях в коде.
- Создавать кроссплатформенные приложения
Научитесь создавать приложения с одинаковым отображением даже на старых версиях iOS и Android и не будете тратить время на поддержку старых устройств.
- Настраивать связь приложений с бэкендом
Разберётесь с отправкой и получением данных из сети и с сервера.
- Создавать плавные анимации
Сможете анимировать интерфейс приложений в 60 FPS благодаря возможностям языка Dart и фреймворка Flutter.
Программа
У вас должен быть опыт в программировании и знание одного из высокоуровневых языков. В программе — модули с онлайн-лекциями и практическими заданиями.
- 22 тематических модуля
- 90 онлайн-уроков
Основные модули
- Введение
- Описание структуры курса.
- Плюсы Flutter и Dart.
- Установка и настройка Flutter.
- Структура проекта.
- Code Styling.
- Основы Dart 2
- Введение.
- Типы данных.
- Переменные и константы.
- Коллекции.
- Операторы.
- Операторы управления потоком.
- Функции.
- ООП.
- Mixin.
- Generic.
- Flutter
- Введение.
- Подключение assets.
- Подключение пакетов.
- Полезные команды.
- Практика.
- StatefulWidget и StatelessWidget
- Введение.
- StatefulWidget.
- StatelessWidget.
- Keys.
- Cupertino vs Material
- Введение.
- Базовые виджеты layout.
- Cupertino.
- Material.
- Layout
- Введение.
- ListView.
- GridView.
- LayoutBuilder.
- SingleChildScrollView.
- Stack.
- AspectRatio.
- IntrinsicWidth/IntrinsicHeight.
- SliverList/SliverGrid.
- GestureDetector.
- PageView.
- Navigation
- Введение.
- Simple Navigation.
- GenerateRoute.
- Fluro.
- Cupertino.
- Асинхронность
- Введение.
- Future.
- Async/Await.
- FutureBuilder.
- Stream.
- StreamBuilder.
- Работы с формами
- Введение.
- Интро к модулю.
- HTTP + DIO.
- Сериализация и кодогенерация.
- Работа с формами. Обработка ошибок и отправка данных.
- Тестирование
- Введение.
- Юнит-тесты.
- Интеграционные тесты.
- Firebase
- Введение.
- Настройка firebase.
- Сохранение данных в firebase.
- Регистрация пользователя.
- Загрузка фото.
- Flutter State Management
- Введение.
- ValueNotifier, ChangeNotifier, Provider.
- Redux.
- Redux Thunk.
- MobX.
- Тема приложения
- Введение.
- Material.
- Cupertino.
- Объединение тем.
- Аnimations
- Введение.
- Hero animation.
- Simple animations.
- Анимации с помощью библиотек.
Бонусные модули от SimbirSoft
- DI
- Введение.
- Зависимости и внедрение зависимости.
- Пакет Injector.
- Архитектуры 1.0 (BLoC )
- Введение.
- Архитектура Bloc.
- Реализация своей архитектуры BLoC.
- Пакет flutter_bloc.
- MobX
- Введение.
- Архитектура MobX.
- Пакет flutter_mobx.
- Redux
- Введение.
- Архитектура Redux.
- Пакеты redux и
- Пакеты redux_thunk и
- Нативные модули
- Введение.
- Принцип работы platform channel и event channel.
- Пример работы с platform channel и event channel.
- Custom Paint
- Введение.
- Базовое устройство виджета и его жизненного цикла.
- Пример использования класса CustomPaint.
- Анимация примитивов внутри CustomPaint.
Бонусные модули
- Null-safety
- Введение.
- Для чего использовать null safety.
- Новый синтаксис.
- Миграция и инструменты для миграции.
- Включение null safety в проекте.
- Hive + shared preferences
- Введение.
- File + shared preferences.
- Hive.
Ваше резюме после обучения
- Должность Разработчик на Flutter
- Зарплата от: 150 000 ₽
Профессиональные навыки:
- Разработка кросс-платформенных мобильных приложений на Flutter
- Навыки работы с hot reload
- Умение работать с системой контроля версий Git
- Работа по методологии Scrum
- Знание популярных библиотек и приёмов разработки на языке Dart
- Создание удобных пользовательских интерфейсов
- Сети, настройка взаимодействия приложения с сетью и бэкендом
- Работа в распределённой команде
Диплом Skillbox
Подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.