Вы можете найти все, что хотите знать о Deno, здесь, на deno.land, который является ее официальным сайтом.

В этой статье мы расскажем об основных различиях между Deno и Node.

Как и node, deno построен на движке V8 и языке программирования Rust. Но если у нас есть узел, зачем нам Deno. Что ж, JavaScript сильно изменился с 2009 года (когда был создан узел), очень сильно. У нас есть поддержка Promises, async/await, ES-модулей, типизированных массивов, и TypeScript тоже сейчас очень популярен.

NodeJS с точки зрения дизайна и архитектуры больше похож на любой другой внутренний язык программирования, а не на JavaScript, где такие вещи, как импорт скрипта, так же просты, как использование тега <script> и указание URL-адреса скрипта, хотя модуль системы хороши, но они слишком строгие и громоздкие. И в Node у нас есть централизованное распространение этих модулей, что опять-таки является своего рода ограничением.

И Node менее безопасен.

Основные характеристики дено:

Ниже приведены некоторые из основных функций Deno.

  1. Это безопасно. Приложение, написанное на Node, по умолчанию получает разрешение на системные вызовы, переменные окружения, доступ к файлам, сокетам, сети. Принимая во внимание, что его разрешение определяется таким образом, чтобы получить доступ к диску, сети, подпроцессам или переменным среды, вы должны предоставить разрешения для кода, такие как --разрешено-чтение, --разрешено-запись, --allowed-net для работы в сети, --allowed-env для доступа к переменным среды и так далее.
  2. Он поддерживает Typescript и имеет встроенный компилятор Typescript.
  3. Node был создан в 2009 году, и с тех пор было введено много новых функций JS, таких как модули ES, Promise, Async, Await и т. д., которые поддерживаются в Deno.
  4. Улучшенная модульная система, которая является более общей с операторами import, и мы можем использовать URL-адреса в коде для импорта любого модуля напрямую, используя URL-адрес в коде, а во время выполнения модуль загружается и кэшируется на будущее. С этим __node_modules и index.js больше нет. Для тех, кто не знает об узле, когда мы используем модуль, который похож на готовый код, который можно использовать непосредственно в коде, например, для сжатия изображений или http-модуля и т. д. папка node_modules в каталоге вашего проекта получает модуль, загруженный в нее, и выполнение по умолчанию из index.js, но не больше.
  5. Он не использует npm и файл package.json для определения зависимостей.
  6. Система сборки GYP (используется для компиляции библиотеки C и связывания ее с Node, если вам нужна какая-либо собственная библиотека C, полезно, если вы разрабатываете какой-либо модуль в Node) используется в Node. Это не влияет на нас как на разработчиков, но сейчас доступны более совершенные системы сборки.
  7. Использует снимки состояния V8, благодаря чему компиляция и код выполняются невероятно быстро.
  8. Он поддерживает API-интерфейсы браузера, чтобы лайкнуть unload, unload, location, setTimeout и т. д. (зачем нам это нужно, если код находится на стороне сервера)
  9. Мы даже можем запускать URL-адреса с помощью демонстрационной команды, например, deno https://deno.land/welcome.ts, и да, все, что вы запускаете или импортируете в свой код, должно иметь указанное расширение .js или .ts.
  10. Он поставляется с предварительно загруженным множеством инструментов, присутствующих в deno, таких как deno install, deno info (инспектор зависимостей), deno fetch, deno fmt (для форматирования кода) и т. д.

NodeJS мертв?

Ну совсем нет! Deno звучит как лучшая версия Node, но пока рано об этом говорить.

Deno слишком молод, а Node слишком стабилен.

NodeJs используется многими крупными компаниями, такими как Netflix, PayPal и т. д., у него большое сообщество, стабильная среда выполнения и отличный выбор для разработки приложения. Вполне возможно, что в ближайшее время, когда все больше и больше разработчиков примут deno, мы узнаем, насколько стабилен фреймворк deno или как вокруг него строится сообщество разработчиков и т. д.

Итак, если вы новичок и сомневаетесь, чему учиться? Я бы посоветовал выбрать Node, так как это по-прежнему отличная платформа, но также следите за фреймворком deno.