На этой странице

Когда выбирать Dart

  1. 1Типы и синтаксис
  2. 2Effective Dart
  3. 3Async и isolates
  4. 4FFI и VM
ЭтапЧто получится
Типы и синтаксисМоделировать данные и состояния
Effective DartПроектировать понятные интерфейсы
Async и isolatesОтличать ожидание от вычисления
FFI и VMПонимать границу Dart и нативного кода

Начните здесь, если выбрали Flutter или хотите разобраться в Dart отдельно. Для Flutter достаточно пройти основы типов и асинхронности; FFI и внутренности VM — дополнительные темы, когда проекту действительно нужна нативная библиотека или диагностика runtime.

Язык и стиль

Dart Language

вход с акцентом на отличия языка

При наличии опыта программирования не обязательно долго сидеть на переменных и циклах. Гораздо полезнее внимательно разобрать null safety, generics, records, patterns и class modifiers. Особенно sealed, interface, base и final: это инструменты проектирования API и моделей состояний, а не декоративный синтаксис.

Справочный ID 17Начните здесь

Effective Dart

самый полезный второй материал после синтаксиса

Четыре раздела: Style, Documentation, Usage и Design. Особого внимания заслуживают Usage и Design: как пользоваться языком идиоматично и делать понятные API. Это способ перестать писать на Dart так, будто перед тобой Java или JavaScript с другим расширением файла. Многие рекомендации связаны с проверками анализатора.

Асинхронность и параллелизм

Справочный ID 18Начните здесь

Futures, async и await и Streams

ожидание, ошибки и поток событий

Изучите, как ожидать один результат, передавать ошибки и подписываться на последовательность событий. Это основа для сетевого слоя и потоковых данных. Разбор ошибок Future API пригодится при чтении callback-кода: документация прямо говорит, что для обычного кода на async/await он не нужен.

Справочный ID 19Начните здесь

Concurrency in Dart

event loop и isolates без магического мышления

Главное — понять разницу между асинхронным ожиданием и параллельным вычислением. async не переносит тяжёлый CPU-код на отдельное ядро. Документ разбирает модель isolates, обмен сообщениями, Isolate.run и более долгоживущих workers. Для сетевого и системного бэкграунда это один из наиболее содержательных материалов во всей Flutter-части.

Нативная граница и VM

C interop using dart:ffi

связка Dart с нативной библиотекой

Вызовы C API, указатели, структуры, нативная память и генерация bindings через ffigen. Особенно релевантно при интересе одновременно к Qt/C++ и Dart. Но FFI не означает «импортировал произвольный C++-класс Qt»: здесь интерфейс строится вокруг C ABI, а для C++ обычно нужен соответствующий внешний слой.

Обзор платформы и runtime Dart

понять VM и границу JIT/AOT без привязки к внутренней реализации

Официальный обзор описывает Dart VM на нативных платформах, JIT при разработке, AOT для поставки, сборщик мусора и isolates. Он помогает понять, где заканчивается язык и начинается runtime. Для деталей реализации конкретного релиза переходите к исходникам SDK; внутренняя документация может меняться независимо от этого обзора.

Дальше

Проверьте поведение приложения при потере сети и закрытии процесса. Для Android пригодится платформенный маршрут, перед релизом — безопасность и выпуск.

Материалы могут обновляться. Проверяйте требования к версиям перед началом работы.