Перейти к основному содержимому

Первая программа на Dart

Разработчику Архитектору Инженеру

Play ITЗагрузка интерактивного демо…


Первая программа на Dart​

Где применяют Dart​

Dart — язык от Google для Flutter (мобильные и desktop UI) и для компиляции в JS/native. Синтаксис похож на Java/C#; строгая типизация с выводом типов.

Сначала учим консольный dart run — так же устроен entry point во Flutter-проекте (void main()).

Дальше: раздел Dart и Flutter в энциклопедии; экраны с разбором — Flutter — готовые виджеты.


Что получится​

ЭтапРезультат
SDKdart --version
Проектdart create -t console
Запускdart run
Дальшетипы, async, Flutter

Подготовка к работе​

Для начала работы с Dart требуется компьютер под управлением операционной системы Windows, macOS или Linux. Dart не требует специализированного оборудования, и большинство современных устройств справляются с его использованием без ограничений. Основные компоненты, которые необходимо установить:

  1. SDK Dart — набор инструментов разработчика, включающий компилятор, виртуальную машину, утилиты командной строки и стандартную библиотеку.
  2. Текстовый редактор или интегрированная среда разработки (IDE) — для написания и редактирования кода.
  3. Терминал или командная строка — для выполнения команд установки и запуска программ.

Все эти компоненты бесплатны и доступны для скачивания из официальных источников.


Установка Dart SDK​

Dart SDK является центральным элементом экосистемы. Он предоставляет всё необходимое для компиляции и выполнения Dart-программ. Установка осуществляется через официальный сайт dart.dev.

На Windows:

  1. Перейдите на страницу https://dart.dev/get-dart.
  2. В разделе "Windows" нажмите на ссылку для скачивания ZIP-архива последней стабильной версии Dart SDK.
  3. Распакуйте архив в удобное место, например, в папку C:\dart-sdk.
  4. Добавьте путь к папке bin внутри распакованного каталога (C:\dart-sdk\bin) в переменную среды PATH:
    • Откройте "Панель управления" → "Система" → "Дополнительные параметры системы".
    • Нажмите "Переменные среды".
    • В разделе "Системные переменные" найдите Path, выберите её и нажмите "Изменить".
    • Добавьте новый путь: C:\dart-sdk\bin.
  5. Перезапустите терминал или командную строку.
  6. Проверьте установку, выполнив команду:
dart --version

На экране должна отобразиться версия установленного SDK.

На macOS:

Установка через менеджер пакетов Homebrew — самый простой способ.

  1. Убедитесь, что установлен Homebrew. Если нет — установите его с brew.sh.
  2. Выполните в терминале:
brew tap dart-lang/dart
brew install dart
  1. После завершения установки проверьте версию:
dart --version

На Linux (Ubuntu/Debian):

  1. Добавьте официальный репозиторий Dart:
sudo apt-get update
sudo apt-get install apt-transport-https
wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/dart.gpg
echo 'deb [signed-by=/usr/share/keyrings/dart.gpg] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main' | sudo tee /etc/apt/sources.list.d/dart_stable.list
  1. Обновите список пакетов и установите Dart:
sudo apt-get update
sudo apt-get install dart
  1. Проверьте установку:
dart --version

После успешной установки Dart SDK готов к использованию.


Выбор среды разработки​

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

Рекомендуемые варианты:

  • Visual Studio Code (VS Code) — лёгкая, быстрая и гибкая среда с отличной поддержкой Dart через официальное расширение.
  • Android Studio — полноценная IDE, особенно полезна, если вы планируете использовать Dart вместе с фреймворком Flutter для разработки мобильных приложений.
  • IntelliJ IDEA Community Edition — мощная среда от JetBrains с поддержкой Dart через плагин.

Установка VS Code и расширения Dart:

  1. Скачайте и установите VS Code с code.visualstudio.com.
  2. Запустите VS Code.
  3. Перейдите в раздел расширений (значок квадратика слева).
  4. В поиске введите Dart.
  5. Установите официальное расширение от Dart Code Team.
  6. После установки перезапустите VS Code.

Теперь редактор автоматически распознаёт файлы с расширением .dart, предлагает автодополнение и подсвечивает ошибки.


Создание первой программы​

Первая программа на любом языке традиционно выводит фразу "Hello, World!". Это позволяет убедиться, что окружение настроено правильно и язык работает как ожидается.

Шаг 1. Создание проекта

Рекомендуемый способ — шаблон SDK (сразу появляются pubspec.yaml и структура каталогов):

dart create -t console hello_dart
cd hello_dart

