Лучше nodejs?

С момента появления Deno прошла всего неделя, и все, кто использует javascript, говорят об этом.

Что такое Deno?

«Простая, современная и безопасная среда выполнения для JavaScript и TypeScript».

Разработан создателем nodejs Райаном Далем. Первая версия (1.0) была выпущена 13 мая 2020 года.

Почему существует Deno?

Спустя долгое время после выпуска nodejs Райан Даль выразил некоторые сожаления и высказал некоторые мысли о том, что с nodejs было не так. Таким образом, Deno внесла все эти исправления.

Что нового в Deno?

Говоря о «новом», в Deno есть много интересных функций. Ниже приведены некоторые особенности Deno:

Нет npm

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

import { serve } from "https://.../http/server.ts";

Более безопасный

В Deno вам необходимо определить разрешения для операций чтения-записи из командной строки, что сделает ваш код более безопасным в разных средах с разными вариантами использования.

deno install --allow-net --allow-read https://.../file_server.ts

Поддержка машинописного текста

Это очень важно для всех поклонников машинописного текста. Deno поддерживает как javascript, так и машинописный текст как первоклассные языки во время выполнения. Вы также можете предоставить пользовательские конфигурации для вашего машинописного текста, используя tsconfig.json и попросите Deno использовать его.

deno run -c tsconfig.json mod.ts

Больше работы, меньше кода

Код в Deno выглядит очень простым и компактным. В некоторых местах это даже похоже на сокращение от nodejs. Таким образом, вы можете многое сделать в Deno с меньшим количеством кода.

const listener = Deno.listen({ port: 8080 });
console.log("listening on 0.0.0.0:8080");
for await (const conn of listener) {
  Deno.copy(conn, conn);
}

Встроенные библиотеки

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

let file = await Deno.open(filename);
await Deno.copy(file, Deno.stdout);

Кэширование библиотеки

Хотя Deno позволяет импортировать библиотеки из любого места, он также импортирует их только один раз и кэширует. Если вам нужно получить более новые версии импорта, вам необходимо явно перезагрузить их.

--reload=https://deno.land/std/fs/copy.ts,https://deno.land/std/fmt/colors.ts

Это лучше, чем Nodejs?

Когда мы так много обсуждаем Deno, я думаю, что самый важный вопрос, который имеет наибольшее значение, - это «он лучше, чем nodejs?». Но сначала давайте поймем, почему все задают этот вопрос. Когда появился nodejs, он сразу же создал себе место из-за всех функций, которые он предлагал в то время, и с тех пор nodejs развивался в своем собственном темпе, и никто не мог конкурировать. Но даже по прошествии стольких лет nodejs кажется, что он почти не эволюционировал с момента своего рождения, и это означало, что его ожидала большая эволюция. Наконец, Deno дает ощущение эволюции и готовности к будущему.

Нет никаких сомнений в том, что Deno обладает множеством удивительных функций, и это шаг в правильном направлении, но он далек от того, когда люди на самом деле начинают решать проблемы с помощью Deno. Кроме того, nodejs - очень старый и надежный игрок с огромной поддержкой сообщества и людьми, которые привыкли к правилам nodejs. Даже с новыми захватывающими функциями Deno приходить и устанавливать новые правила - это крутой путь. И следующие пару лет могут действительно решить судьбу как nodejs, так и Deno.