Первая программа на Dart
Play ITЗагрузка интерактивного демо…
Первая программа на Dart
Где применяют Dart
Dart — язык от Google для Flutter (мобильные и desktop UI) и для компиляции в JS/native. Синтаксис похож на Java/C#; строгая типизация с выводом типов.
Сначала учим консольный dart run — так же устроен entry point во Flutter-проекте (void main()).
Дальше: раздел Dart и Flutter в энциклопедии; экраны с разбором — Flutter — готовые виджеты.
Что получится
| Этап | Результат |
|---|---|
| SDK | dart --version |
| Проект | dart create -t console |
| Запуск | dart run |
| Дальше | типы, async, Flutter |
Подготовка к работе
Для начала работы с Dart требуется компьютер под управлением операционной системы Windows, macOS или Linux. Dart не требует специализированного оборудования, и большинство современных устройств справляются с его использованием без ограничений. Основные компоненты, которые необходимо установить:
- SDK Dart — набор инструментов разработчика, включающий компилятор, виртуальную машину, утилиты командной строки и стандартную библиотеку.
- Текстовый редактор или интегрированная среда разработки (IDE) — для написания и редактирования кода.
- Терминал или командная строка — для выполнения команд установки и запуска программ.
Все эти компоненты бесплатны и доступны для скачивания из официальных источников.
Установка Dart SDK
Dart SDK является центральным элементом экосистемы. Он предоставляет всё необходимое для компиляции и выполнения Dart-программ. Установка осуществляется через официальный сайт dart.dev.
На Windows:
- Перейдите на страницу https://dart.dev/get-dart.
- В разделе "Windows" нажмите на ссылку для скачивания ZIP-архива последней стабильной версии Dart SDK.
- Распакуйте архив в удобное место, например, в папку
C:\dart-sdk. - Добавьте путь к папке
binвнутри распакованного каталога (C:\dart-sdk\bin) в переменную средыPATH:- Откройте "Панель управления" → "Система" → "Дополнительные параметры системы".
- Нажмите "Переменные среды".
- В разделе "Системные переменные" найдите
Path, выберите её и нажмите "Изменить". - Добавьте новый путь:
C:\dart-sdk\bin.
- Перезапустите терминал или командную строку.
- Проверьте установку, выполнив команду:
dart --version
На экране должна отобразиться версия установленного SDK.
На macOS:
Установка через менеджер пакетов Homebrew — самый простой способ.
- Убедитесь, что установлен Homebrew. Если нет — установите его с brew.sh.
- Выполните в терминале:
brew tap dart-lang/dart
brew install dart
- После завершения установки проверьте версию:
dart --version
На Linux (Ubuntu/Debian):
- Добавьте официальный репозиторий 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
- Обновите список пакетов и установите Dart:
sudo apt-get update
sudo apt-get install dart
- Проверьте установку:
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:
- Скачайте и установите VS Code с code.visualstudio.com.
- Запустите VS Code.
- Перейдите в раздел расширений (значок квадратика слева).
- В поиске введите
Dart. - Установите официальное расширение от Dart Code Team.
- После установки перезапустите 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:
- Откройте
bin/hello_dart.dartв VS Code. - Нажмите
F5или выберите "Run and Debug" в боковой панели. - Если система запросит конфигурацию, выберите "Dart & Flutter".
- Программа запустится, и результат появится во встроенной консоли 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.
Что попробовать
dart run bin/hello_dart.dart Timur— аргумент вmain(List<String> args).dart analyze— статические замечания по проекту.- Мини-пакет: вынесите функцию в
lib/и импортируйте вbin/.
Что изучить дальше
После "Hello, World" — консоль, файлы и HTTP, классы и ООП, паттерны Dart 3. Для мобильного UI — Flutter и практическая галерея Flutter — готовые виджеты. Закрепление — чек-лист самопроверки.
Базовый разбор HTTP и HTTPS находится в отдельной статье — HTTP как основа веб-интеграций.
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
Первые шаги (маршрут подборки) — Первая программа на Nim, Первая программа на R, Первая программа на Zig, Первая программа на Julia, Первая программа на Elixir, Первая программа на Bash.