Райан Дал — автор Node.js — два дня назад представил первую стабильную версию нового рантайма для JavaScript- и TypeScript-приложений — "Deno 1.0".
Deno — это переосмысление V8-рантайма с учётом ошибок, которые были допущены при дизайне Node.js. Очень большой упор был сделан на безопасность. При запуске любого кода надо явно указывать, что может использовать скрипт (сеть, файловую систему и т.п.) Отказ от EventEmitter в пользу промисов в корне решил проблему с back-pressure. Есть встроенная поддержка TypeScript.
Есть ограничения. Deno несовместим с Node.js из-за значительных отличий в API. Также он не использует CommonJS, работа с внешними модулями децентрализована. Для подключения модулей используется синтаксис ES2015 с указанием прямой ссылки на код, рантайм его скачает и закеширует. Также Deno уступает Node.js в скорости работы HTTP-сервера, но не драматически.
Компиляция и сборка TypeScript отнимает время при запуске приложения, значительно уступая в начальной скорости запуска кода в Node.js. Райан серьёзно рассматривает вариант замены тайпчекера от Microsoft на более производительную реализацию на Rust.
#release #announcement #deno
https://deno.land/v1
Deno — это переосмысление V8-рантайма с учётом ошибок, которые были допущены при дизайне Node.js. Очень большой упор был сделан на безопасность. При запуске любого кода надо явно указывать, что может использовать скрипт (сеть, файловую систему и т.п.) Отказ от EventEmitter в пользу промисов в корне решил проблему с back-pressure. Есть встроенная поддержка TypeScript.
Есть ограничения. Deno несовместим с Node.js из-за значительных отличий в API. Также он не использует CommonJS, работа с внешними модулями децентрализована. Для подключения модулей используется синтаксис ES2015 с указанием прямой ссылки на код, рантайм его скачает и закеширует. Также Deno уступает Node.js в скорости работы HTTP-сервера, но не драматически.
Компиляция и сборка TypeScript отнимает время при запуске приложения, значительно уступая в начальной скорости запуска кода в Node.js. Райан серьёзно рассматривает вариант замены тайпчекера от Microsoft на более производительную реализацию на Rust.
#release #announcement #deno
https://deno.land/v1
Deno
Deno 1.0 | Deno
Dynamic languages are useful tools. Scripting allows users to rapidly and succinctly tie together complex systems and express ideas without worrying about details like memory management or build systems.
Deno в 2021 году
Арон О'Муллан, Бартек Иванчук и Райан Дал подвели итоги разработки Deno и его экосистемы в 2021 году — "Deno in 2021".
Летом был запущен Deno Deploy — коммерческое серверное решение для развёртывания JavaScript, TypeScript и WASM-сервисов.
С версии 1.9 HTTP-модуль использует hyper — HTTP-сервер с поддержкой HTTP/2, написанный на Rust. Hyper по сравнению с предыдущей реализацией на TypeScript увеличил пропускную способность сервера и уменьшил задержки.
Был добавлен FFI (Foreign Function Interface). Благодаря ему расширения для Deno можно писать на любом языке, поддерживающем соглашения вызова функций C.
В четвёртом квартале началась работа над созданием режима совместимости с экосистемой Node.js для запуска npm-пакетов. На данный момент работа над этой фичей ещё не закончена. Её можно включить с помощью флага
Было оптимизировано ядро Deno. Накладные расходы на вызов низкоуровневых функций платформы были сокращены в 100 раз.
В августе Deno был добавлен в таблицу совместимости MDN.
#deno
https://deno.com/blog/deno-in-2021
Арон О'Муллан, Бартек Иванчук и Райан Дал подвели итоги разработки Deno и его экосистемы в 2021 году — "Deno in 2021".
Летом был запущен Deno Deploy — коммерческое серверное решение для развёртывания JavaScript, TypeScript и WASM-сервисов.
С версии 1.9 HTTP-модуль использует hyper — HTTP-сервер с поддержкой HTTP/2, написанный на Rust. Hyper по сравнению с предыдущей реализацией на TypeScript увеличил пропускную способность сервера и уменьшил задержки.
Был добавлен FFI (Foreign Function Interface). Благодаря ему расширения для Deno можно писать на любом языке, поддерживающем соглашения вызова функций C.
В четвёртом квартале началась работа над созданием режима совместимости с экосистемой Node.js для запуска npm-пакетов. На данный момент работа над этой фичей ещё не закончена. Её можно включить с помощью флага
--compat.Было оптимизировано ядро Deno. Накладные расходы на вызов низкоуровневых функций платформы были сокращены в 100 раз.
В августе Deno был добавлен в таблицу совместимости MDN.
#deno
https://deno.com/blog/deno-in-2021
Deno
Deno in 2021 | Deno
Retrospect of what happened in 2021 and what's coming in 2022
👍32🔥5🤔3👎2