Дарт (язык программирования)
![]() | |
Парадигма | Мультипарадигмальность : функциональная , императивная , объектно-ориентированная , рефлексивная. [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-to-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 serve [--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. Firefox [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> Generated: <target_app> $ ./<target_app>
Модуль опережения времени [ править ]
- При предварительной компиляции [45] Код Dart создает портативные, производительные и специфичные для платформы модули. Он включает в себя все зависимые библиотеки и пакеты, необходимые приложению, а также небольшую среду выполнения Dart. Это увеличивает время компиляции. Компилятор выводит приложение, соответствующее архитектуре, на которой оно было скомпилировано.
$ dart compile aot-snapshot <source.dart> Generated <target_app.aot> $ dartaotruntime <target_app.aot>
Модуль «точно в срок» [ править ]
- При своевременной компиляции код Dart создает высокопроизводительные модули, которые быстро компилируются. Для работы этого модуля требуется виртуальная машина Dart, включенная в SDK. Компилятор загружает все проанализированные классы и скомпилированный код в память при первом запуске приложения. Это ускоряет любой последующий запуск приложения. Компилятор выводит приложение, соответствующее архитектуре, на которой оно было скомпилировано.
$ dart compile jit-snapshot <source.dart> Compiling <source.dart> to jit-snapshot file <target_app.jit> Hello world! $ dart run <target_app.jit> Hello world!
Модуль ядра Dart [ править ]
- При компиляции как модуль ядра код Dart создает машинно-независимый формат, называемый промежуточным представлением Dart (Dart IR). Формат байт-кода Dart IR может работать на любой архитектуре, в которой есть виртуальная машина Dart. Это делает этот формат очень портативным и быстрым в компиляции, но менее производительным, чем другие результаты компиляции.
$ dart compile kernel <source.dart> Compiling <source.dart> to kernel file <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, команда Dart в начале 2015 года создала 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 i = 1; i <= 10; i++) {
print(i);
}
}
Функция для вычисления n-го числа Фибоначчи :
void main() {
var i = 20;
print('fibonacci($i) = ${fibonacci(i)}');
}
/// Computes the nth Fibonacci number.
int fibonacci(int n) {
return n < 2 ? n : (fibonacci(n - 1) + fibonacci(n - 2));
}
Простой класс:
// Import the math library to get access to the sqrt function.
// Imported with `math` as name, so accesses need to use `math.` as prefix.
import 'dart:math' as math;
// Create a class for Point.
class Point {
// Final variables cannot be changed once they are assigned.
// Declare two instance variables.
final num x, y;
// A constructor, with syntactic sugar for setting instance variables.
// The constructor has two mandatory parameters.
Point(this.x, this.y);
// A named constructor with an initializer list.
Point.origin()
: x = 0,
y = 0;
// A method.
num distanceTo(Point other) {
var dx = x - other.x;
var dy = y - other.y;
return math.sqrt(dx * dx + dy * dy);
}
// Example of a "getter".
// Acts the same as a final variable, but is computed on each access.
num get magnitude => math.sqrt(x * x + y * y);
// Example of operator overloading
Point operator +(Point other) => Point(x + other.x, y + other.y);
// When you instantiate a class such as Point in Dart 2+, new is
// an optional word
}
// All Dart programs start with main().
void main() {
// Instantiate point objects.
var p1 = Point(10, 10);
print(p1.magnitude);
var p2 = Point.origin();
var distance = p1.distanceTo(p2);
print(distance);
}
Влияние других языков [ править ]
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 г.
- ^ Jump up to: Перейти обратно: а б «Система типов Дарт» . dart.dev .
- ^ «Веб-языки и виртуальные машины: быстрый код всегда в моде. (V8, Dart) — Google I/O 2013» . Ютуб . Проверено 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 г. [ постоянная мертвая ссылка ]
- ^ «Модификаторы классов» .
- ^ Jump up to: Перейти обратно: а б с Томсен, Майкл (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 г.
- ^ Jump up to: Перейти обратно: а б «ЭКМА-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 г.
- ^ «Дарт-спектакль» . Dartlang.org . Архивировано из оригинала 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 г.
- ^ Jump up to: Перейти обратно: а б «Суть 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
- Компиляторы исходного кода
- Веб-программирование