Дарт (язык программирования)
![]() | |
Парадигма | Мультипарадигмальность : функциональная , императивная , объектно-ориентированная , рефлексивная. [1] |
---|---|
Разработано | Ларс Бак , Каспер Лунд |
Разработчик | |
Впервые появился | 10 октября 2011 г [2] |
Стабильная версия | 3.4.2 [3] ![]() |
Дисциплина набора текста | 1.x: Необязательно 2.x: Предполагаемый [4] ( статичный , сильный ) |
Платформа | Кросс-платформенный |
ТЫ | Кросс-платформенный |
Лицензия | БСД |
Расширения имен файлов | .dart |
Веб-сайт | дротик |
Основные реализации | |
Dart VM, dart2native, dart2js, DDC, Flutter | |
Под влиянием | |
C , C++ , C# , Erlang , Java , JavaScript , Ruby , Smalltalk , Strongtalk , [5] Машинопись [6] |
Dart — язык программирования , разработанный Ларсом Баком и Каспером Лундом и разработанный Google . [8] Его можно использовать для разработки веб- и мобильных приложений , а также серверных и настольных приложений .
Dart — это объектно-ориентированный , на классах основанный со сборкой мусора язык C. в стиле синтаксисом и [9] Он может компилироваться в машинный код , JavaScript или WebAssembly . Он поддерживает интерфейсы , примеси , абстрактные классы , обобщенные обобщения и вывод типов . [4]
История [ править ]
Dart был представлен на конференции GOTO в Орхусе , Дания, 10–12 октября 2011 года. [10] Ларс Бак и Каспер Лунд основали проект. [11] Дарт 1.0 был выпущен 14 ноября 2013 года. [12]
Поначалу Дарт встретили неоднозначно. Некоторые раскритиковали инициативу Dart за фрагментацию сети из-за планов по включению виртуальной машины Dart в Chrome . Эти планы были отменены в 2015 году с выпуском Dart 1.9. Фокус сместился на компиляцию кода Dart в JavaScript. [13]
Dart 2.0 был выпущен в августе 2018 года с языковыми изменениями, включая систему типов. [14]
В Dart 2.6 появилось новое расширение, dart2native
. Это расширенная встроенная компиляция для настольных платформ Linux, macOS и Windows. [15] Раньше разработчики могли создавать новые инструменты, используя только устройства Android или iOS. С помощью этого расширения разработчики могут развертывать программу в автономные исполняемые файлы. Для запуска этих автономных исполняемых файлов не требуется устанавливать Dart SDK. [16] Набор инструментов Flutter интегрирует Dart, поэтому его можно компилировать для небольших сервисов, таких как серверная поддержка. [17] [18]
Дарт 3.0 был выпущен в мае 2023 года. [19] с изменениями в системе типов, требующими надежной нулевой безопасности. Этот выпуск включал новые функции, такие как записи, шаблоны, [20] и модификаторы классов. [21]
Dart может компилироваться в WebAssembly, начиная с Dart 3.22. [22]
Спецификация [ править ]
Dart выпустила пятое издание своей языковой спецификации 9 апреля 2021 года. [23] Это охватывает весь синтаксис Dart 2.10. Черновой вариант 6-го издания включает весь синтаксис до версии 2.13. [24] Принятые предложения по спецификации и проекты потенциальных функций можно найти в репозитории языка Dart на GitHub. [25]
ECMA International сформировала технический комитет TC52, [26] стандартизировать Дарт. ECMA утвердила первое издание спецификации языка Dart как ECMA-408. [27] в июле 2014 года на своей 107-й Генеральной Ассамблее. [28] Последующие редакции были утверждены в декабре 2014 г. [29] Июнь 2015 г. и декабрь 2015 г. [27]
Развертывание приложений [ править ]
Dart Комплект разработки программного обеспечения (SDK) поставляется с автономной средой выполнения Dart. Это позволяет коду Dart запускаться в среде интерфейса командной строки . SDK включает инструменты для компиляции и упаковки приложений Dart. [30] Dart поставляется с полной стандартной библиотекой , позволяющей пользователям писать полностью работающие системные приложения, например собственные веб-серверы. [31]
Разработчики могут развертывать приложения Dart шестью способами:
Тип развертывания | Целевая платформа | Платформа- специфический |
Требует Дарт ВМ |
Скомпилировать скорость |
Исполнение скорость |
---|---|---|---|---|---|
JavaScript | Браузер | Нет | Нет | Медленный | Быстрый |
Веб-сборка [22] [32] | Браузер | Нет | Нет | Медленный | Быстрый |
Автономный исполняемый файл | macOS, Windows, Linux | Да | Нет | Медленный | Быстрый |
Модуль опережения времени | macOS, Windows, Linux | Да | Нет | Медленный | Быстрый |
Модуль «Точно в срок» | macOS, Windows, Linux | Да | Да | Быстрый | Медленный |
Портативный модуль | macOS, Windows, Linux | Нет | Да | Быстрый | Медленный |
Развертывание в сети [ править ]
Dart 3 может развертывать приложения в Интернете как приложения JavaScript или WebAssembly. Dart поддерживает компиляцию в WebAssembly по состоянию на май 2024 г. [update].
JavaScript [ править ]
- Для работы в основных веб-браузерах Dart использует из исходного кода компилятор JavaScript . Это делает приложения Dart совместимыми со всеми основными браузерами. Dart оптимизирует скомпилированный вывод JavaScript, чтобы избежать дорогостоящих проверок и операций. В результате получается код JavaScript, который может работать быстрее, чем эквивалентный код, написанный вручную на чистом JavaScript. [33]
- Первым компилятором Dart-JavaScript был
dartc
. Он устарел в Dart 2.0. - Вторым компилятором Dart-JavaScript был frog. [34] Написанный на Dart, он был представлен в 2013 году и устарел в 2020 году. Его не следует путать с Dart Frog, [35] фреймворк Dart с открытым исходным кодом для построения серверных систем от Very Good Ventures .
- Третий компилятор Dart-JavaScript
dart2js
. Представленный в Дарт 2.0, [36] на основе Дартсdart2js
развился из более ранних компиляторов. Он намеревался реализовать полную спецификацию и семантику языка Dart. Разработчики используют этот компилятор для производственных сборок. Он компилируется в минифицированный JavaScript . - Четвертый компилятор Dart-to-JavaScript
dartdevc
. [37] Разработчики могут использовать этот компилятор для сборок разработки. Он компилируется в удобочитаемый JavaScript. 28 марта 2013 года команда Dart опубликовала в своем блоге обновление, посвященное коду Dart, скомпилированному в JavaScript с помощьюdart2js
компилятор, [38] заявив, что теперь он работает быстрее, чем рукописный JavaScript на движке Chrome V8 для теста DeltaBlue. [39] - До версии Dart 2.18 оба
dart2js
иdartdevc
можно вызвать из командной строки. В Dart 2.18 эти функции включены в Dart SDK. При этом были удалены оболочки прямой командной строки, но сохранены два компилятора.webdev serve
команда вызываетdartdevc
компилятор.webdev build
команда вызываетdart2js
компилятор. - Dart SDK компилируется в JavaScript двумя способами.
- Для отладки кода запустите
webdev serve
для компиляции более крупного файла JavaScript с удобочитаемым кодом. Сгенерированный Dart JavaScript можно отлаживать только с помощью Chrome .Чтобы создать рабочие приложения, запустите$ cd <dart_app_directory> $ webdev служат [ --debug ] [ -o <target.js> ]
webdev build
для компиляции минифицированного файла JavaScript.$ cd <dart_app_directory> $ webdev build [ -o <target.js> ]
Веб-сборка [ править ]
- В выпуске Dart 3.22 Google объявил о поддержке компиляции кода Dart в WebAssembly . [22] Полная поддержка Wasm требует принятия WasmGC. [40] функция в стандарт Wasm. Хром 119 [41] поддерживает WasmGC. Fire Fox [42] 120 и более поздние версии могут поддерживать WasmGC, но текущая ошибка блокирует совместимость. [43] Сафари [44] и Microsoft Edge интегрируют поддержку WasmGC.
Развертывание на родных платформах [ править ]
Dart может компилироваться в собственный машинный код для macOS, Windows и Linux в качестве инструментов командной строки. Dart может компилировать приложения с пользовательскими интерфейсами для Интернета, iOS, Android, macOS, Windows и Linux с помощью платформы Flutter .
Автономный исполняемый файл [ править ]
- Автономные исполняемые файлы включают собственный машинный код, скомпилированный из указанного файла кода Dart, его зависимостей и небольшую среду выполнения Dart. Среда выполнения занимается проверкой типов и сборкой мусора. Компилятор выдает выходные данные, соответствующие архитектуре, на которой его скомпилировал разработчик. Этот файл можно распространять как любой другой собственный исполняемый файл.
$ dart compile exe <source.dart> -o <target_app> Сгенерировано: <target_app> $ ./<целевое_приложение>
Модуль опережения времени [ править ]
- При предварительной компиляции [45] Код Dart создает портативные, производительные и специфичные для платформы модули. Он включает в себя все зависимые библиотеки и пакеты, необходимые приложению, а также небольшую среду выполнения Dart. Это увеличивает время компиляции. Компилятор выводит приложение, соответствующее архитектуре, на которой оно было скомпилировано.
$ dart скомпилировать aot-snapshot <source.dart> Создан <target_app.aot> $ dartaotruntime <target_app.aot>
Модуль «точно в срок» [ править ]
- При своевременной компиляции код Dart создает высокопроизводительные модули, которые быстро компилируются. Для работы этого модуля требуется виртуальная машина Dart, включенная в SDK. Компилятор загружает все проанализированные классы и скомпилированный код в память при первом запуске приложения. Это ускоряет любой последующий запуск приложения. Компилятор выводит приложение, соответствующее архитектуре, на которой оно было скомпилировано.
$ dart скомпилировать jit-snapshot <source.dart> Компиляция <source.dart> в jit-снимка файл <target_app.jit> Привет, мир! $ dart run <target_app.jit> Привет, мир!
Модуль ядра Dart [ править ]
- При компиляции как модуль ядра код Dart создает машинно-независимый формат, называемый промежуточным представлением Dart (Dart IR). Формат байт-кода Dart IR может работать на любой архитектуре, в которой есть виртуальная машина Dart. Это делает этот формат очень портативным и быстрым в компиляции, но менее производительным, чем другие результаты компиляции.
$ dart компилирует ядро <source.dart> Компиляция <source.dart> в ядра файл <target_app>.dill. $ dart run <target_app>.dill
Параллельность [ править ]
Для достижения параллелизма Dart использует изолированные, независимые рабочие процессы, которые не совместно используют память, а используют передачу сообщений . [46] аналогично процессам Erlang (см. также модель актера ). Каждая программа Dart использует как минимум один изолят, который является основным. Начиная с Dart 2, веб-платформа Dart больше не поддерживает изоляты и предлагает разработчикам вместо этого использовать Web Workers . [47]
Нулевая безопасность [ править ]
Начиная с Dart 2.12, Dart представил надежную нулевую безопасность . [48] Это служит гарантией того, что переменные не смогут вернуть нулевое значение, если на это нет явного разрешения. Нулевая безопасность не позволяет разработчику вводить исключения с нулевым указателем — распространенную, но сложную для отладки ошибку. В Dart 3.0 весь код должен соответствовать требованиям нулевой безопасности.
Хранение данных [ править ]
Файлы моментальных снимков — основная часть виртуальной машины Dart — хранят объекты и другие данные времени выполнения. [46]
- Снимки сценариев
- Программы Dart можно скомпилировать в файлы моментальных снимков, содержащие весь программный код и зависимости, подготовленные и готовые к выполнению, что обеспечивает быстрый запуск.
- Полные снимки
- Основные библиотеки Dart можно скомпилировать в файл моментального снимка, который позволяет быстро загружать библиотеки. Большинство стандартных дистрибутивов основной виртуальной машины Dart имеют готовый снимок основных библиотек, который загружается во время выполнения.
- Снимки объектов
- Dart использует снимки для сериализации сообщений, которые он передает между изолятами. Будучи очень асинхронным языком, Dart использует изоляты для параллелизма . [49] Объект генерирует снимок , передает его другому изоляту, затем изолят его десериализует.
Редакторы [ править ]
18 ноября 2011 года Google выпустила Dart Editor — программу с открытым исходным кодом, основанную на Eclipse компонентах macOS , Windows и Linux на базе , для операционных систем . [50] Редактор поддерживает подсветку синтаксиса , завершение кода , компиляцию JavaScript, запуск веб- и серверных приложений Dart, а также отладку .
13 августа 2012 года Google объявила о выпуске плагина Eclipse для разработки Dart. [51]
18 апреля 2015 года Google отказался от редактора Dart Editor в пользу JetBrains . интегрированной среды разработки (IDE) [52] Android Studio , IntelliJ IDEA , PyCharm , PhpStorm и WebStorm поддерживают плагин Dart. [53] Этот плагин поддерживает множество функций, таких как подсветка синтаксиса, завершение кода, анализ, рефакторинг, отладка и многое другое. Другие редакторы включают плагины для Dart. [54] включая Sublime Text , [55] Атом , [56] Эмакс , [57] Почему [58] и код Visual Studio . [59]
Редактор Chrome для разработчиков [ править ]
В 2013 году команда Chromium начала работу над средой разработки на основе приложений Chrome с открытым исходным кодом и многоразовой библиотекой виджетов графического интерфейса под кодовым названием Spark. [60] Позже проект был переименован в Chrome Dev Editor. [61] Построенный в Dart, он содержал Spark, работающий на Polymer. [62]
В июне 2015 года Google перенесла проект CDE на GitHub как проект бесплатного программного обеспечения и прекратила активные инвестиции в CDE. [63] Проект Chrome Dev Editor был заархивирован 24 апреля 2021 г. [64]
Дартпад [ править ]
Чтобы упростить начало использования Dart, в начале 2015 года команда Dart создала DartPad. Этот онлайн-редактор позволяет разработчикам экспериментировать с интерфейсами прикладного программирования (API) Dart и запускать код Dart. Он обеспечивает подсветку синтаксиса, анализ кода, завершение кода, документацию и редактирование HTML и CSS. [65]
Инструменты разработки [ править ]
Инструменты разработчика Dart, написанные на Dart. [66] включать инструменты отладки и повышения производительности.
Флаттер [ править ]
Google представила Flutter для разработки собственных приложений. Flutter, созданный с использованием Dart, C, C++ и Skia, представляет собой многоплатформенную среду пользовательского интерфейса приложений с открытым исходным кодом. До Flutter 2.0 разработчики могли ориентироваться только на Android , iOS и Интернет. Flutter 2.0 выпустил поддержку macOS, Linux и Windows в качестве бета-функции. [67] Выпущен Flutter 2.10 с производственной поддержкой Windows [68] и Flutter 3 выпустила производственную поддержку для всех настольных платформ. [69] Он предоставляет структуру, виджеты и инструменты. Эта платформа дает разработчикам возможность создавать и развертывать мобильные, настольные и веб-приложения. [70] Flutter работает с Firebase [71] и поддерживает расширение платформы с помощью надстроек, называемых пакетами. Их можно найти в репозитории пакетов pub.dev. [72] JetBrains также поддерживает плагин Flutter. [73]
Пример [ править ]
Привет , мир! пример:
void main () {
print ( 'Hello, World!' );
}
void main () {
for ( var я = 1 ; я <= 10 ; я ++ ) {
print ( я );
}
}
Функция для вычисления n-го числа Фибоначчи :
void main () {
вар я = 20 ;
print ( 'фибоначчи ( $ я ) = $ { фибоначчи ( я ) } ' );
}
/// Вычисляет n-е число Фибоначчи.
int fibonacci ( int n ) {
return n < 2 ? n : ( фибоначчи ( n - 1 ) + фибоначчи ( n - 2 ));
}
Простой класс:
// Импортируем математическую библиотеку, чтобы получить доступ к функции sqrt.
// Импортируется с именем `math`, поэтому для доступа необходимо использовать `math.` в качестве префикса.
импортировать «dart:math» как math ;
// Создаем класс для Point.
class Point {
// Конечные переменные не могут быть изменены после их присвоения.
// Объявляем две переменные экземпляра.
окончательное число x , y ;
// Конструктор с синтаксическим сахаром для установки переменных экземпляра.
// Конструктор имеет два обязательных параметра.
Точка ( это . x , это . y );
// Именованный конструктор со списком инициализаторов.
Точка . происхождение ()
: Икс знак равно 0 ,
у знак равно 0 ;
// Метод.
num distanceTo ( точка Другая ) {
var dx = x - other . Икс ;
вар dy = y - другое . й ;
вернуть математику . sqrt ( dx * dx + dy * dy );
}
// Пример «геттера».
// Действует так же, как конечная переменная, но вычисляется при каждом доступе.
число получить величину => математика . sqrt ( х * х + у * у );
// Пример перегрузки оператора
Point оператор + ( Point Other ) => Point ( x + Other . x , y + Other . y );
// Когда вы создаете экземпляр класса, такого как Point в Dart 2+,
слово new является // необязательным
}
// Все программы Dart начинаются с main().
void main () {
// Создание экземпляров точечных объектов.
вар p1 = Точка ( 10 , 10 );
печать ( p1 . величина );
вар p2 = Точка . источник ();
вар расстояние = p1 . расстояниеДо ( p2 );
печать ( расстояние );
}
Влияние других языков [ править ]
Dart принадлежит языковой семье АЛГОЛ . [75] [ не удалось пройти проверку ] В его состав входят C, Java, C#, JavaScript и другие.
был Синтаксис каскада методов заимствован из Smalltalk. [76] Этот синтаксис обеспечивает ярлык для последовательного вызова нескольких методов одного и того же объекта.
Дарта На миксины повлиял Strongtalk. [ нужна цитата ] [77] [78] и Руби .
Dart использует изоляты в качестве единицы параллелизма и безопасности при структурировании приложений. [79] Концепция Isolate основана на модели Actor, реализованной в Erlang. [80]
В 2004 году Гилад Брача (который был членом команды Dart) и Дэвид Унгар впервые предложили Mirror API для выполнения контролируемого и безопасного отражения в бумаге. [81] Концепция была впервые реализована в Self .
См. также [ править ]
- Веб-инструментарий Google
- TypeScript , строго типизированный язык программирования, транслируемый в JavaScript.
- Flutter — комплект разработки программного обеспечения пользовательского интерфейса с открытым исходным кодом для кроссплатформенных приложений.
Ссылки [ править ]
- ^ Копец, Дэвид (30 июня 2014 г.). Дартс для абсолютных новичков . Апресс. п. 56. ИСБН 9781430264828 . Проверено 24 ноября 2015 г.
- ^ Бак, Ларс (10 октября 2011 г.). «Dart: язык структурированного веб-программирования» . Блог Google Code . Проверено 31 января 2016 г.
- ^ «Выпуск 3.4.2» . 29 мая 2024 г. Проверено 5 июня 2024 г.
- ^ Перейти обратно: а б «Система типов Дарт» . dart.dev .
- ^ «Веб-языки и виртуальные машины: быстрый код всегда в моде. (V8, Dart) — Google I/O 2013» . YouTube . Проверено 22 декабря 2013 г.
- ^ «Команда Dart приветствует TypeScript» . 10 сентября 2019 г. Проверено 22 февраля 2020 г. .
- ^ «Теги Dart SDK» . Гитхаб .
- ^ «Немного о дартсе: изучите дартс: первый шаг к флаттеру» . Образовательные: интерактивные курсы для разработчиков программного обеспечения . Проверено 20 июня 2023 г.
- ^ «Экскурсия по языку дартс» . dart.dev . Проверено 9 августа 2018 г.
- ^ «Dart, новый язык программирования для структурированного веб-программирования» , конференция GOTO (презентация) (вступительная речь), конференция в Орхусе, 10 октября 2011 г.
{{citation}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) - ^ Лэдд, Сет. «Что такое Дарт» . Что такое Дарт? . О'Рейли . Проверено 16 августа 2014 г.
- ^ «Dart 1.0: стабильный SDK для структурированных веб-приложений» . news.dartlang.org . Проверено 8 августа 2018 г.
- ^ Сет Лэдд (10 сентября 2019 г.). «Новости и обновления Дарт» . dartlang.org .
- ^ Мур, Кевин (07 августа 2018 г.). «Анонс Dart 2 Stable и веб-платформы Dart» . Дарт . Проверено 8 августа 2018 г.
- ^ «Эволюция языка дартс» . dart.dev . Проверено 20 июня 2023 г.
- ^ «Дарт обзор» . dart.dev . Проверено 12 мая 2023 г. [ постоянная мертвая ссылка ]
- ^ «Dart 2.5 переносит на рабочий стол встроенную компиляцию» . Инфомир . 20 ноября 2019 г. Проверено 28 ноября 2019 г.
- ^ «Dart 2.6 выпущен с помощью dart2native» . SDtimes . 7 ноября 2019 года . Проверено 28 ноября 2019 г.
- ^ «Эволюция языка дартс» . dart.dev . Проверено 9 января 2024 г.
- ^ «Узоры» . dart.dev . Проверено 12 мая 2023 г. [ постоянная мертвая ссылка ]
- ^ «Модификаторы классов» .
- ^ Перейти обратно: а б с Томсен, Майкл (14 мая 2024 г.). «Посадка Flutter 3.22 и Dart 3.4 на Google I/O 2024» . Трепетать . Проверено 17 мая 2024 г.
- ^ «Спецификация языка программирования Dart, 5-е издание» (PDF) .
- ^ «Спецификация языка программирования Dart, черновик 6-го издания» (PDF) .
- ^ «Репозиторий языка Dart на GitHub» . Гитхаб .
- ^ «ТС52 — Дротик» . Архивировано из оригинала 02 августа 2016 г. Проверено 16 декабря 2013 г.
- ^ Перейти обратно: а б «ЭКМА-408» . Экма Интернешнл . Проверено 12 мая 2023 г.
- ^ Андерс Торхауге Сандхольм (10 сентября 2019 г.). «Новости и обновления дартс» . dartlang.org .
- ^ Андерс Торхауге Сандхольм (10 сентября 2019 г.). «Новости и обновления дартс» . dartlang.org .
- ^ «Пакеты инструментов издателя.dart.dev» . Дартс-пакеты . Проверено 12 мая 2023 г.
- ^ «Введение в библиотеку dart:io» . dart.dev . Проверено 21 июля 2013 г.
- ^ Томсен, Майкл (10 мая 2023 г.). «Анонсируем Дарт 3» . Дарт . Проверено 13 мая 2023 г.
- ^ «JavaScript как цель компиляции: делаем это быстро» (PDF) . Дартланг.орг. Архивировано из оригинала (PDF) 2 июля 2016 г. Проверено 18 августа 2013 г.
- ^ «На пути к единому компилятору Dart to JavaScript» . 10 сентября 2019 г. Проверено 13 мая 2023 г.
- ^ «Лягушка-дротик» . dartfrog.vgv.dev . Проверено 13 мая 2023 г.
- ^ Мур, Кевин (08 августа 2018 г.). «Анонс Dart 2 Stable и веб-платформы Dart» . Дарт . Проверено 13 мая 2023 г.
- ^ «dartdevc: Компилятор разработки Dart» . dart.dev . Проверено 13 мая 2023 г. [ постоянная мертвая ссылка ]
- ^ Лэдд, Сет (28 марта 2013 г.). «Новости и обновления Dart: почему dart2js создает более быстрый код JavaScript из Dart» . News.dartlang.org . Проверено 21 июля 2013 г.
- ^ «Дарт-спектакль» . Дартланг.орг . Архивировано из оригинала 3 января 2017 г. Проверено 21 июля 2013 г.
- ^ Предложение GC для WebAssembly , WebAssembly, 12 мая 2023 г. , получено 13 мая 2023 г.
- ^ «Сборка мусора WebAssembly (WasmGC) теперь включена по умолчанию в Chrome | Блог» . Chrome для разработчиков . Проверено 17 мая 2024 г.
- ^ «Информационный бюллетень SpiderMonkey (Firefox 110-111)» . SpiderMonkey JavaScript/движок WebAssembly . 16 февраля 2023 г. Проверено 13 мая 2023 г.
- ^ «1788206 — OffscreenCanvas.transferToImageBitmap создает копию» . bugzilla.mozilla.org . Проверено 17 мая 2024 г.
- ^ «Примечания к выпуску Safari Technology Preview 167» . Документация разработчика Apple . Проверено 13 мая 2023 г.
- ^ Обинна, Онуоха (07 апреля 2020 г.). «Как JIT и AOT работают в Dart?» . Середина . Проверено 20 июня 2023 г.
- ^ Перейти обратно: а б «Суть Google Dart: создание приложений, снимков, изолятов» . ИнфоQ . Проверено 29 августа 2021 г.
- ^ Мур, Кевин (23 февраля 2018 г.). «Критическое изменение Dart2: удаление веб-поддержки dart:mirrors и dart:isolate» . Группы Google .
- ^ Грачек, Филип (10 июня 2020 г.). «Объявление об обоснованной нулевой безопасности» . Дарт . Проверено 12 мая 2023 г.
- ^ «Параллелизм в Dart» . dart.dev . Проверено 12 мая 2023 г.
- ^ «Google выпускает редактор Dart для Windows, Mac OS X и Linux» . Архивировано из оригинала 3 декабря 2013 г. Проверено 29 ноября 2011 г.
- ^ «Плагин Dart для Eclipse готов к предварительной версии» . 10 сентября 2019 г.
- ^ Лэдд, Сет (30 апреля 2015 г.). «Настоящее и будущее редакторов и IDE для Dart» . Новости и обновления Дарт . Проверено 18 мая 2015 г.
- ^ «Репозиторий плагинов JetBrains: Dart» . Плагины.intellij.net . Проверено 21 июля 2013 г.
- ^ «Инструменты для дартса» . dart.dev . Проверено 15 ноября 2016 г.
- ^ «Дарт — Пакеты — Управление пакетами» . packagecontrol.io . Проверено 13 мая 2023 г.
- ^ «dart — плагин Dart для Atom» . dart-atom.github.io . Проверено 13 мая 2023 г.
- ^ Трейнор, Брейди (15 апреля 2023 г.), bradyt/dart-mode , получено 13 мая 2023 г.
- ^ Поддержка Dart для Vim , Dart, 9 мая 2023 г. , получено 13 мая 2023 г.
- ^ «Дарт — торговая площадка Visual Studio» . marketplace.visualstudio.com . Проверено 13 мая 2023 г.
- ^ Бофорт, Франсуа. «Команда Chromium в настоящее время активно работает» .
- ^ «Среда разработки на основе приложений Chrome» . Гитхаб . 26 октября 2021 г.
- ^ «Spark, приложение Chrome от Google — это интегрированная среда разработки для вашего Chromebook» . 22 ноября 2013 г.
- ^ Саруп, Шри. «Редактор Chrome для разработчиков: объявления» .
- ^ «Chrome Dev Editor — это инструмент разработчика для создания приложений на платформе Chrome: приложений Chrome и веб-приложений на JavaScript или Dart. (БОЛЬШЕ НЕ В АКТИВНОЙ РАЗРАБОТКЕ) — googlearchive/chromedeveditor» . 29 июля 2019 г. – через GitHub.
- ^ Лэдд, Сет (6 мая 2015 г.). «Анонсируем DartPad: простой способ изучения кода Dart» . Новости и обновления Дарт . Проверено 18 мая 2015 г.
- ^ Dart & Flutter DevTools , Flutter, 12 мая 2023 г. , получено 12 мая 2023 г.
- ^ Селлс, Крис (3 марта 2021 г.). «Что нового во Flutter 2.0» . Трепетать . Проверено 12 мая 2023 г.
- ^ Снит, Тим (3 февраля 2022 г.). «Анонсируем Flutter для Windows» .
- ^ Чисхолм, Кевин (12 мая 2022 г.). «Что нового во Flutter 3» . Трепетать . Проверено 12 мая 2023 г.
- ^ "ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ" . флаттер.dev . Проверено 29 августа 2021 г.
- ^ «Огневая база» . флаттер.dev . Проверено 29 августа 2021 г.
- ^ «Дарт-пакеты» . Дартс-пакеты . Проверено 12 мая 2023 г.
- ^ «Flutter — плагин IntelliJ IDE | Торговая площадка» . Торговая площадка JetBrains . Проверено 13 мая 2023 г.
- ^ «Петли в Dart | Мир Fluter | Учебные пособия по Dart и Flutter» .
- ^ «Семья Алголь» . c2.com .
- ^ «Каскады методов в дартсе» . 10 сентября 2019 г. Проверено 13 мая 2023 г.
- ^ Браха, Гилад; Грисволд, Дэвид (сентябрь 1996 г.). «Расширение языка Smalltalk с помощью миксинов» (PDF) . Семинар ООПСЛА . УПСЛА.
- ^ Лэдд, Сет (13 ноября 2011 г.). «Транскрипция «Краткого путешествия по дартсу» Гилада Брахи» . Проверено 13 мая 2023 г.
- ^ «Суть Google Dart: создание приложений, снимков, изолятов» . ИнфоQ .
- ^ «Бесстрашный параллелизм: как Clojure, Rust, Pony, Erlang и Dart позволяют вам этого достичь. — Ренато Атайдес» . сайты.google.com . Архивировано из оригинала 13 мая 2023 г. Проверено 13 мая 2023 г.
- ^ Браха, Гилад; Унгар, Дэвид (2004). «Зеркала: принципы проектирования средств метауровня объектно-ориентированных языков программирования» (PDF) . Уведомления ACM SIGPLAN . 39 (10). АКМ: 331–344. дои : 10.1145/1035292.1029004 . Проверено 15 февраля 2014 г.
Библиография [ править ]
- Уолрат, Кэти; Лэдд, Сет (7 марта 2012 г.). Что такое Дарт? (1-е изд.). О'Рейли Медиа . п. 20. ISBN 978-14493-32327 .
- Уолрат, Кэти; Лэдд, Сет (7 ноября 2012 г.). Дарт: Up and Running (1-е изд.). О'Рейли Медиа . п. 144. ИСБН 978-1449330897 .
- Бакетт, Крис (28 декабря 2012 г.). Дартс в действии (1-е изд.). Публикации Мэннинга . п. 475. ИСБН 978-1617290862 .
Внешние ссылки [ править ]
- программное обеспечение 2011 года
- Семейство языков программирования C
- Параллельные языки программирования
- Динамически типизированные языки программирования
- Бесплатные программные проекты
- программное обеспечение Google
- Семейство языков программирования JavaScript
- Объектно-ориентированные языки программирования
- Языки программирования, созданные в 2011 году.
- Языки сценариев
- Программное обеспечение, использующее лицензию BSD
- Компиляторы исходного кода
- Веб-программирование