Шаблон console кладёт точку входа в bin/hello_dart.dart. Для одного файла без обёртки можно по-прежнему создать папку вручную (mkdir hello_dart) и положить туда main.dart.

Шаг 2. Код программы

Откройте bin/hello_dart.dart (или свой main.dart) в редакторе.

Шаг 3. Написание кода

В сгенерированном шаблоне замените содержимое bin/hello_dart.dart (или main.dart) на:

void main() {
print('Hello, World!');
}

Разбор:

  • void main() — точка входа программы; void означает, что функция ничего не возвращает.
  • Фигурные скобки {} ограничивают тело функции.
  • print('Hello, World!') выводит строку в консоль через стандартную функцию из dart:core.
  • Это минимальный валидный Dart-скрипт: одна функция main и один вызов print.

Аргументы командной строки:

void main(List<String> args) {
final name = args.isEmpty ? 'мир' : args.first;
print('Привет, $name!');
}

Разбор:

  • List<String> args получает аргументы после имени скрипта (dart run bin/hello_dart.dart Timur).
  • args.isEmpty проверяет, передал ли пользователь имя.
  • args.first берёт первый аргумент; при отсутствии подставляется 'мир'.
  • Запуск: dart run bin/hello_dart.dart Timur → Привет, Timur!.

Мини-пакет lib/ + bin/:

// lib/greet.dart
String greet(String name) => 'Привет, $name!';

// bin/hello_dart.dart

import 'package:hello_dart/greet.dart';

void main(List<String> args) {
final name = args.isEmpty ? 'мир' : args.first;
print(greet(name));
}

Разбор:

  • Код библиотеки лежит в lib/, исполняемый entrypoint — в bin/.
  • import 'package:hello_dart/greet.dart' подключает функцию из пакета (имя пакета = name в pubspec.yaml).
  • greet(name) инкапсулирует логику приветствия, а main остаётся тонкой точкой входа.
  • Такой шаблон масштабируется: в lib/ растёт доменная логика, в bin/ — CLI-команды.

Этот код соответствует минимальным требованиям Dart-программы и демонстрирует базовую структуру.


Запуск программы​

Из каталога hello_dart:

dart run

В ответ вы увидите:

Hello, World!

В каталоге без pubspec.yaml укажите файл явно: dart run bin/hello_dart.dart или dart run main.dart. Команда dart run — предпочтительный способ запуска пакетов и entrypoint из pubspec.yaml.

Альтернативный способ — через VS Code:

  1. Откройте bin/hello_dart.dart в VS Code.
  2. Нажмите F5 или выберите "Run and Debug" в боковой панели.
  3. Если система запросит конфигурацию, выберите "Dart & Flutter".
  4. Программа запустится, и результат появится во встроенной консоли VS Code.

Что происходит при запуске​

Когда вы выполняете dart run, Dart SDK запускает виртуальную машину Dart (Dart VM). Эта машина загружает исходный код, анализирует его, компилирует в промежуточное представление и немедленно выполняет. Такой подход называется JIT-компиляцией (Just-In-Time) и обеспечивает быстрый цикл разработки: изменения в коде сразу отражаются при перезапуске.

В отличие от языков, требующих отдельного этапа компиляции в исполняемый файл, Dart позволяет запускать скрипты напрямую, что упрощает обучение и экспериментирование.


Частые ошибки​

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

  • Убедитесь, что Dart SDK установлен и добавлен в PATH. Команда dart --version должна работать из любого каталога.
  • Проверьте путь к entrypoint: в шаблоне console это bin/hello_dart.dart (регистр имён важен на Linux и macOS).
  • Убедитесь, что код написан без опечаток. Например, Print вместо print вызовет ошибку, так как Dart чувствителен к регистру.
  • Если используется VS Code, убедитесь, что расширение Dart активно. Индикатор состояния в нижней строке должен показывать версию Dart.

Что попробовать​

  1. dart run bin/hello_dart.dart Timur — аргумент в main(List<String> args).
  2. dart analyze — статические замечания по проекту.
  3. Мини-пакет: вынесите функцию в lib/ и импортируйте в bin/.

Что изучить дальше​

После "Hello, World" — консоль, файлы и HTTP, классы и ООП, паттерны Dart 3. Для мобильного UI — Flutter и практическая галерея Flutter — готовые виджеты. Закрепление — чек-лист самопроверки.


Основа по протоколу

Базовый разбор HTTP и HTTPS находится в отдельной статье — HTTP как основа веб-интеграций.


В подборках​

Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:

Первые шаги (маршрут подборки) — Первая программа на Nim, Первая программа на R, Первая программа на Zig, Первая программа на Julia, Первая программа на Elixir, Первая программа на Bash.