Программное обеспечение как услуга
- 1 year ago
- 0
- 0
Deno — программная платформа, среда выполнения для JavaScript и TypeScript , основанная на движке JavaScript V8 и написанная на языке программирования Rust . Проект Deno был создан Райаном Далем , создателем Node.js . Deno совмещает функциональность среды выполнения и пакетного менеджера .
Проект Deno был анонсирован Райаном Далем в выступлении «10 вещей, о которых я сожалею в Node.js», которое прозвучало на JSConf EU 2018 . В этом выступлении Даль выразил сожаление по поводу ряда архитектурных решений, принятых им самим в Node.js . В конце доклада он представил прототип Deno.
Первоначально Deno был написан на Go и использовал Protocol Buffers для обмена сообщениями между привилегированной частью движка (написанной на Go и имеющей доступ к вызову системных функций) и непривилегированной (средой выполнения JavaScript, основанной на V8) . Однако вскоре Go был заменен на Rust из-за проблем, вызванных наличием двух сред выполнения в рамках одного процесса, каждая из которых использовала собственный сборщик мусора . Библиотека libuv, реализующая асинхронную обработку событий, была заменена на Tokio , а также был проведен эксперимент с заменой технологии Protocol Buffers на Flat Buffers, который был признан неудачным из-за проблем с производительностью .
Стандартная библиотека по образцу стандартной библиотеки языка программирования Go, была представлена в ноябре 2018. Этот шаг был предпринят в попытке избежать проблемы, существовавшей в среде выполнения Node.js — из-за скудности стандартной библиотеки, использующим Node.js разработчикам приходится подключать к своим проектам внешние зависимости для решения базовых задач .
Официальная версия Deno 1.0 была выпущена 13 мая 2020 г .
29 марта 2021 года было объявлено о создании компании Deno. Проект получил финансовую поддержку от Shasta Ventures, Mozilla Corporation и некоторых других компаний. Компания была создана для обеспечения дальнейшего развития Deno, а также для разработки коммерческих решений на основе технологии.
Целью Deno является создание эргономичной среды выполнения для современного программиста . Подобно Node.js, Deno реализует событийно-ориентированную архитектуру , предоставляя набор неблокирующих методов управления вводом-выводом. Deno можно использовать для создания веб-серверов , выполнения научных вычислений и т. д.
Deno и Node.js — это среды выполнения, основанные на движке JavaScript V8 , который используется в Google Chrome . Обе среды выполнения основаны на обработке цикла событий и предоставляют интерфейсы командной строки для запуска скриптов.
Основные отличия Deno от Node.js заключаются в следующем: