Deno вже підтримує модулі npm

deno npm

Платформу розробляє Райан Дал, творець Node.js.

Останнім часом вийшла новина про вихід нової версії фреймворку Deno 1.28, що дозволяє виконувати автономні програми JavaScript і TypeScript, які можна використовувати для створення контролерів, що працюють на сервері.

Deno було створено, щоб забезпечити користувачам більш безпечне середовище і усунути помилки в архітектурі Node.js. Щоб підвищити безпеку, прив’язка навколо двигуна V8 написана на Rust, що запобігає багатьом уразливостям, які виникають через низький рівень обробки пам’яті.

Для обробки запитів у неблокуючому режимі використовується фреймворк Tokio, також написаний на Rust. Tokio дозволяє створювати високопродуктивні програми на основі архітектури, керованої подіями, підтримуючи багатопотоковість і асинхронну обробку мережевих запитів.

Деякі особливості Основні з них Deno:

  • Вбудована підтримка мови TypeScript на додаток до JavaScript. Для перевірки типів і генерації JavaScript використовується звичайний компілятор TypeScript, що призводить до зниження продуктивності порівняно з розбором JavaScript у V8.
  • Середа виконання постачається у формі окремого виконуваного файлу («deno»). Щоб запускати програми за допомогою Deno, ви просто завантажуєте виконуваний файл для своєї платформи розміром близько 30 МБ, який не має зовнішніх залежностей і не потребує спеціального встановлення у вашій системі.
  • Ефективна додаткова обробка мережевих запитів через HTTP, платформа призначена для створення високопродуктивних мережевих додатків
  • Можливість створення універсальних веб-додатків, які можуть працювати як в Deno, так і в звичайному веб-браузері
  • Наявність стандартного набору модулів, використання якого не потребує прив’язки до зовнішніх залежностей.
  • Модулі зі стандартної колекції пройшли додатковий аудит і тестування на сумісність
  • Пакет містить вбудовану систему перевірки залежностей (команда «deno info») і утиліту форматування коду (deno fmt).
  • Усі сценарії програми можна об’єднати в один файл JavaScript.

Головні новини Deno 1.28

Ключовою зміною в новій версії є стабілізація сумісності з пакетами, розміщеними в репозиторії NPM, що дозволяє Deno використовувати понад 1,3 мільйона модулів створено для платформи Node.js. Наприклад, додатки на основі Deno тепер можуть використовувати модулі постійного доступу до даних, такі як Prisma, Mongoose та MySQL, а також зовнішні фреймворки, такі як React і Vue.

Деякі модулі NPM все ще несумісні з Deno, наприклад, через прив’язки до певних середовищ Node.js, таких як файл package.json. Також неможливо використовувати команду «deno compile» з модулями NPM. У майбутніх випусках планується усунути ці несумісності та обмеження.

Модульна система Застаріла модель Deno ECMAScript і веб-API залишаються незмінними, а знайома схема завантаження на основі URL-адреси Deno використовується для імпорту модулів NPM.

Використовувати пакети NPM у Deno набагато легше, ніж у Node.js, тому що немає необхідності попередньо встановлювати модулі (модулі встановлюються при першому запуску програми), файл package.json не використовується, а каталог node_modules не використовується, використовується за замовчуванням (модулі кешуються у спільному каталозі, але можна повернути попередню поведінку за допомогою параметра "--node-modules-dir").

додатків на основі NPM зберігають можливість використовувати механізми контролю доступу, Ізоляція Deno та активація для розширених функцій, які впливають на безпеку. Щоб протистояти атакам через сумнівні залежності, Deno за замовчуванням блокує всі спроби доступу до системи із залежностей і відображає попередження про виявлені проблеми. Наприклад, коли модуль намагається записати в /usr/bin/, для цієї операції буде відображено запит на підтвердження:

Покращення, не пов’язані з NPM в новій версії включає оновлення двигуна V8 для версії 10.9, автоматичне виявлення файлів з блокуванням, стабілізація Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() і Deno API. .uid(), додавання нового нестабільного API Deno.Command() для виконання команд (універсальна заміна Deno.spawn, Deno.spawnSync і Deno.spawnChild).

Наостанок варто згадати про це Як і Node.js, Deno використовує двигун V8 JavaScript., який також використовується в браузерах на основі Chromium. При цьому Deno — це не форк Node.js, а новий проект, побудований з нуля. Код проекту розповсюджується під ліцензією MIT і є готові збірки для Linux, Windows і macOS.

Якщо ви є зацікавлений дізнатися більше про це, ви можете проконсультуватися за наступним посиланням.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.