Deno — это проект с открытым исходным кодом среды выполнения JS, который был запущен создателем NodeJS. Эта среда выполнения реализует основные принципы, которые, по мнению создателя, должны были быть в NodeJS. Какая прекрасная возможность создать проект, чтобы исправить некоторые из ваших ошибок, но я не думаю, что все они были неправильными в начале, многие из этих улучшений были усвоены в последующие годы. Большой вывод о Deno заключается в том, что он позволяет запускать TypeScript и JavaScript на серверных и пограничных платформах, а многие стандартные модули библиотеки совместимы со стандартом Интернета. Стандартная совместимость означает, что API являются теми же спецификациями, которые созданы организацией по стандартизации W3C. Это убеждение ведет к антихрупкости.

Почему за DENO будущее?

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

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

Совместимость с веб-стандартами

Deno уделяет особое внимание совместимости с веб-стандартами, что означает, что Deno предоставляет API с максимально возможным использованием стандартов браузера:

  • окно
  • местное хранилище
  • навигация
  • крипто
  • принести

Единый и безопасный исполняемый файл

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

Это в коробке

Deno поставляется с JSX, TypeScript, REPL, Linting, Formatting, Testing в коробке, нет необходимости искать сторонние инструменты и зависимости, они всегда будут поддерживаться.

deno repl
deno lint
deno fmt
deno test

Децентрализованное управление зависимостями

Лучшее управление зависимостями за счет отсутствия центральной точки отказа. Deno достигает этого, используя URL-адреса для импорта модулей. URL-адрес может быть ссылкой на любой адрес в Интернете. Используя DNS, вы можете легко иметь несколько источников, которые обслуживают контент. Эта децентрализованная модель обеспечивает избыточность и масштабируемость. Импорт URL-адресов даст вашей команде больше уверенности в том, что код, работающий в их среде, не изменится в производственных средах, особенно с такими репозиториями, как Nest.land.

Nest.Land — это репозиторий кода Deno, который использует блокчейн ARWeave для хранения всего исходного кода, что означает, что код является постоянным и всегда доступен в течение как минимум 200 лет, но, скорее всего, навсегда. Это может придать потребителям ваших модулей большое доверие. Даже владелец программного обеспечения не может удалить его из блокчейна ARWeave.

Создан для работы на грани

Edge — это серверная сеть, которая распространяет исполняемый код в центры обработки данных по всему миру, предоставляя всем, у кого есть Интернет, очень близкий доступ к исполняемому коду. Это идеальное решение для веб-приложений и мобильных приложений, позволяющее значительно сократить время ожидания и использовать кэширование рядом с пользователем, чтобы обеспечить невероятно быстрое взаимодействие с вашими клиентами.

Это мне подходит?

JavaScript никуда не денется, и есть множество вариантов, NodeJS, безусловно, способен продержаться на сервере дольше всех, но он не очень хорошо работает на периферии. Среды выполнения, такие как рабочие среды Cloudflare, Deno Deploy и другие, начинают обретать форму. Если требования вашего приложения состоят из низкой задержки и производительности без сохранения состояния, обратите внимание на Deno.

Если вы начинаете чувствовать усталость от кошмаров с зависимостями и начинаете беспокоиться об угрозах безопасности из-за атак типа человек посередине или о количестве библиотек с открытым исходным кодом, которым вы должны доверять и которым не хватает возможностей полной поддержки, то я бы порекомендовал поискать Deno для ваш следующий проект. Почему бы не попробовать это в этом небольшом руководстве по началу работы, которое я создал [здесь https://github.com/twilson63/go.hyper.io].

Минусы, почему я должен воздержаться от Deno?

Людям не нравятся изменения, иногда изменения сложны, слишком укоренились в одной технологии, а «функций» по сравнению с «болью/риском» кажется недостаточно, чтобы инвестировать в миграцию. Но я думаю, что большой проблемой является поддержка мета-фреймворков, у Deno нет хорошей истории для мета-фреймворков. Я думаю, что это изменится в 2022 году, посмотрите на Remix, SvelteKit и т. д.

Краткое содержание

DENO в версии 1.17 начинает созревать как среда выполнения JavaScript, пространство периферийных вычислений расширяется, начиная улучшать поддержку многих различных архитектур, SPA, MPA, API и т. д. JavaScript здесь, чтобы остаться, Интернет здесь, чтобы остаться и Я считаю, что DENO останется, поэтому, если вы делаете ставку на JS, подумайте о том, чтобы сделать ставку на DENO. Для нашей команды Deno устранил многие болевые точки, с которыми мы столкнулись в экосистеме NodeJS, и мы верим, что у Deno очень светлое будущее.

КСТАТИ! Смотри гипер!

⚡️hyper — это наш бэкэнд как сервисный продукт, который позволяет вам больше никогда не говорить Kubernetes или веб-сервисы AWS. Ознакомьтесь с нашей документацией по началу работы на https://docs.hyper.io/cloud и начните создавать приложения, которые могут изменить мир! Если вам нужна помощь или вы просто хотите поболтать, присоединяйтесь к нашему сообществу на https://hyper.io/slack и скажите 👋🏻 Привет!