Его особенности включают в себя:
-
Поддержка TypeScript 2.8 из коробки;
-
Нет package.json, нет npm, нет совместимости с Node;
-
Внедряйте зависимости через URL-адреса вместо локальных модулей, загружайте и кэшируйте их при первом запуске и используйте только в коде.
--reload
После запуска зависимость будет обновлена.Метод введения следующий:
import { test } from "https://unpkg.com/deno_testing@0.0.5/testing.ts"
import { log } from "./util.ts"
скопировать код
-
Вы можете управлять файловыми системами и сетевым доступом для запуска кода песочницы, доступ по умолчанию к файловой системе только для чтения может получить доступ, без сетевых привилегий. Доступ между V8 и Golang может осуществляться только с помощью сообщений сериализации, определенных в Protobuf;
-
Автоматически завершать операцию при возникновении неперехваченной ошибки;
-
Поддержка верхнего уровня ожидания;
-
В конце концов создайте один исполняемый файл;
-
Цель — совместимый браузер;
-
Может быть импортирован как библиотека для создания собственной среды выполнения JavaScript.
Некоторые из этих функций нацелены на текущие болевые точки Node, включая отсутствие package.json, методы внедрения и обновления зависимостей, а также нацелены на негабаритные, на которые многие жалуются.node_modules
.
В то же время отказ от совместимости с узлом может рассматриваться как желание полностью отказаться от ноши узла и создать лучшую среду выполнения JS.
Автор ответил на несколько вопросов разработчиков на GitHub Issue:
В чем разница между deno и Node?Рай пошутил, что самая большая разница между ними заключается в том, что Node популярен, а Deno еще не используется.
На более высоком уровне Deno максимально упрощает связь между V8 и системным API и создает более простую и стабильную модульную систему, а также безопасную рабочую среду «песочницы».
Кроме того, использование Golang вместо C++ в качестве базового языка упрощает добавление расширенных функций, чем в Node, таких как добавление поддержки http2.0 в Go, просто путем добавления некоторого API маршрутизации и некоторой конфигурации в protobuf.
Deno был создан для создания более простых и безопасных сред выполнения без браузера, и это происходит в то время, когда инструменты разработки лучше, чем в 2009 году.
Мы также можем думать, что Deno будет представлять экологию Node для решения некоторых сложных проблем, таких как управление зависимостями, безопасность, стабильность, масштабирование и так далее.
Рождение Deno вдохновит больше людей инвестировать в исследование следующего поколения Node, которое является более инновационным и революционным, чем некоторые из предыдущих форков Node.
В настоящее время Deno находится в стадии интенсивной разработки, и мы продолжим следить за ее прогрессом.
Адрес Deno Github:https://github.com/ry/deno