Кто такой Deno и почему о нем все говорят

Кто такой Deno и почему о нем все говорят

Среду Райан Даль (создатель Node.js) начал разрабатывать для замены Node.js, выпущенного в далёком 2009 г., из-за налчия в том важных, по его мнению, недочётов.

Основные причины обратить внимание на Deno:

  • продукт создан специалистом, запустившим Node.js;
  • в среде устраняются недостатки Node.js.

Давайте рассмотрим технологии, стоящие за Deno.

V8V8

Итак, в руководстве указано, что инструмент построен на V8, Rust и Tokio. Давайте разберём, что это за штуки такие:

    – высокопроизводительный JavaScript-движок (а теперь и WebAssembly) от Google, используемый Node.js и Chrome. Чтобы обеспечить высокую производительность, V8 компилирует JavaScript в машинный код. – быстроразвивающийся системный язык программирования, основное внимание в котором уделяется производительности и безопасности памяти.
    – асинхронный рантайм для Rust. Это фреймворк для быстрых, надёжных и лёгких сетевых Rust-приложений. Он чрезвычайно хорошо справляется с параллелизмом и используется в виде основы для сторонних библиотек.

Таким образом, Deno базируется на быстрых, лёгких и безопасных технологиях.

Кто такой Deno и почему о нем все говорят

С 2009 года JavaScript изменился не так уж существенно. Сдвиг в лучшую сторону наблюдается только в удобстве разработки и производительности. Причиной Райана задуматься о Deno, стали несколько проблем в Node.js:

  • модульная система и ее распределение,
  • поддержка устаревших API,
  • вопросы безопасности.

Если вы работали какое-то время с Node.js, вы знаете о некоторых причудах npm . К тому же npm использует модель центрального репозитория ( npmjs ), которая имеет свои проблемы.

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

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

Встроенный TypeScript . Вы можете в полной мере использовать преимущества TypeScript для разработки, применять явные типы и другие полезности языка.

Кто такой Deno и почему о нем все говорят

Deno обещает производительность и безопасность. Это большое преимущество, но самое многообещающее заключается в облегчении жизни разработчика – можно использовать:

  • ES6,
  • TypeScript,
  • удалённые репозитории.

А вот ещё несколько плюшек:

  • Тестирование. Больше не нужно использовать случайно найденные инструменты и сомневаться в них – всё уже встроено в ядро.
  • Форматирование кода. Для форматирования файлов можно использовать команду deno fmt . Одна из фич, знакомых Go-разработчикам, которые экономят время разработчика.
  • Дебаг. Есть встроенный отладчик – не придётся рыскать по интернету в поисках нормального инструмента.
  • Compile/Bundle. Эта функциональность пока не вполне готова, но уже сейчас есть приличный бандлер, и ожидается развитие в будущем.

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

Процесс установки Deno – проще не придумаешь. Вы можете установить его с помощью описанных ниже установщиков или загрузить бинарник из гитхаба .

Shell (Mac, Linux):

PowerShell (Windows):

Scoop (Windows):

Сборка и установка из исходного кода с использованием Cargo:

Изучить дополнительные параметры установки всегда можно на официальном гитхабе .

Кто такой Deno и почему о нем все говорят

Похоже, что Deno собирается встряхнуть мир JS. Проект должен привнести следующие изменения в разработку:

  • повышение производительности,
  • улучшение безопасности,
  • уменьшение боли для разработчика,
  • соблюдение веб-стандартов,
  • защита от устаревших API-интерфейсов,
  • встроенный TypeScript и прочие инструменты.

Будущее Deno выглядит очень многообещающе. К месту упомянуть наши популярные статьи о TypeScript: