13 мая версия 1.0 DENO была выпущена, новая среда выполнения для JavaScript и Teadercript, созданная в Rust, и используя V8 в качестве двигателя JavaScript.
Но почему новая среда выполнения для JavaScript? Ну, у нас уже есть среда выполнения для JavaScript за пределами браузера, который является узлом JS, созданный Ryan DAHL в 2009 году, но это было создано без учета эволюции, которую JavaScript будет иметь в качестве языка в следующие годы.
Узел js.
Узел JS создан в C ++ и использует Libuv Как библиотека для обработки асинхронного кода, но изначально у меня не было менеджера по пакетам или способам импорта модулей «требовать, импортировать», другую проблему, что не только узел JS имеет, но и другие интерпретированные языки, управлять и доступ к другим интерпретациям. Системные ресурсы, делающие их менее безопасными, чем другие, у нас не было «aSync a ждать», «Обещания» или другие ресурсы, которые распространены на сегодняшнем языке. Конечно, сегодня у нас есть НПМ и «требуют», но они были введены в архитектуре, которая не имела этого планировала.
Проблема называется NPM
Все, кто запрограммировал JavaScript с узлом js, безусловно, знает каталог Node_Modules, где хранятся зависимости и библиотеки развития, но проблема в том, что NPM является внешней компанией для узла JS И все централизовано, когда Интернет и программное обеспечение предназначено для децентрализации, возможно, также произойдет, что вы загружаете библиотеку для обработки системных файлов и используете меньшие библиотеки, может произойти, что скрипт кода внутри одной из этих библиотек имеет некоторую злоумышленную цель.
Еще одна проблема NPM – это так называемое Зависимость ад Какая сложная зависимость библиотек друг к другу, в этом пост Лучше объяснить. Но Зависимость ад не проблема узла js Но НПМ Конечно, но NPM является незаменимым инструментом для разработки узла JS, оно влияет на вас в том, что у нас есть каталог, который в зависимости от сложности и количества модулей и библиотек может достигать большого количества пространства на диске.
Изображение выше представляет собой представление зависимостей GATSBY, где каждый узел представляет собой библиотеку и ее соединения. Инструмент ссылка Отказ
разговор
Теперь Deno приходит, чтобы решить множество проблем узела JS, но кто ведет этот проект, не совсем кто-нибудь, это тот же узел JS Creator Райан Даль Поскольку он знает о проблемах узла, но узел является уже стабильным проектом, поэтому решил начать с нуля.
Интересная вещь о Deno состоит в том, что у него только около 2 лет разработки, что он написан на ржавчине моциллы и что он не использует Libuv, но Токио обрабатывать асинхронный код. Другие интересные вещи состоят в том, что он также может выполнить Tearmcript, поскольку он поставляется с компилятором, он имеет сильный упор на безопасность для управления ресурсами, поскольку мы должны явно дать доступ к ресурсам, такими как чтение и запись файлов или для сети, используя флаги »- -ALLAWOIN-NET, – all-Read Y –ALLE-НАПИСАТЬ “Все это с современным подходом, поскольку оно не поддерживает обещания, но использует Async ждут асинхронных событий. У него нет Node_Modules , NPM или требуется Поскольку зависимости управляются с помощью ссылки или ссылок, очень похожи на Идти И вместо того, чтобы этот импорт из ES6 библиотеки контролируются командой разработки Deno, поэтому она увеличивает безопасность. Еще одна особенность DENO – это то, что Toplevel ждет, что означает, что основная функция, которая управляет всем кодом в CALLSTACK, уже объявлена Async.
DENO – это интересное предложение узла JS Но только время скажет, если это зависит от этого, пока я буду публиковать более интересные вещи о Deno
Оригинал: “https://dev.to/buttercubz/first-look-with-deno-3026”