Wiki · Технологии разработки
Dart
Dart – это язык программирования Google, на котором пишут приложения на Flutter. Код на Dart компилируется в машинный код для телефонов и компьютеров, а для браузера в JavaScript или WebAssembly.
Если подрядчик делает вам приложение на Flutter, весь код этого приложения написан на Dart. Отдельно от Flutter язык встречается редко, поэтому для заказчика вопрос «а что за Dart?» почти всегда означает вопрос про Flutter-команду: кого искать, как проверить их работу и что будет с кодом через пару лет.
Откуда взялся Dart и как выходят версии
Dart создала и развивает Google, язык открытый. Его представили в 2011 году как язык для браузерных приложений, но массово он разошёлся только вместе с Flutter. В мае 2023 года вышел Dart 3: в нём защита от пустых значений (null safety) стала обязательной. На октябрь 2026 года актуальна версия 3.13, она вышла в августе 2026 года вместе с Flutter 3.47. Новые версии Dart выходят примерно раз в квартал, в один день с очередным Flutter. Пропускать их годами невыгодно: несовместимости накапливаются, и разбирать их потом приходится все сразу.
Null safety и hot reload: что язык даёт приложению
Главная особенность Dart, которую заметит даже заказчик, это строгая работа с пустыми значениями. Возьмём анкету клиента, где телефон указывать не обязательно:
String name = 'Анна'; // имя есть всегда String? phone; // телефон может быть пустым print(phone ?? 'не указан');
Знак вопроса после типа говорит: здесь может быть пусто. Если программист забудет обработать пустой телефон, программа просто не соберётся. В языках без такой проверки эта ошибка всплывает уже у пользователя, когда приложение падает на экране профиля.
Второе важное свойство: у Dart два режима работы. Во время разработки код выполняется в виртуальной машине, и правки видны на телефоне почти сразу (hot reload). В релизе код заранее компилируется в машинный код ARM или x64, поэтому приложению не нужно ничего компилировать на телефоне при запуске.

