Учебник по Flutter

Flutter — это UI-инструментарий для создания кроссплатформенных приложений, разработанный и поддерживаемый Google. Он позволяет разработчикам использовать единую кодовую базу для одновременного создания нативно компилируемых приложений для iOS, Android, Web, Windows, macOS и Linux.

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


Кому следует читать это руководство?

Этот учебник подходит разработчикам с опытом программирования. Если вы уже понимаете основные концепции объектно-ориентированного программирования (такие как классы, объекты и функции), вы сможете быстро начать работу с Flutter.

Не волнуйтесь, если вы не знакомы с языком Dart. Flutter написан на Dart, но его синтаксис похож на такие языки, как JavaScript, Java или C#, что облегчает изучение.


Что нужно знать перед изучением этого учебника

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


Возможности Flutter

Основные причины, по которым Flutter стал популярным выбором для кроссплатформенной разработки, включают следующее:

ОсобенностиОписание
Кроссплатформенная разработкаСоздавайте приложения для iOS, Android, Web, Windows, macOS и Linux из единой кодовой базы
Горячая перезагрузкаПосле изменения кода вы можете просматривать изменения в реальном времени без перезапуска приложения, что делает разработку чрезвычайно эффективной.
Богатая библиотека компонентовПредоставляет две основные библиотеки компонентов: Material Design (стиль Material) и Cupertino (стиль iOS)
Высокопроизводительный рендерингИспользует графический движок Skia и собственный рендерер Impeller для достижения плавной анимации 60fps.
выразительный UIМощный декларативный UI-фреймворк, поддерживает пользовательские виджеты, удовлетворяя различные требования к дизайну.
Высокая эффективность разработкиЕдиный язык Dart, один набор компонентов Widget, большое количество встроенных возможностей.

Сценарии использования Flutter

СценарииОписание
Разработка мобильных приложенийСоздавайте нативные приложения для iOS и Android с одной кодовой базой, работающей на обеих платформах
Веб-приложенияСоздавайте адаптивные веб-приложения, которые можно развертывать в браузерах.
Настольные приложенияСоздавайте настольные приложения для Windows, macOS и Linux
Быстрая проверка прототипаФункция горячей перезагрузки делает быстрые итерации и прототипирование очень эффективными.
Корпоративные приложенияПодходит для приложений корпоративного уровня, которые необходимо развёртывать на нескольких платформах.

Техническая архитектура Flutter

Flutter использует слоистую архитектуру, включающую в основном следующие три слоя:

УровеньОписание
Framework (слой фреймворка)UI-фреймворк, реализованный на Dart, включая виджеты, рендеринг и анимации.
Engine (слой движка)Движок рендеринга, реализованный на C++, включая Skia/Impeller и среду выполнения Dart
Embedder (слой встраивания)Платформозависимый слой встраивания, который встраивает Flutter в каждую платформу.

Основная философия дизайна Flutter — "всё есть Widget". Будь то простой текст или сложные макеты страниц, всё состоит из Widgets.


Почему стоит выбрать Flutter?

Критерий сравненияFlutterReact NativeНативная разработка
Язык программированияDartJavaScript/TypeScriptSwift/Kotlin/Java
Метод рендерингаСобственный движок рендеринга (Skia/Impeller)Сопоставление нативных компонентовНативный рендеринг
ПроизводительностьВысокий (близко к нативному)Средний (требует моста)Наивысшая
Повторное использование кодаОдна кодовая база, несколько платформОдна кодовая база, несколько платформНужно писать отдельно
Кривая обученияСредний (язык Dart)Средний (требуется знание React)Относительно высокий (несколько языков)

Связанные ссылки

РесурсыАдрес
Официальный сайт Flutterhttps://flutter.dev
Официальная документация Flutterhttps://docs.flutter.dev
Справочник по API Flutterhttps://api.flutter.dev
Каталог компонентов Flutterhttps://docs.flutter.dev/ui/widgets
Другие расширения