Создание проекта Dart с помощью CLI

Последнее обновление: 26.02.2023

Для создания программы на языке Dart нам достаточно определить файл с расширением *.dart и определить в нем некоторый программный код. Далее мы можем запустить этот файл с помощью Dart SDK или скомпилировать из него исполняемую программу, как было рассмотрено в прошлой статье. Однако Dart SDK также предоставляет и другой способ - создать полноценный проект с помощью команды create Dart SDK.

Зачем нам создавать проект Dart, если мы просто можем создать файл программы, определить в нем код и запустить его? Дело в том, что команда create позволяет создать базовую структуру для управления проектом с готовой конфигурацией, что упрощает нам создание приложение, особенно когда речь идет о больших проектах.

Так, определим на каталог для проекта. Например, в моем случае пусть это будет каталог C:\dart. Перейдем в этот каталог в консоли с помощью команды cd. И затем выполним команду

dart create hello

После команды create указывается имя создаваемого проекта - в данном случае hello. В результате выполнения команда выведет нам набор создаваемых файлов и ряд дополнительной информации:

C:\Users\eugen>cd c:\dart

c:\dart>dart create hello
Creating hello using template console...

  .gitignore
  analysis_options.yaml
  CHANGELOG.md
  pubspec.yaml
  README.md
  bin\hello.dart
  lib\hello.dart
  test\hello_test.dart

Running pub get...
  Resolving dependencies...
  Changed 46 dependencies!

Created project hello in hello! In order to get started, run the following commands:

  cd hello
  dart run


c:\dart>

Структура проекта

Рассмотрим создаваемую структуру проекта по умолчанию:

Создание первого проекта на языке программирования Dart
  • .dart_tool: данная папка хранит файлы, которые используются различными инструментами в Dart SDK.

  • bin: предназначен для хранения скриптов, по умолчанию содержит главный файл программы - скрипт hello.dart (называется по имени проекта) с функцией main, которая запускается при запуске программы.

  • lib: предназначена для хранения библиотек, которые затем можно импортировать и использовать в других частях приложения. По умолчанию здесь генерируется файл hello.dart (называется также, как и главный файл проекта) с некоторым содержимым по умолчанию. Как правило, вся основная логика приложения размещается в этой папке.

  • test: предназначен для хранения файлов тестов программы. По умолчанию здесь создается файл hello_test.dart для тестирования функционала из файла lib/hello.dart

  • .gitignore: файл, где можно определить какие файлы проекта надо исключить, чтобы не размещать их на GitHub или другом репозиторим Git.

  • analysis_options.yaml: cодержит особые правила, которые могут помочь отследить различные проблемы в программном коде (то, что называется линтинг).

  • CHANGELOG.md: предназначен для занесения всех изменений в проекте, что может помочь при командной работе, чтобы все, кто работает над проектом, могли отследить, какие изменения были сделаны.

  • README.md: предназначен для хранения описания проекта

  • pubspec.yaml: содержит список сторонних зависимостей (внешних библиотек), которые используются в проекте.

Программный код приложения в основном помещаются в папку lib в файлы с расширением .dart. По умолчанию здесь уже есть файл main.dart со следующим кодом:

int calculate() {
  return 6 * 7;
}

Здесь определяется функция calculate(), которая вычисляет произведение чисел 6 и 7. Этот код несколько бессмысленный и служит скорее для целей демонстрации того, как связаны и работают различные части проекта.

Этот код используется в одноименном файле hello.dart из папки bin:

import 'package:hello/hello.dart' as hello;

void main(List<String> arguments) {
  print('Hello world: ${hello.calculate()}!');
}

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

import 'package:hello/hello.dart' as hello;

Далее определяется обязательная для программы на Dart функция main:

void main(List<String> arguments) {

И в этой функции с помощью функции print печатаем на консоль некоторый текст. А именно результат функции calculate из lib/hello.dart

print('Hello world: ${hello.calculate()}!');

Запуск проекта

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

dart run bin/hello.dart

То есть в данном случае мы выполняем файл bin/hello.dart, который содержит функцию main. В итоге нам отобразится некоторый текст - результат программы:

c:\dart\hello>dart run bin/hello.dart
Hello world: 42!

c:\dart\hello>

Таким образом, мы можем создавать проекты и запускать их.

Типы проектов

Выше мы создали проект консольного приложения - самый простой тип проектов. Однако Dart SDK также поддерживает ряд других типов проектов для разных задач:

  • console: проект консольного проекта (тип по умолчанию)

  • package: проект библиотеки Dart

  • server-shelf: проект серверного приложения, которое использует package:shelf

  • web: проект веб-приложения

Для создания проекта команде dart create передается опция --template (-t), после которой идет тип проекта. Например, создание проекта веб=приложения:

dart create hello_web -t web

В данном случае проект будет называться "hello_web". Он будет иметь чуть больше папок и файлов, чем проект консольного приложения, но общий принцип работы с проектом будет тем же.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850