Google Dart

Продукт

Компания Google работает над созданием альтернативного JavaScript языка программирования для веба. Новый язык представлен в альфа-версии и называется Dart.

Разработчики: Google
Дата последнего релиза: 2015/03/27
Технологии: Средства разработки приложений

Содержание

Основные статьи:

2015: Вышла версия Dart 1.9

27 марта 2015 года стало известно о презентации компании Google - выпуск языка программирования Dart v.1.9[1].

Dart подаётся как язык структурированного программирования для веб, он обладает синтаксисом, похожим на Java, он не требует явного определения типов и может использоваться для создания серверных и клиентских приложений. Для запуска внутри браузера код на языке Dart компилируется в представление JavaScript, для выполнения серверных приложений развивается специальная виртуальная машина Dart VM. Код связанных с языком компонентов распространяется под лицензией BSD.

Для облегчения разработки поставляется SDK, в составе которого:

  • компилятор в JavaScript - dart2js,
  • виртуальная машина Dart VM,
  • пакетный менеджер pub,
  • статический анализатор кода dart_analyzer,
  • набор библиотек,
  • интегрированная среда разработки Dart Editor
  • плагины с поддержкой Dart для:
    • IntelliJ IDEA,
    • WebStorm,
    • Eclipse,
    • Emacs,

  • Sublime Text 2

    • Vim.

Для выполнения и отладки приложений на языке Dart, без компиляции в JavaScript, предоставляется Dartium - специальная сборка браузера Chromium с интегрированной виртуальной машиной Dart VM. Дополнительные пакеты с библиотеками и утилитами распространяются через репозиторий pub, который насчитывает 1565 пакетов, в том числе фреймворки для разработки web-приложений AngularDart и polymer.dart.

Новый выпуск примечателен предоставлением удобных средств для асинхронного программирования, которое применимо для любых областей, включая организацию взаимодействия с пользователем, сетевые операции и файловый ввод/вывод. Для организации выполнения кода в асинхронном режиме представлены новые методы "async" и выражения "await", которые реализованы поверх Future API. Сложные асинхронные взаимодействия могут быть реализованы с использованием привычных приёмов управления потоком выполнения на основе циклов (for/while), условных операторов и исключений (try/catch).

Пример синтаксиса языка Dart, 2015

  • Представлены синхронные и асинхронные генераторы sync* и async*, при помощи которых может упрощаться генерация последовательностей без необходимости создания итераторов и без ручного управления созданием потока.

  • Полноценная реализация перечисляемых типов (enum). Разработчику предоставлена возможность определения специальных классов, представляющих предопределённый набор фиксированных значений;

  • Статический анализатор Dart Analyzer преобразован в сервер Dart Analysis Server, что даёт возможность упростить интеграцию средств для анализа кода на языке Dart в сторонние интегрированные среды разработки, такие как IntelliJ и Sublime;

  • В Dart VM обновлена реализация движка работы с регулярными выражениями. Новый движок в некоторых ситуациях работает до 150 раз быстрее, чем используемый ранее.

  • В Dart VM полностью реализован API Isolate, что упрощает создание приложений, при выполнении масштабируемых на несколько CPU.

2013

Google выпустила в ноябре 2013 года первую стабильную версию языка программирования Dart, призванного заменить JavaScript, предложив более высокую производительность и эффективность программирования. Новый язык полностью готов к разработке реальных приложений, заявил глава проекта Ларс Бак (Lars Bak).

Пакет Dart SDK 1.0 включает все необходимые инструменты для создания как простейших скриптов, так и полноценных веб-приложений.

В пакет входит нетребовательная к ресурсам и в то же время мощная среда разработки Dart Editor, среди возможностей которой - автозавершение кода, рефакторинг, переход к определениям, отладка и система подсказок и предупреждений.

Кастомная версия браузера Chromium с виртуальной машиной Dart VM, которая также входит в пакет наряду с другими инструментами, позволяет запускать нативный код. Кроме того, отладка кода осуществляется непосредственно в Dart Editor, то есть программист может мгновенно видеть результат своей работы.

