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

Первая программа на 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.