Руководство по функциям Deno по сравнению с Node.js
Введение:
Итак, если вы не живете в пустоте, вы, вероятно, слышали о новой платформе JavaScript под названием Deno. Deno - это простая, современная и безопасная среда выполнения для JavaScript и TypeScript, использующая V8 и встроенная в Rust. Основной задачей Deno является обеспечение безопасности и облегчение сценариев. Теперь кажется, что это то же самое, что и Node.js, потому что он использует движок Chrome V8, но если вы посмотрите внимательно, в Deno есть некоторые дополнительные функции, о которых мы поговорим в следующем разделе.
Особенности:
1. Deno полностью использует среду песочницы JavaScript. Это означает, что по умолчанию любой скрипт Deno, запущенный на вашем компьютере, не имеет доступа для записи в сеть или файловую систему. С другой стороны, если вы хотите предоставить эти разрешения, вы можете явно указать их с помощью флагов, таких как
— allow-read --allow-net
2. Deno поддерживает TypeScript из коробки. Это означает, что вы можете начать писать код TS сразу после его установки без каких-либо дополнительных настроек.
3. Deno пошел все в создании сценариев легких путем импорта модулей через удаленные URL - адрес. Райан Даль, создатель сказал: «Вы ссылаетесь только на файлы JavaScript, как в Интернете». Вы можете импортировать что-то вроде этого.
import { util } from ‘URL’
На самом деле вы можете устанавливать и запускать сценарии локально, которые находятся в сети. Пример этого выглядит следующим образом. Это будет служить каталог локально в HTTP.
deno install — allow-net — allow-read
https://deno.land/std/http/file_server.ts
4. Deno поставляется с кучей других утилит, таких как отладчик, форматировщик и упаковщик. Наилучшим инструментом из перечисленных, на мой взгляд, является пакет, так как он устраняет все проблемы, вызванные внешним пакетом, и проблемы, с которыми нам приходится сталкиваться для их настройки. Все, что вам нужно сделать, чтобы связать все ваши сценарии, это
deno bundle [URL]
5. Deno поддерживает высокоуровневую асинхронность / ожидание, что означает, что вам не нужно отмечать свои функции как асинхронные, чтобы использовать ожидание. Это то, что я не знаю о вас, но определенно мне очень поможет!
Node.js против Дено
Теперь нет смысла принимать стороны между этими двумя структурами, но в то же время было бы наивно говорить, что Node.js против Deno - это борьба равных. Райан Даль, парень, стоящий за обеими этими структурами, создал Дено, потому что в Ноде были вещи, которыми он не был доволен. Если вы посмотрите на них обоих с объективной точки зрения, то увидите, что все основные функции Deno - это то, что не так с Node. Node небезопасен, любой запущенный скрипт имеет полный доступ к вашему компьютеру, а node_modules делают все проекты Node излишне большими. Видео, приведенное ниже, взято из JSConf EU 2019, в котором Райан Даль перечислил свои сожаления по поводу Node.js
С другой стороны, время запуска Дено составляет около 1 секунды, что далеко от приемлемого. Поскольку он все еще на V1.0.0, есть много вещей, которые были обещаны на будущее, и мы не знаем, будут ли они доставлены или нет, как генератор документации, инспектор зависимостей и т. Д.
Вывод
В ближайшие годы Дено наверняка станет большой вещью, но убьет ли он Node.js? Точно нет! Это примерно тот же сценарий, когда React был выпущен, хотя у нас был Angular. Реакт убил Angular? Нет! У них обоих есть свои плюсы и минусы, и оба имеют одинаково преданное сообщество разработчиков, использующих их. Существуют крупные компании, такие как Netflix, Uber, LinkedIn и т. Д., Использующие Node, и они не собираются переносить свою кодовую базу в Deno. Так что если вы изучаете Node, вам не нужно останавливаться!