Руководство разработчика для Flutter, часть 1

С момента своего долгожданного запуска Flutter привлек к себе много внимания, и мы тоже очень рады этому! Я надеюсь, что огромная часть неигровых приложений перейдет на Flutter, и в преддверии этого мы обучаем нашу команду работе с ним.

Так как в интернете есть новые, но немногочисленные ресурсы по изучению Flutter, мы составили наш учебник по Flutter, чтобы разработчики сразу же приступили к разработке приложений на Flutter.

В этом руководстве по Flutter для начинающих мы рассмотрим:

  • Flutter: Что, как и почему?
  • Настройка Flutter
  • Основы Dart
  • Основы Flutter
  • Виджеты
  • Макеты
  • Интерактивные виджеты
  • Проектирование приложения: Формы, жесты и изображения
  • Списки и навигация
  • Работа в сети
  • JSON и сериализация
  • Управление зависимостями
  • Управление состояниями
  • Тестирование (модульное и интеграционное)

Flutter : Что, как и почему?

Что такое Flutter и чем он отличается от других? Помните, что Flutter был создан для работы на любом устройстве с экраном и работает с ним:

iOS и Android
Web и Desktop (Mac, Windows и Ubuntu) — Даже поддержка PWA
Авто
Raspberry Pi (стадия POC)
Посмотрите это видео от Google чтобы получить представление — сравнение нативной разработки, разработки гибридных приложений, разработки React Native и, наконец, разработки приложений на Flutter.

Настройка Flutter

Настройка Flutter относительно проста и зависит от того, какую ОС вы используете; вы можете ознакомиться с шагами в этом официальном руководстве по Flutter:

https://flutter.dev/docs/get-started/install

Но если вдруг вы столкнетесь с какими-то проблемами, посмотрите здесь: https://github.com/flutter/flutter/wiki/Workarounds-for-common-issues#flutter-installation.

Причина, по которой мы просим установить Flutter до Dart, заключается в том, что при установке Flutter вы устанавливаете и Dart, и хотя вы можете установить dart отдельно, это будет лишним шагом. Flutter сам решит, какая версия dart будет использоваться, поэтому установка разных версий dart также будет неоднозначной.

После того как вы скачали и разархивировали Flutter, при выполнении команды flutter в консоли вы должны увидеть что-то вроде этого:

flutter development

Если вы новичок в мобильной разработке в целом, вам также потребуется загрузить Xcode и Android Studio (и инструментарий). После того как вы установили Flutter, создание нового проекта — это всего лишь одна команда.

Основы Dart

Flutter использует язык Dart для создания приложений.

Flutter и Chrome используют один и тот же движок рендеринга — SKIA. Вместо того чтобы взаимодействовать с родными API, он управляет каждым пикселем на экране, что дает ему столь необходимую свободу, а также производительность.

Изучайте Dart

Ознакомьтесь с официальной документацией по языку Dart, экскурсией и примерами языка.

Как только вы получите общее представление, отправляйтесь на http://jpryan.me/dartbyexample/ и выполняйте все примеры.

Практика, практика, практика!
Для начала отредактируйте свой код на DartPad, чтобы лучше освоиться. Уверен, вы быстро освоитесь!

Основы Flutter

Теперь, когда вы знакомы с Dart, пришло время перейти к Flutter.

Начнем с технического обзора:

И создадим новое приложение на основе flutter с помощью:

$ flutter create app_name

И вы должны увидеть что-то вроде этого:

android studio

Откройте проект в Android Studio, загрузите эмулятор и версию Android, если это еще не сделано, запустите проект — и вуаля!

Flutter demo

Разберитесь, как следует структурировать каталог проекта и понять, какие файлы для чего предназначены

Структура проекта Flutter

Теперь, когда вы настроили Flutter, пришло время сделать то, что делают все разработчики! Использовать чужой код 😆 — я имею в виду создание файла пакета: pubspec, написанного на YAML.

Файл pubspec

Виджеты

Помните — во Flutter все является виджетом

Если вы не читали технический обзор, вернитесь и прочитайте его 🙂 Вы получите достаточное представление о том, что такое виджеты. Виджеты бывают двух видов: stateless и stateful

Виджеты без состояния — это те, состояние которых не меняется, например, кнопка или изображение. Как следует из названия, они не меняют своего состояния, когда на экране происходит какое-либо действие.

Посмотрите короткую серию видео, а также документацию Google для более детального изучения (я прикрепляю первое видео из этой серии).

Когда виджету нужно хранить какое-то состояние, например текущую страницу в PageView, выбранную вкладку в BottomNavigationBar, виджеты Stateful — это правильный выбор.

StatefulWidgets может хранить текущее состояние виджета. Вместо метода создания виджета у Stateful-виджета есть метод создания состояния, который вызывается каждый раз, когда мы явно вызываем setState.

Кроме того, посмотрите документацию (в ней есть видео) по виджетам Stateful здесь:

Класс StatefulWidget

Макеты во Flutter

Как мы уже говорили, во Flutter все является виджетом — в том числе и модели макетов.

Ознакомьтесь с документацией здесь:

Макеты во Flutter

Виджеты, такие как строки, столбцы и сетка, являются виджетами макетов (которые мы не видим на экране), которые помогают другим видимым виджетам упорядочиваться, ограничиваться и выравниваться.

⏰ Время для Codelab: Напиши свое первое приложение для Flutter: Часть-1

Во второй части продолжим изучение Flutter!

Вторая чать — https://starinsky.net/2023/12/27/flutter-base-2/

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии