От Python к Dart - День 1 — meamka.me

От Python к Dart - День 1

written by Andrey Maksimov on 2022-03-01

День 1, знакомимся с Dart

Многие разработчики во время своей работы развиваются в определённой области и не всегда рассматривают технологии находящиеся на периферии их профессиональных задач. Однако, со временем кругозор начинает расширятся, разработчики серверных приложений начинают смотреть в сторону клиентских приложений и наоборот; использующие интерпретируемые языки поглядывают в сторону компилируемых; иные же смотрят совсем в иные области проявляя интерес в области DevOps. Дабы укротить интерес некоторых из них, мы поговорим о том, как может помочь язык Dart разработчикам Python и зачем им это нужно.

Что за язык такой?

Dart — это компилируемый язык родившийся в недрах компании Google более 10 лет назад. В какой-то момент времени он позиционировался как альтернатива JavaScript для разработки клиентских приложений, позже изменив своё направление в сторону универсального языка как для клиентских приложений с помощью Flutter, так и серверных приложений.

Dart — язык с объектно-ориентированной парадигмой, основанный на классах, со сборщиком мусора синтаксически похожий на C, C# и JavaScript. Приложения на Dart могут быть скомпилированы в бинарный код как для десктопных x86-систем, так и для мобильных ARM-процессоров; могут быть запущены в виртульной машине, тем самым обеспечивая hot-reloading и, как следствие, быструю разработку; и даже веб-приложения могут быть реализованы с помощью Dart и Flutter.

Устанавливаем Dart

Для пользователей многих ОС не требуется каких-либо шагов чтобы использовать Python, он изначально установлен в macOS, большинстве, если не во всех, дистрибутивов на базе Linux и *BSD и только пользователям Windows потребуется скачать и запустить установщик. С Dart дела обстоят иначе.

Самым простым вариантом попробовать Dart будет использование DartPad - редактора доступного онлаайн и позволяющего писать небольшие приложения.

Для установки на локальный компьютер нужно зайти на сайт https://dart.dev/get-dart и пройти по одному из путей в соответствии с вашей операционной системой. Так, для пользователей macOS использующих Homebrew достаточно воспользоваться командой:

brew install dart

Альтернативным вариантом может стать установка Flutter, вместе с которым в обязательно порядке будет установлен и Dart.

CLI-утилита dart

После установки вам станет доступна консольная утилита dart , с помощью которой можно выполнять множество действий помогающих в разработке:

  • создавать новые проекты с помощью dart create
  • запускать их в виртуальной машине с помощью dart run
  • компилировать в машинных код (ahead-of-time) с помощью dart compile
  • форматировать исходный код с помощью dart format
  • генерировать документацию с помощью dart doc
  • и многое другое.

При использовании Python мы привыкли к установке зависимостей с помощью пакетов pip или poetry, но может ли Dart предложить что-то подобное? Ответом будет - да, Dart несёт с собой утилиту dart pub которая позволяет с легкостью устанавливать, обновлять,публиковать пакеты и многое другое.

Hello Dart

Знакомство с Dart не было бы полноценным, если бы мы не попробовали написать простейшее приложение на этом языке. Давайте исправим это упущение.

// Определим функцию
void sayHi(String name) {
  print('Hello, $name.'); // Выводит в консоль сообщение.
}

// С этой функции приложение начинает свою работу.
void main() {
  var name = 'Pythonista'; // Определяем и инициализируем переменную.
  sayHi(name); // Вызываем функцию.
}

Как можно заметить программа на языке Dart стартует своё выполнение с функции main. В ней мы объявляем переменную name , её тип будет выведен автоматически исходя из присвоенного значения. После чего, вызываем функцию, передавая в неё переменную. В отличие от Python Dart не опирается на отступы и использует фигурные скобки для отделения блоков кода, а так же точки с запятой для обозначения окончания выполняемых инструкций. В следующих главах мы рассмотрим язык в подробностях в свете сравнения его с Python.

Что дальше?

А дальше мы научимся создавать проекты с помощью утилиты dart и рассмотрим подробно иные её возможности.