Язык программирования Dart

Что будем изучать

Dart

Язык Dart - это современный и мощный язык программирования. Объектно-ориентированный со статической типизацией.

Используется для создания мультиплатформенных приложений (Flutter). Может применяться как для frontend так и для backend разработки.

Dart и Flutter

Преимущества Dart

Где будем программировать

Что такое программа?

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

(Вспоминаем бутербродный алгоритм)

В разработке программ инструкции записываются на специальном языке программирования, например, Dart Python Kotlin JavaScript

Что такое редактор кода?

Редактор кода — это специальная программа, которая помогает писать код. Он имеет дополнительные функции:

  • Подсветка синтаксиса : разные части кода выделяются разными цветами для лучшей читаемости.
  • Автодополнение : редактор предлагает варианты продолжения кода, что ускоряет процесс написания.
  • Проверка ошибок : редактор сразу же показывает, где ты допустил ошибку.

Сейчас мы познакомимся с самым популярным редактором кода Visual Studio Code

Скачать Visual Studio Code нужно по этой ссылке.

Страница загрузки VSCode

Запуск и настройка VSCode

При открытии VSCode мы попадаем на экран приветствия. Здесь можно увидеть команды для создания новых документов, открытия файлов и папок, а также прошлые открытые проекты.

Экран приветствия VSCode

Прежде чем начать учиться программировать на языке Dart, необходимо VSCode настроить для работы.

  1. Нужно установить компилятор языка Dart
  2. Нужно установить плагины для работы c Dart и Flutter

Нажимаем на вот эту кнопку с левой стороны окна, открывается список установленных и список не установленных расширений для нашего редактора (их очень много). В строке поиска нужно набрать Dart

Вкладка расширений в VSCode Установка расширения Dart Установка расширения Flutter

Выбираем пункт меню View -> Command Palette или нажимаем клавишу F1

Командная палитра VSCode Создание нового проекта Выбор шаблона проекта

Потом указываем путь где будет находится папка с проектом и придумываем название для проекта, например dart_base

Выбор папки для проекта Имя проекта

Проект был создан и перед нами открылась его структура и файл с кодом. В этом файле нужно всё удалить и написать следующий код

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

Входная точка программы

Любая программа в языке Dart начинается с функции main() - это входная точка программы

Напишем классическое hello world приложение

Dart - Hello World

Светлая тема Темная тема
void main() {
  print("Привет, Dart");
}

Способы запустить приложение:

  1. Нажать на клавиатуре клавишу F5
  2. Или нажать кнопку Run (перед main функцией)
  3. Или нажать на значок запуска (треугольник) на верхней панеле справа
Запуск программы в VSCode

Компилятор и объяснение hello world программы

Когда вы нажимаете «Выполнить», запускается целый процесс. Код на языке программирования Dart разработан так, чтобы быть понятным для людей, облегчая чтение и написание. Однако компьютер ещё не может понять этот код.

Для этого нужен специальный инструмент — компилятор. Он переводит написанный вами код с языка, понятного человеку, на язык, понятный компьютеру, просматривая его построчно. Этот процесс называется компиляцией.

Если компиляция проходит успешно, программа запускается. Когда компьютер выполняет вашу программу, он последовательно исполняет каждую из ваших инструкций.

Завершение инструкции

Обратите внимание!

Каждая инструкция в языке Dart заканчивается точкой с запятой ;

Dart - Hello World

Светлая тема Темная тема
void main() {
  print("Hello, world!");
}

Инструкция print("Hello, world!") является оператором, который выполняет действие — выводит текст "Hello, world!" в консоль.

Инструкция

Это команда для компьютера выполнить что-то.

Код на языке программирования — это набор инструкций которые отделяются друг от друга символом точка с запятой ;

Инструкции обязательно выполняются последовательно, сверху ⬇ вниз

Dart - Последовательное выполнение

