Райан Даль, создатель Node.Js, потратил свое драгоценное время на создание улучшенной версии Node.JS, то есть Deno. Deno — это не следующая версия Node.JS. По сути, это новая стандартная библиотека, которая использует среду выполнения как javascript, так и машинописного текста. Это может быть альтернативой NodeJS, сейчас Deno выпущен в экспериментальной версии v1.0.

Официальное определение Deno:

Безопасная среда выполнения для JavaScript и TypeScript.

Здесь означает безопасную среду выполнения, запуск Deno в sanbox, который обеспечивает безопасность от стороннего приложения для доступа через любые сетевые вызовы или вызовы файловой системы, если вы хотите получить доступ, вы должны предоставить разрешение, без каких-либо разрешений на доступ, которые вы не можете использовать любые службы инстанса Deno sanbox. И он использует как Javascript, так и Typescript из коробки для разработки API.

Встроенная среда Node.JS обеспечивает поддержку javascript, но если мы хотим использовать поддержку Typescript с NodeJS, нам нужно явно настроить typescript с помощью babel, чтобы он работал на Node.

Node — отличная серверная среда выполнения JavaScript сама по себе, в основном благодаря обширной экосистеме и использованию JavaScript. Тем не менее, Даль признает, что есть несколько вещей, о которых ему следовало бы подумать больше — безопасность, модули и зависимости, и это лишь некоторые из них.

Это не означает, что NodeJS не является отличным серверным языком сценариев, но в нем есть некоторые потоки, которые признал Ран Даль на конференции 2018 года. Он сказал, что когда в 2009 году появился Node.JS, Javascript еще не был достаточно зрелым. У него более старый способ обработки асинхронной активности, а также более старый способ использования модульности. Однако Deno пришел с решением проблем Node.

Пусть у нее какая-то фича, которую предоставляет Deno.

Модульность:
Deno загружает модуль с помощью новой функции ES6, такой как «импорт», а также пакет загружается с URL-адресов. Всякий раз, когда мы загружаем какой-либо пакет в приложение deno, он извлекает и кэширует пакет в локальном каталоге при первом запуске приложения, где, как и в NodeJS, он загружает и сохраняет весь пакет в папке node_modules из репозитория NPM. В NodeJS древовидная структура зависимостей
загружает все зависимые библиотеки, например, в папку node_modules.

npm install express

Всего будет загружено 48 пакетов, поэтому в случае NodeJS размер пакета больше, чем в случае с Deno.

Безопасность:

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

Версии пакетов:

Поставщик пакетов предоставляет разные версии, поэтому, если мы хотим использовать какую-либо конкретную версию с Deno, мы должны указать ее в URL-адресе.

import { server } from "https://deno.land/[email protected]/http/server.ts";

Поддержка TypeScript:
Deno обеспечивает поддержку машинописного текста без каких-либо файлов конфигурации. Наряду с машинописным текстом можно создать приложение deno на JavaScript и выполнить его без каких-либо проблем.

Теперь давайте установим и настроим Deno для разработки.

Mac/Linux

curl -fsSL https://deno.land/x/install/install.sh | sh

PowerShell (Windows)

iwr https://deno.land/x/install/install.ps1 -useb | iex

Следующая команда предоставит информацию о версии Deno на вашем компьютере.

deno --version or deno -V

Чтобы получить помощь от deno

deno help

Чтобы оценить любое выражение

deno eval "console.log(45+10)"

Чтобы запустить deno REPL, закройте REPL, используя ctrl+d или ctrl+d, или Deno.exit().

Чтобы создать первый Hello world с помощью deno,

deno run https://deno.land/std/examples/welcome.ts

Чтобы выполнить программу из локального каталога, сначала создайте файл fileName.ts, а затем выполните команду этого типа файла, которая скомпилирует, а затем запустит его.

deno run fileName.ts

Чтобы создать HTTP-сервер, мы должны импортировать файл server.ts deno.land, чтобы запустить этот файл, мы должны разрешить сетевой вызов с помощью -allow-net, иначе песочница выбрасывает и выдает ошибку.

deno run --allow-net index.ts

Вывод

Создание Deno заставит сообщество разработчиков задуматься о следующей замене среды выполнения NodeJS. Однако Deno исходит из мышления, ориентированного на безопасность, и децентрализованного подхода к управлению пакетами. Deno имеет встроенную поддержку TypeScript из коробки.

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

Ребята, считаете ли вы, что эта статья дает какое-то представление о Deno, если да? Поделитесь своим опытом, вопросами и отзывами ниже.

Спасибо, что прочитали!