Разработчик Node.js запустил новую JavaScript-платформу Deno 1.0

Разработчик Node.js запустил новую JavaScript-платформу Deno 1.0
25.05.2020
27617

Создатель платформы для JavaScript-разработки Node.js Райан Даль выпустил первый официальный релиз нового проекта – Deno 1.0. Это защищенная платформа, которая позволит создавать и обособленно выполнять приложения на JavaScript и TypeScript.

Безопасная и открытая платформа

Разработка Deno стартовала около двух лет назад. Как и Node.js, а также браузеры на базе Chromium, новая платформа использует JavaScript-движок V8.

Но Deno – не очередной этап развития Node.js. Это абсолютно самостоятельная платформа, которая лучше защищена и работает стабильнее.

В целом Deno создан для производительных web-приложений. Они могут выполняться на самой платформе или в любом современном браузере. 

По словам Даля, в Deno он стремился избавиться от основных ошибок в архитектуре, сделанных в Node.js, и повысить безопасность окружения. Для создания обвязки движка V8 он использовал язык Rust. Его инструменты позволяют избежать проблем, связанных с неправильной низкоуровневой работой с памятью. К примеру, Rust не даст обратиться по адресу к уже освобожденной памяти, выйти за границы буфера или разыменовать нулевой указатель. 

В неблокирующем режиме запросы Deno обрабатывает платформа Tokio. Она также написана на Rust и использует модель событийно-ориентированной архитектуры (Event-driven). Tokio эффективно работает в асинхронном режиме и поддерживает многопоточность. 

Deno распространяется под лицензией MIT. Сборки Deno 1.0 можно загрузить для Linux, Windows и macOS.

Часть программных интерфейсов пока скрыта. Доступ к ним можно получить, только если запустить Deno с ключом --unstable. 

Чем Deno отличается от Node.js

Deno не привязан к конкретным репозиториям и не использует пакетный менеджер npm. Прослойка, которая обеспечит совместимость новой платформы с Node.js, активно развивается. Она позволит запускать в Deno приложения для Node.js. 

Модули платформы могут размещаться на любом сайте, поддерживается их адресация через файловые пути и URL. Используется система модулей ECMAScript, функция require() не поддерживается. 

Структур «package.json» для определения модулей здесь тоже нет. Для всех файлов, переменных окружения и сетей в Deno нужно указывать полномочия явно.

Асинхронные действия в Deno API возвращают promise. Если в работе приложения возникла ошибка, которой не поставлен в соответствие обработчик, то оно завершит работу. 

Deno поддерживает TypeScript, тогда как Node.js может работать только с JavaScript. Штатный компилятор TypeScript используется для проверки типов и генерации JavaScript. Даль планирует создать собственную систему проверки типов, чтобы повысить производительность решения.

Преимущества Deno 

Чтобы запустить Deno в рантайме, достаточно одного исполняемого файла размером около 20 Мб. Он не имеет внешних зависимостей, хотя и является коллекцией отдельных crate-пакетов на Rust (deno_core, rusty_v8). 

В Deno конфигурации по умолчанию ориентированы на достижение максимальной безопасности. Приложения запускаются в изолированных песочницах и не имеют доступа к системе, пока вы явно его не предоставите. 

Код с внешних ресурсов для Deno можно запускать через URL. Он кешируется на локальной машине и по умолчанию автоматически не обновляется. Все скрипты Deno-приложения можно объединить в единственный JavaScript-файл.

Deno включает HTTP-сервер на TypeScript. Он работает поверх нативных TCP-сокетов, чтобы предоставить разработчикам более простой и универсальный интерфейс. Минус решения – снижение пропускной способности, плюс – гарантированно предсказуемые задержки. За секунду он обрабатывает 25 тыс. запросов, максимальная задержка в тестах – 1,3 мс.

Напомним, в Node.js встроенный сервер написан на С, и он предполагает привязку для JavaScript. При этом в тестах сервер Node.js обработал за секунду 34 тыс. запросов, но время задержек колебалось от 2 до 300 мс. 

Автор:
Обозреватель

См. также

Минцифры подготовило проект постановления по запуску платформы, на которой ИТ-специалисты могут пройти добровольное тестирование и подтвердить свою квалификацию.

11.12.2024    997    user1915669    3       

2

Федеральная налоговая служба запустила интерактивный сервис, позволяющий формировать в машиночитаемом виде договоры, контракты, соглашения и спецификации. Чтобы создать документ и скачать получившийся файл, регистрация не требуется.

03.12.2024    796    user2114475    0       

2

Российский Альянс по искусственному интеллекту обновил требования к специалистам по ИИ: вышла новая модель с основными профессиями и навыками. Теперь базовых профессий в сфере ИИ осталось только четыре.

01.11.2024    955    user1915669    0       

3

Система платежей «Волна» по планам сделает возможной бесконтактную оплату для владельцев IPhone в России, а BRICS Pay позволит совершать безналичные расчеты иностранцам по картам Visa и Mastercard.

23.10.2024    1263    AnastasiaKl    0       

4

Конструктор сайтов Wix уходит из России с 12 сентября 2024 года – перестанут работать все российский аккаунты. Сайты, привязанные к аккаунтам, также перестанут работать.

11.09.2024    1242    user1915669    2       

2

ИИ научат разработке цифровых интегральных микросхем – несколько российских научных институтов заявили об участии в проекте. Проект рассчитан на 3 года – с 2024 по 2026.

23.07.2024    876    user1915669    0       

2

Развитие искусственного интеллекта и цифровых сервисов в России стало причиной роста потребности в мощных центрах обработки данных. Эксперты прогнозируют, что дефицит ЦОД, который уже наблюдается сегодня, в ближайшие годы будет только усиливаться.

18.07.2024    989    AnastasiaKl    0       

1

В сентябре 2024 года видеоигры в России начнут маркировать – пока на добровольной основе. Геймерам будут сообщать о семи видах чувствительного (неприятного) контента в игре.

17.07.2024    1067    user1915669    0       

1

Комментарии

Инфостарт бот
1. artbear 04.06.20 13:47 Сейчас в теме
Какая интересная новость.

Оставьте свое сообщение