Deno ja és compatible amb els mòduls NPM

Deno npm

La plataforma està sent desenvolupada per Ryan Dahl, creador de Node.js.

fa poc es va donar a conèixer la notícia del llançament de la nova versió del framework Deno 1.28, el qual permet l'execució d'aplicacions de JavaScript i TypeScript independent que es pot fer servir per crear controladors que s'executen al servidor.

Deno es va crear per brindar als usuaris un entorn més segur i eliminar errors conceptuals a l'arquitectura Node.js. Per millorar la seguretat, l'enllaç al voltant del motor V8 està escrit a Rust, cosa que evita moltes vulnerabilitats que sorgeixen a causa del maneig de memòria de baix nivell.

Per processar sol·licituds en mode sense bloqueig, s'utilitza el framework Tòquio, també escrit a Rust. Tòquio et permet crear aplicacions d'alt rendiment basades en arquitectura dirigida per esdeveniments (Event-driven), suportant multifil i processant sol·licituds de xarxa en mode asíncron.

Algunes de les característiques principals de Deno són les següents:

  • Compatibilitat amb el llenguatge TypeScript incorporat a més de JavaScript. Per verificar els tipus i generar JavaScript, es fa servir el compilador TypeScript regular, cosa que condueix a una caiguda en el rendiment en comparació amb l'anàlisi de JavaScript a V8.
  • El temps d'execució ve en forma d'un únic executable autònom (deno). Per executar aplicacions usant Deno, només cal descarregar un fitxer executable per a la seva plataforma, d'uns 30 MB de mida, que no té dependències externes i no requereix cap instal·lació especial al sistema.
  • Processament eficient en aplicacions de sol·licituds de xarxa via HTTP, la plataforma està dissenyada per crear aplicacions de xarxa d'alt rendiment
  • La capacitat de crear aplicacions web universals que es poden executar tant a Deno com a un navegador web normal
  • La presència dun conjunt estàndard de mòduls, lús dels quals no requereix vinculació a dependències externes.
  • Els mòduls de la col·lecció estàndard s'han auditat i provat addicionalment per comprovar-ne la compatibilitat
  • El paquet inclou un sistema integrat d'inspecció de dependències (ordre «deno info») i una utilitat per formatar codi (deno fmt)
  • Tots els scripts d'aplicacions es poden combinar amb un fitxer JavaScript.

Principals novetats de Deno 1.28

El canvi clau a la nova versió és la estabilització de la compatibilitat amb els paquets allotjats al repositori NPM, El que permet a Deno utilitzar més de 1,3 milions de mòduls creats per a la plataforma Node.js. Per exemple, les aplicacions basades en Deno poden ara utilitzar mòduls d'accés a dades persistents com Prisma, Mongoose i MySQL, així com marcs front-end com React i Vue.

Alguns mòduls NPM segueixen sent incompatibles amb Deno, per exemple, per enllaços a entorns específics de Node.js, com ara el fitxer package.json. Tampoc no és possible utilitzar l'ordre «deno compile» amb mòduls NPM. Es planegen versions futures per abordar aquestes incompatibilitats i limitacions.

El sistema de mòdul ECMAScript heretat de Deno i el model de mòdul Web API segueixen sent els mateixos, i el conegut esquema de càrrega basat en URL de Deno s'usa per importar mòduls NPM.

Usar paquets NPM a Deno és molt més fàcil que a Node.js, perquè no cal preinstal·lar mòduls (els mòduls s'instal·len quan s'inicia l'aplicació per primera vegada), no s'usa el fitxer package.json i el directori node_modules no s'usa, s'usa per defecte (els mòduls s'emmagatzemen en memòria cau al directori compartit, però és possible revertir el comportament anterior amb l'opció “–node-modules-dir”).

Les aplicacions basades en NPM conserven la capacitat d'utilitzar els mecanismes de control d'accés, aïllament i activació de deno per a funcions avançades que afecten la seguretat. Per contrarestar els atacs a través de dependències qüestionables, Deno bloqueja per defecte tots els intents d'accedir al sistema des de les dependències i mostra una advertència sobre els problemes detectats. Per exemple, quan el mòdul intenti escriure a /usr/bin/, es mostrarà una sol·licitud de confirmació per a aquesta operació:

Les millores no relacionades amb NPM a la nova versió inclouen l'actualització del motor V8 per a la versió 10.9, detecció automàtica de fitxers amb bloquejos, estabilització de Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo( ) i les API de Deno. .uid(), afegint una nova API inestable Deno.Command() per executar ordres (reemplaçament universal per a Deno.spawn, Deno.spawnSync i Deno.spawnChild).

Finalment cal esmentar que igual que Node.js, Deno utilitza el motor JavaScript V8, que també s'usa als navegadors basats en Chromium. Alhora, Deno no és una bifurcació de Node.js, sinó un nou projecte creat des de zero. El codi del projecte es distribueix sota la llicència MIT i es compten amb compilacions preparades per a Linux, Windows i macOS.

si estàs interessat a poder conèixer més sobre això, pots consultar el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.