Для запуска кода, написанного на Dart, в современных браузерах предусмотрен компилятор Dart в JavaScript - dart2js. Скомпилированные апплеты и приложения могут быть запущены в Internet Explorer 9 и 10, последней версии Firefox, последней версии Chrome и Safari 6.

Ни один из современных браузеров пока не поддерживает нативный код Dart. В будущем Google планирует добавить эту возможность в Chrome.

2011

Компания Google работает над созданием альтернативного JavaScript языка программирования для веба. Новый язык представлен в альфа-версии и называется Dart.

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

По словам Ларса Бака (Lars Bak), ведущего инженера команды разработчиков Dart, конечная цель Google состоит в том, чтобы создать «структурированный, но одновременно гибкий язык программирования для веба».

Хотя Бак не назвал JavaScript главным конкурентом нового языка, в открытый доступ попала внутренняя переписка инженеров Google, в которой они активно критикуют JavaScript и пишут, что «его фундаментальные недостатки не могут быть исправлены обычным эволюционным развитием».

Dart предназначен для создания веб-приложений и является объектно-ориентированным языком, при этом он предназначен как для быстрой компиляции небольших проектов, так и для создания крупномасштабного ПО. Язык содержит возможность добавлять переменные без отнесения к определенному типу данных, это называется динамическая типизация, поддерживается также, напротив, и статическая типизация. Так что на базе языка можно создавать проекты любого размера, выбирая нужный тип типизации.

Альфа-версия языка включает в себя компилятор и виртуальную машину, а также набор базовых библиотек. Для того, чтобы созданные в Dart приложения работали в браузерах, программисты могут компилировать их в JavaScript с помощью специальных инструментов Dart.

В конечном итоге Google рассчитывает, что все браузеры будут иметь виртуальную машину, на которой можно будет запускать приложения Dart. Пока даже собственный браузер Google не поддерживает этот язык. «Мы только планируем внедрить такую опцию», - пишет Бак.

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

Впервые JavaScript был представлен Netscape в 1995 году как язык для создания программных скриптов для веб браузеров. В 1996 году компания представила его ECMA International как стандарт, в результате появилась стандартизированная версия ECMAScrip. Adobe также на базе ECMAScript использует версию ActionScript для разработки Flash плеера.

Dart не первая попытка Google в создании совершенного языка веб программирования. В 2009 году компания представила Go, который позиционируется как альтернатива C++, Java и другим традиционным языкам. Больше информации о Dart появится на конференции GoTo, которая пройдет на этой неделе в Дании.

Язык Google Dart, созданный как альтернатива JavaScript, впервые попал осенью 2012 года в ежемесячный перечень 50 самых популярных языков программирования, публикуемый компанией Tiobe. Google предложила Dart в конце 2011 года в качестве языка для веб-разработки, лишенного недостатков JavaScript, которые связаны, в частности, с неудобством структурирования программ, когда их размеры выходят за рамки несложных веб-приложений. В октябрьском выпуске Tiobe Programming Community Index язык Dart занял 43 место с рейтингом популярности 0,189%.

В начале 2012 года представитель корпорации Mozilla заявил, что обеспечивать поддержку Dart в Firefox не планируется, а Microsoft, которая тоже не поддерживает этот язык в IE, представила собственое решение проблемы недостатков JavaScript — надстройку TypeScript.

Верхнюю строчку индекса Tiobe в этом месяце занял Си с рейтингом 19,822%, за которым следуют Java (17,193%), Objective-C (9,477%), C++ (9,260%) и C# (6,530%). Рейтинг вычисляется с использованием поисковых систем путем анализа упоминаний языков.

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

Примечания



СМ. ТАКЖЕ (22)


