+7 (499) 288-06-73

Скопировать

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

01.02.2023
#

Dart - компилируемый высокоуровневый язык программирования с объектно-ориентированной парадигмой. Свой синтаксис Дарт наследует у С и JavaScript. Чаще всего Dart применяется при разработке мобильных приложений и высоконагруженных сайтов.

История развития и базовые принципы

Первые упоминания нового языка от компании Google появились в 2011 году. К ноябрю 2013 в свет вышла стабильная версия платформы, предназначенная для общего доступа. Целью разработчиков Dart было создание языка программирования, похожего на JavaScript, но лишенного его “фундаментальных недостатков”. Синтаксис должен был быть знаком практикующим разработчикам, чтобы на переобучение не уходило много времени. Дарт также изначально задумывался как инструмент, одинаково подходящий для создания ПО под разные платформы - от браузеров до мобильных ОС.

В 2018 году разработчики выпустили версию Dart 2.0. В ней была введена строгая типизация и добавлен новый компилятор. На текущий момент обновления системы выходят примерно раз в 2-3 месяца.

Особенности языка

  1. Совмещение JIT и AOT компиляции.
    Во всех компилируемых языках, для того чтобы устройство могло выполнить прописанные алгоритмы, программный код переводится в машинный. Провести такую операцию можно двумя способами. Just-in-time компиляция предполагает трансляцию кода “на лету”. Это дает определенные преимущества непосредственно во время разработки - тестирование и отладка происходят быстрее, правки вносятся оперативнее. Правда, при использовании готового приложения на практике оно будет загружаться слишком долго и, возможно, начнет “лагать”. Ahead-of-time компилятор сначала обрабатывает код, и только потом начинается само выполнение программы. Это замедляет разработку, но на устройстве пользователя приложение будет более “шустрым”.
    Dart успешно применяет обе концепции, сочетая их плюсы и предоставляя максимальную производительность.
    #
  2. Промежуточная компиляция.
    Код на Дарт легко транслируется в код на JavaScript, после чего его спокойно можно запустить в браузере. За счет этого программа становится, по факту, кроссплатформенной.
  3. Использование опциональных типов.
    В Dart не обязательно прописывать тип переменной напрямую сразу при ее объявлении. Компилятор способен определить его самостоятельно.
  4. Улучшенный сборщик мусора.
    Когда объекты в интерфейсе приложения непрерывно меняются, для сглаживания анимации критично важно оперативно распределять память устройства и вовремя удалять мусор. Поэтому в Дарт предусмотрен продвинутый инструмент отладки, действующий по принципу поколений объектов. С ним система, в которой все задействованные виджеты, по сути, пересобираются заново для каждого кадра, работает без лагов.
  5. Асинхронные действия.
    В однопоточных языках, к которым относится Dart, велик риск подвисания приложения из-за перекрытия потока слишком тяжеловесной задачей. Чтобы избежать такой ошибки, в платформе предусмотрен механизм под названием Event Loop. Он позволяет выполнять действия асинхронно, временно откладывая блокирующие поток операции.
  6. Открытый код платформы.
    Сообщество активно принимает участие в развитии и совершенствовании языка. Открытый код способствует этому. Кроме того, команда разработчиков всегда остается на связи с пользователями и учитывает их мнение при формировании обновлений.
  7. Стабильная и плавная работа приложений.
    Программное обеспечение на Dart без лагов работает при частоте обновлений монитора в 60 FPS. Сглаживание анимации и работа без подвисаний - это то, за что разработчики и заказчики любят продукты на Flutter, главном фреймворке Dart.
  8. Легкость освоения.
    Синтаксис языка будет понятен любому разработчику, знакомому с C++, JavaScript или Python. Все используемые конструкции действуют предсказуемо, согласно общепринятым правилам ООП.

Где применяется Dart

#

Чаще всего рассматриваемый язык программирования ассоциируется у разработчиков с Flutter - фреймворком для разработки кроссплатформенных мобильных приложений и веб-решений. Это удобный инструмент, ПО на котором работает одинаково стабильно на разных устройствах с разными операционными системами.

При этом Дарт популярен и сам по себе. На нем пишут десктопные программы, серверное программное обеспечение, CLI приложения и даже код для работы IoT устройств (интернета вещей).

Активно использует Dart в своих продуктах и его фактический владелец - Google. Например, в системе Google Ads и ОС Fuchsia.

Примеры кода

Элементарная программа “Привет, мир!” на Dart занимает всего 2 строки.


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

Вот простое применение условного оператора if.


void main() {
int x = 5;
int y = 4;
if(x>y){
    print("Первое число больше второго");
}
else{
    print("Первое число меньше второго");
  } 
}
#

С помощью того же оператора можно найти значение 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)}');
}
#

Задать класс и использовать его можно по стандартным OОП методам.


void main (){
      
    Human tom = Human();
    tom.name = "Tom";
    tom.age = 25;
    tom.display();
} 
  
class Human{
     
    String name = "undefined";
    int age = 0;
    void display(){
        print("Name: $name Age: $age");
    }
}
#

Заключение

Dart - универсальный язык программирования, чаще всего применяемый в мобильной разработке. Программы на нем отличаются высокой степенью сглаживания анимации и гибкими возможностями компиляции. Компания Google занимается постоянным развитием платформы и прислушивается к мнению сообщества.

Разработка игр и мобильных приложений
Разработка игр и мобильных приложений info@app-android.ru
Остаповский проезд, д. 5
Москва
Москва 109316
Phone: +7 (499) 380-78-79
Разработка игр и мобильных приложений
info@app-android.ru
Остаповский проезд, д. 5
Москва, Москва, 109316 Россия
+7 (499) 288-06-73
Разработка игр и мобильных приложений