Светлая тема Темная тема
void main() {
  // Все новые операторы/команды принято писать с новой строки
	
  print("Изучаю язык программирования Dart");
  print("Иногда туплю");
}

Двойные кавычки

Запомните!

Всё что записано в двойные кавычки является обычным текстом / строкой

Основные литералы: числа и строки

Независимо от сложности, все программы выполняют операции с числами, строками и другими значениями. Эти значения называются литералами

Целые числа Integer

Мы используем целые числа, например, для подсчета вещей в реальном мире.

Например 0121011100

Строки String

Строка это последовательность любых символов заключенных в двойные или одинарные кавычки.

Например "text" "Я изучаю Dart" "123456" "e-mail@yandex.ru" " "

Строки могут включать буквы, цифры, пробелы и другие символы.

Комментарии

Комментарии в коде нужны, чтобы объяснять, что делает каждая часть программы. Они помогают понять, как работает код, и облегчают его чтение. Когда кто-то другой (или даже вы сами позже) будет смотреть на ваш код, комментарии подскажут, что именно вы хотели сделать.

При компиляции комментарии игнорируются, не влияя на выполнение программы и её размер. В языке Dart существуют два вида комментариев:

Однострочные комментарии //

Всё, что написано после // до конца строки, считается комментарием.

Светлая тема Темная тема
// Определение функции main
void main() {  // Начало функции
  print("Привет, Dart!"); // Вывод строки в консоль
} // Конец функции

Многострочные комментарии /* */

Такие комментарии могут занимать несколько строк, заключенные между символами /* и */

Светлая тема Темная тема
void main() {
  /*
  Это многострочный комментарий
  Можно писать много текста
  Очень много ... но зачем?
  */
}

Арифметические операции → бинарные операторы

В Dart существует пять основных арифметических операторов:

Эти операторы являются бинарными, то есть они оперируют двумя значениями (операндами). Операнд - это значение или переменная, к которой применяется оператор.

В выражении 1 + 3 числа 1 и 3 являются операндами, а + - оператором.

Dart - Арифметические операторы

Светлая тема Темная тема
void main() {
  print(12 + 42); // 54
  print(10 - 70); // -60
  print(21 * 30); // 630
  print(20 / 20); // 1.0
  print(18 % 10); // 8
}

Сложные выражения

Порядок арифметических операций

Арифметические операции можно комбинировать для создания сложных выражений:

Dart - Порядок операций

Светлая тема Темная тема
print(1 + 3 * 4 - 2); // будет 11

Порядок вычислений совпадает с обычными правилами арифметики. Сначала скобки, потом умножение/деление, потом сложение/вычитание

Dart - Порядок операций со скобками

Светлая тема Темная тема
print((1 + 3) * (4 - 2)); // будет 8

Скобки могут быть вложенными

Dart - Вложенные скобки

Светлая тема Темная тема
print((54 / 10) % 10); // будет 5

Ошибки в коде и их исправление

Ошибки или баги в программах бывают двух видов:

  1. Ошибки компиляции (ошибки не дают скомпилироваться программе)
  2. Ошибки рантайма (ошибки возникают во время работы программы)

Рассмотрим пример с ошибками компиляции и то как их исправить.

Ошибки компиляции

Когда код не компилируется, это означает, что где-то возникла ошибка.

Запустите этот код, что вы увидите?

Dart - Ошибка компиляции

Светлая тема Темная тема
void main() {
  print("Сегодня дождь)
}

При запуске программы появятся несколько сообщений об ошибках.

Ошибка компиляции

Причина в том, что компилятор Dart "ожидает" чего-то, чего нет в коде.

В данном случае компилятор ожидает точку с запятой в конце команды. Закрывающую кавычку для строки и закрывающую скобку во второй строке программы.

Исправим этот код и запустим снова на выполнение

Dart - Исправленный код

Светлая тема Темная тема
void main() {
  print("Сегодня дождь");
}
Успешная компиляция

Стиль программирования на языке Dart

Стиль кода Dart