Бесплатно по России

С 10:00 до 21:00

С 10:00 до 21:00

Заполнить бриф

Онлайн заявка

#

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

Редакция Appfox

Редакция Appfox

Время чтения: 10 минут

Dart - ООП сценарный язык программирования, предназначенный для создания веб-приложений и мобильного ПО. Синтаксис Dart напоминает С и JavaScript. Одной из целей разработчиков языка было создание, по сути, улучшенной версии JS, которая эффективнее решала бы практические задачи программирования.

История создания

Корпорация Google впервые представила публике новую платформу разработки в сентябре 2011 года. Создатели задумывали Дарт как гибкий и производительный язык программирования общего назначения, который легко освоить при знании JavaScript.

Первая официальная стабильная сборка Dart вышла только в 2013 году. На данный момент язык активно обновляется. Актуальная версия платформы под номером 2.18.5 вышла в ноябре 2022. Сообщество Dart и в целом влияние сейчас растет как внутри, так и вне Google.

Сферы применения

#

Наибольшую известность Dart приобрел, став частью Flutter - фреймворка для мультиплатформенной разработки. Чаще всего на Flutter пишут мобильные приложения, но также на нем можно создавать веб-приложения и десктопное ПО. Но Дарт не ограничивается Flutter. На этом языке можно написать:

  • серверные приложения;
  • приложения командной строки (CLI);
  • десктопное и мобильное программное обеспечение:
  • ПО для интернета вещей.

В Google, к примеру, Dart используется для управления платформой Google Ads.

По своей сути Дарт - универсальная платформа. Ее применение ограничено лишь логикой и удобством в каждом конкретном случае.

Особенности и преимущества

  1. Just-in-time (JIT) и Ahead-of-time (AOT) компиляция.
    Обычно исполняющее устройство обрабатывает программный код одним из двух способов. В первом случае компилятор переводит байт-код (промежуточный код) непосредственно в машинный код “на лету” (just-in-time). Во втором программа компилируется полностью от начала до конца. JIT ускоряет процесс разработки ПО, так как необходимые правки в код можно вносить фактически сразу. Правда, при непосредственном выполнении программы могут возникать “провисания” и лаги. AOT занимает достаточно времени на компиляцию, но при этом уже скомпилированная программа работает более плавно и предсказуемо, и запускается быстрее.
    Dart совмещает оба вида обработки кода, пользуясь их преимуществами во время разработки и при выпуске готового продукта.
  2. Промежуточная компиляция.
    Программу на Dart с помощью виртуальной машины без труда можно скомпилировать в JavaScript для выполнения в браузере. Это повышает кроссплатформенность кода.
  3. Продвинутый сборщик мусора.
    Удаление мусора и эффективное распределение памяти особенно важно для приложений с быстро меняющимся пользовательским интерфейсом. Сборщик мусора, работающий на основе поколений объектов и избегающий излишних блокировок при выполнении кода, обеспечивает высокую частоту обновления экрана и плавность анимации.
  4. Опциональные типы.
    В Dart можно как строго указывать типы, так и отдавать их определение на усмотрение компилятора. Такое совмещение строгой и динамической типизации позволяет, с одной стороны, ускорить написание кода, а с другой - избежать лишних ошибок там, где они действительно могли бы возникнуть.
  5. Асинхронность.
    По своему устройству Dart - однопоточный язык. Если какая-то операция в потоке будет выполняться слишком долго, приложение может подвиснуть. Для предотвращения таких ситуаций в Дарт предусмотрено асинхронное выполнение операций. Благодаря фиче Event Loop обработка “тяжелой” части кода временно откладывается, и блокировки потока не происходит.
  6. Быстрота и плавность работы конечного продукта.
    #
    Приложения на Dart отлично работают при частоте обновления экрана в 60 FPS. Множество функций (в том числе упоминавшийся сборщик мусора) направлены на плавность переходов и отсутствие зависаний. Фреймворк Flutter считается лучшим кроссплатформенным решением в этом плане, не уступая по всем показателям большинству нативных разработок.
  7. Открытый код.
    Дарт - продукт с открытым исходным кодом. Такой подход способствует развитию языка и заинтересованности сообщества в его улучшении. Владелец платформы, компания Google, всегда учитывает мнение пользователей при выпуске обновлений своей платформы.
  8. Простота освоения.
    При знании JavaScript или С++ разработчик может освоить Dart за очень короткое время. Синтаксис Dart может показаться более строгим, чем в Swift или Kotlin, но не критически.

Примеры программ

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


void main() {
  print('Hello, World!');
}

Важная особенность Dart - необязательное указание типов переменных. По сути, любой тип можно прописать просто через оператор var.


void main() {
var x = 1;
var y = 3.42;
var name = 'Andy';
  print ('$x');
  print ('$y');
  print ('$name');
    
}
#

Работу оператора условия if можно продемонстрировать на примере нахождения n-го числа Фибоначчи.


void main() {
  int fibonacci(int n) {
    if (n == 0 || n == 1) return n;
    return fibonacci(n - 1) + fibonacci(n - 2);
  }
  print('fibonacci(10) = ${fibonacci(10)}');
}
#

Заключение

Dart - кроссплатформенный язык программирования с большим набором возможностей для разработки, созданный компанией Google. Основное применение Dart нашел как основа фреймворка Flutter, который используется для мобильной и веб разработки. Главные преимущества Дарт и его фреймворка - скорость и плавность работы экранных объектов, асинхронность загрузки и открытый код платформы.

В студии AppFox можно подать заявку на программирование, создание игр или заказать разработку приложений https://appfox.ru и получить бесплатную консультацию по ценам и услугам.

Автор

Редакция Appfox

Редакция Appfox