Язык за пределами мобильных приложений
- Мобильные и настольные приложения на Flutter. Это основная область.
- Веб-приложения: Dart компилируется в JavaScript или WebAssembly. Для сайтов, которые продвигают в поиске, такой подход обычно не берут, подробности в статье JavaScript SEO. Документация Flutter для таких сайтов советует обычный HTML или фреймворк Jaspr, который сообщество написало на Dart.
- Серверные программы и утилиты командной строки. Это возможно, но встречается редко: серверную часть чаще пишут на других языках. Брать Dart для сервера только потому, что приложение на Flutter, не стоит: язык сервера подбирают под задачу и команду, которая будет его поддерживать.
Dart, Kotlin, Swift и TypeScript: кто развивает и для чего берут
| Язык | Кто развивает | Для каких задач берут |
|---|---|---|
| Dart | Приложения на Flutter для iOS, Android, веба и компьютеров из одного кода | |
| Kotlin | JetBrains | Нативные Android-приложения, серверы, общая логика через Kotlin Multiplatform |
| Swift | Apple | Нативные приложения для iPhone, iPad, Mac |
| TypeScript | Microsoft | Сайты и веб-приложения, мобильные приложения на React Native |
Разница с Flutter, JavaScript и Kotlin, SDK и поиск разработчика
Dart и Flutter: в чём разница?
Dart это язык программирования, а Flutter фреймворк на нём, из которого собирают интерфейс и логику приложения. Работать с Flutter без знания Dart не получится, а вот Dart без Flutter встречается редко.
Чем Dart отличается от JavaScript?
Dart проверяет типы и пустые значения ещё при сборке, а JavaScript без надстроек вроде TypeScript находит такие ошибки только во время работы программы. На телефоне код на Dart исполняется как машинный, JavaScript же работает через движок. Для браузера Dart как раз компилируется в JavaScript или WebAssembly.
Kotlin или Dart: в чём разница для мобильной разработки?
Kotlin развивает JetBrains, это основной язык нативных Android-приложений, на нём же пишут серверы, а общую логику можно вынести и на iOS через Kotlin Multiplatform. Dart берут вместе с Flutter, когда один код отвечает и за логику, и за экраны на всех платформах.
Как переводится Dart?
С английского dart переводится как «дротик», произносят «дарт». В поиске слово путается с дартсом и машиной Dodge Dart, поэтому про язык удобнее искать с уточнением: «язык dart» или «flutter dart».
Где скачать Dart SDK?
Если вы ставите Flutter, отдельно скачивать Dart не нужно: Dart SDK уже входит во Flutter SDK. Для серверных программ и утилит без Flutter его берут на dart.dev, там же лежит документация языка. Всё бесплатно.
Как работает Dart: компилирует код или интерпретирует?
И то и другое, смотря на каком этапе. При разработке код идёт через виртуальную машину с JIT-компиляцией, поэтому изменения появляются на экране телефона примерно за секунду. Для релиза его заранее переводят в машинный код ARM или x64, а для браузера в JavaScript или WebAssembly.
Где искать разработчика на Dart?
Среди Flutter-разработчиков: отдельно от Flutter на Dart почти не пишут. Если готового специалиста нет, на Dart без долгого обучения переходят программисты с Java и TypeScript, синтаксис у этих языков похож. На собеседовании полезно попросить показать проект с тестами и чистым отчётом анализатора.
Кого искать и что проверить в унаследованном Flutter-проекте
Dart-разработчик на рынке почти всегда Flutter-разработчик. Специалистов меньше, чем тех, кто пишет на JavaScript, но синтаксис Dart похож на Java и TypeScript, и программисты с этих языков переходят на него без долгого обучения.
Если вы получили в наследство старый Flutter-проект, откройте файл pubspec.yaml в корне репозитория. Строка sdk показывает, под какую версию Dart писали код:
environment: sdk: '>=2.7.0 <3.0.0'
Если нижняя граница меньше 2.12, код написан без null safety. Dart 3 такой проект не соберёт, и перед любой доработкой понадобится миграция. Это отдельная работа, её оценивают до того, как обсуждать новые функции.
Анализатор, тесты и pub.dev: как проверить код
У Dart есть встроенный анализатор. Попросите подрядчика запустить его при вас:
dart analyze flutter test
Первая команда показывает ошибки и предупреждения в коде, вторая запускает тесты. Сотни предупреждений и ни одного теста говорят о проекте больше, чем любая презентация. По одному предупреждения безобидны, но если от них отмахиваться, через год их сотни, и любая правка начинает что-то ломать.
Сторонние библиотеки для Dart лежат в каталоге pub.dev. У каждого пакета там видны лайки разработчиков, число скачиваний и pub points: оценка качества по документации, статическому анализу, поддержке платформ и свежести зависимостей. Пакет, который давно не обновлялся или не поддерживает нужную платформу, в проект лучше не брать.

Перед заказом приложения проверьте, не закроет ли задачу удобная мобильная версия сайта: Dart и Flutter нужны, когда у вас действительно есть сценарий для приложения.
Приложения на Flutter и Dart проектируем и разрабатываем по услуге «Разработка мобильного приложения», кабинеты клиентов и сотрудников по услуге «Разработка личного кабинета». Если проект уже работает на Flutter и Dart, берём его на доработку и поддержку.
Документация языка, Flutter и справка pub.dev
- Документация Dart: обзор языка, null safety, история версий
- Документация Flutter: архитектура и FAQ
- pub.dev: справка по оценке пакетов
Остались вопросы по теме «Dart»?
Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.
Отвечает по темеСергей ЧерняковWeb-разработчикНад статьёй работали
Услуги
Услуги по теме
Посчитайте стоимость проекта за 2 минуты
Калькулятор соберёт смету по нашим тарифам: сайт, дизайн, интеграции и поддержка.