Подрядчики-лидеры по количеству проектов

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Солар (ранее Ростелеком-Солар) (46)
  Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
  Форсайт (11)
  Axiom JDK (БеллСофт) ранее Bellsoft (10)
  Бипиум (Bpium) (10)
  Другие (387)

  Солар (ранее Ростелеком-Солар) (8)
  Финансовые Информационные Системы (ФИС, FIS, Финсофт) (4)
  Консом групп, Konsom Group (КонсОМ СКС) (2)
  ЛАНИТ - Би Пи Эм (Lanit BPM) (2)
  IFellow (АйФэлл) (2)
  Другие (30)

  Солар (ранее Ростелеком-Солар) (10)
  Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
  Форсайт (3)
  Cloud.ru (Облачные технологии) ранее SberCloud (2)
  КРИТ (KRIT) (2)
  Другие (13)

  Солар (ранее Ростелеком-Солар) (6)
  Unlimited Production (Анлимитед Продакшен, eXpress) (4)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (4)
  Robin (Робин) (3)
  Форсайт (3)
  Другие (23)

  Unlimited Production (Анлимитед Продакшен, eXpress) (3)
  Солар (ранее Ростелеком-Солар) (3)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (2)
  Effective Technologies (Эффектив Технолоджис) (1)
  GMCS (1)
  Другие (8)

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Солар (ранее Ростелеком-Солар) (2, 48)
  Microsoft (41, 47)
  Oracle (49, 26)
  Hyperledger (Open Ledger Project) (1, 23)
  IBM (33, 18)
  Другие (588, 302)

  Солар (ранее Ростелеком-Солар) (1, 8)
  Финансовые Информационные Системы (ФИС, FIS, Финсофт) (1, 4)
  Microsoft (4, 3)
  Oracle (2, 3)
  SAP SE (2, 2)
  Другие (16, 19)

  Солар (ранее Ростелеком-Солар) (1, 11)
  Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
  Форсайт (1, 3)
  Сбербанк (1, 2)
  Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
  Другие (9, 9)

  Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
  Солар (ранее Ростелеком-Солар) (1, 6)
  Мобильные ТелеСистемы (МТС) (1, 4)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
  РЖД-Технологии (1, 3)
  Другие (14, 24)

  Мобильные ТелеСистемы (МТС) (2, 3)
  Unlimited Production (Анлимитед Продакшен, eXpress) (1, 3)
  Солар (ранее Ростелеком-Солар) (1, 3)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
  РеСолют (1, 1)
  Другие (11, 11)

Распределение базовых систем по количеству проектов, включая партнерские решения (проекты, партнерские проекты)

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Solar appScreener (ранее Solar inCode) - 48 (48, 0)
  Hyperledger Fabric - 23 (23, 0)
  Windows Azure - 20 (20, 0)
  FIS Platform - 15 (15, 0)
  Форсайт. Мобильная платформа (ранее HyperHive) - 12 (12, 0)
  Другие 309

  Solar appScreener (ранее Solar inCode) - 8 (8, 0)
  FIS Platform - 4 (4, 0)
  Siemens Xcelerator - 2 (2, 0)
  Парадокс: MES Builder - 2 (2, 0)
  Турбо X - 2 (2, 0)
  Другие 21

  Solar appScreener (ранее Solar inCode) - 11 (11, 0)
  Форсайт. Мобильная платформа (ранее HyperHive) - 3 (3, 0)
  BSS Digital2Go - 3 (3, 0)
  Cloud ML Space - 2 (2, 0)
  Tarantool Data Grid - 1 (1, 0)
  Другие 7

  Solar appScreener (ранее Solar inCode) - 6 (6, 0)
  EXpress Защищенный корпоративный мессенджер - 6 (6, 0)
  МТС Exolve - 4 (4, 0)
  РЖД и Робин: Облачная фабрика программных роботов - 3 (3, 0)
  Форсайт. Мобильная платформа (ранее HyperHive) - 3 (3, 0)
  Другие 12

  Solar appScreener (ранее Solar inCode) - 3 (3, 0)
  EXpress Защищенный корпоративный мессенджер - 3 (3, 0)
  МТС Exolve - 2 (2, 0)
  Газпром: Ивентум Конструктор приложений для организации и управления мероприятиями - 1 (1, 0)
  BSS Digital2Go - 1 (1, 0)
  Другие 7