Dart
Что такое Dart
Dart – высокоуровневый, молодой язык программирования, который разработали в компании Google и опубликовали в 2013 году. Перед Google стояла задача – разработать замену JavaScript, который, по их мнению, содержал в себе фундаментальные недоработки. Dart – объектно-ориентированный, многофункциональный язык, который рассчитан на разработку клиентских приложений для мобильных, десктопных и веб-платформ.
По большей части, Dart относится к языкам с сильной статической типизацией. Этим он противоположен JavaScript, в котором синтаксис более гибкий, из-за чего по неосмотрительности разработчиков приложения могут работать некорректно. При этом, Dart поддерживает динамическую типизацию, что позволяет сократить количество кода при разработке небольших скриптов, а также использовать язык для прототипирования и экспериментов.
В зависимости от задачи, в Dart предусмотрено 2 вида компиляции: JIT и AOT. JIT-компиляция позволяет тестировать приложения в ходе разработки. Благодаря этой возможности, в рабочей среде языка предусмотрена функция Hot Reload, которая позволяет быстро перезагрузить прототип приложения и проверить его поведение. Благодаря AOT-компиляции, возможно компилирование кода Dart в машинный код, JavaScript, либо нативный код платформы. Компилирование в машинный код позволяет ускорить работу приложения, а код Dart, скомпилированный в JavaScript, позволяет использовать язык во фронтенд-разработке.
Dart – язык с дружелюбным синтаксисом, который достаточно легко изучать. Для решения задач разного типа, Dart поддерживает большое количество библиотек, которые дополнительно расширяют первоначальный синтаксис языка.
Где применяют Dart
Технологии языка позволяют использовать его в разработке для любых платформ. Тем не менее, Dart чаще всего применяют в разработке мобильных приложений, а также веб-разработке.
Flutter
Dart обрел основную популярность благодаря Flutter – фреймворку для разработки пользовательских интерфейсов кроссплатформенных приложений. Flutter чаще всего применяют в одновременной разработке на мобильные платформы – Android и iOS. Flutter удобен, поскольку Dart позволяет разработчикам анализировать и тестировать поведение приложений на ходу. Также, приложения на Flutter в скорости почти не уступают нативным.
Разработка веб-приложений
Текущее развитие экосистемы Dart позволяет использовать язык во фронтенде и бэкенде. Во фронтенд-разработке Dart поддерживается фреймворком Angular, также возможна компиляция в JavaScript, либо разработка пользовательского интерфейса сайта во Flutter. В бекэнд-разработке чаще всего применяют Conduit, также есть менее популярные фреймворки.
Преимущества разработки на Dart
- высокая скорость работы приложений благодаря компиляции в нативный код среды;
- возможность быстрого прототипирования и создания MVP;
- Flutter – удобный фреймворк от Google для кроссплатформенной разработки нативных приложений;
- поддержка GIT-компиляции, а также динамической типизации, которые ускоряют процесс написания и тестирования кода.
- поддержка и развитие языка компанией Google, благодаря чему экосистема Dart обрастает новыми возможностями.
Недостатки разработки на Dart
- небольшое комьюнити, поскольку язык относительно молодой;
- есть более удобные и проверенные фреймворки для бэкэнд-разработки на языках Python, PHP, а также Ruby.
Примеры готовых работ на Dart
- Сайт-репозиторий для Dart и Flutter – pub.dev.
- Сайт разработчиков ПО для управления проектами – wrike.com.
- Сайт фреймворка Flutter – flutter.dev.