Что такое Дено?

Компания Node js вот-вот перевернется, потому что пришел Deno или динозавр…..

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

Итак, что такое deno на самом деле?

Ага! deno защищен во время выполнения как typescript, так и javascript. И парень, который создал node js, то есть «Райан Дхал», также создал Dino. Идея его создания заключается в том, как он структурировал или спроектировал узел js давным-давно. Когда он оглядывается назад, то думает: «Ааааа! это так отвратительно!».

Вот почему он все улучшил и разработал новую версию узла js, то есть Deno…….

Итак, во-первых, «дено защищен», что это значит? Это означает, что когда на практике мы запускаем программу deno, по умолчанию у нее не будет никаких разрешений, и когда мы запускаем что-то, что пытается получить доступ, скажем, к любой сети или вашей файловой системе, она выдаст ошибку, если вы явно не дадите ей разрешение. передав флаг в CLI, сравните это с программой node, где она может делать все, что хочет, и у нее есть разрешения на все.

Это важно. Например, если вы устанавливаете пакет npm или запускаете CLI откуда-то еще, вы не писали этот код. Так что, теоретически, он может делать что угодно сразу на вашем компьютере.

Deno ограничивает это, и поэтому он безопасен….

Теперь Райан Дхал решил создать свой API для стандартных функций, которые вы используете, пытаясь сделать его совместимым с браузером, поэтому у них есть такие вещи, как веб-совместимые API.

Итак, в deno у них есть стандарты, и это лишь некоторые из них, у них есть средство запуска тестов, средство просмотра файлов, у них есть сборщик, так что у вас нет демона, шутки и веб-пакета, просто все разбито.

Здесь нет необходимости в дополнительных инструментах, например, если вы используете deno, а я использую deno, то оба используют один и тот же сборщик, и, во-вторых, эти инструменты прекрасно интегрируются друг с другом. Иногда, когда у нас есть два несвязанных инструмента, которые нам нужно объединить в одну и ту же экосистему, это становится немного некрасиво, но теоретически, если deno знает о сборщике и наблюдателе за файлами, чтобы он мог делать вещи, которые довольно хорошо сочетаются друг с другом, и самое большое изменение всего в том, что они избавились от узловых модулей, package.json и NPM, поэтому, если вы хотите использовать чужой код, вы больше не используете эти вещи, вместо этого они помещают свой код в файлы сервера, а затем в deno вы просто говорите , «Эй, я хочу импортировать этот URL-адрес», а затем вы можете напрямую импортировать свой код с этого URL-адреса, как показано ниже:

import {red} from "<https://deno.land/std/fmt/colors.ts>";
console.log(red("I am red text :)"));

И причина этого в том, что модули узла номер 1 и пакет JSON

и все это раздуто прямо в файле package.json есть куча других вещей.

Итак, идея в том, что в npm мы устанавливаем все вещи или зависимости для использования файла, но теперь мы можем просто указать на любой сервер, на котором размещен файл, и мы также можем использовать его для нашего кода, и когда вы импортируете из URL-адресов или только из локальных файлов, теперь вам нужно включить расширение файла, но в узле мы можем просто оставить это, но теперь они избавляются от этого, и идея, стоящая за этим, очень неоднозначна, вы не знаете, если они имелось в виду косая черта index.js и т. д., но теперь эта двусмысленность полностью исчезла. Теперь мы точно знаем, на какой файл вы имеете в виду ссылку, и есть куча других вещей, которые делает deno, но это основные моменты.

Я не говорю, что node js слишком плох или что-то в этом роде, я на самом деле говорю, что Deno на шаг впереди node js.

Кроме того, deno работает со сторонними модулями. Сейчас существует множество пакетов NPM, которые несовместимы с deno по той или иной причине, если они используют требуемый синтаксис или module.export, или они используют файл package.json для обработки зависимостей, и они не включают расширение файла, когда они импортируют материал, или они используют API или функцию, которая указывает на чтение файла в node js, и они не работают в deno, потому что он не поддерживается прямо сейчас. Это как-то неловко.

Похоже, что есть какой-то обходной путь, чтобы заставить некоторые существующие пакеты NPM работать в deno, один из них — JSPM.IO, который позволяет вам конвертировать обычный формат js в ESM, который будет лучше работать с deno.

Проблема с Deno

Важно понимать, что deno — это не форк Node — это совершенно новое использование. Над ним работали всего два года, в то время как работа над Node продолжалась более 10 лет. Учитывая степень энтузиазма в отношении Deno, мы ожидаем, что он будет продолжать развиваться и продвигаться вперед.

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

Тем не менее, на данный момент это лучше, не так ли? В этом есть часть полезности, поэтому, согласитесь, Deno лучше, что экономит много времени.