Deno prend déjà en charge les modules npm

deno npm

La plateforme est développée par Ryan Dahl, créateur de Node.js.

Récemment la nouvelle de la sortie de la nouvelle version du framework Deno 1.28 a été publiée, qui permet l'exécution d'applications JavaScript et TypeScript autonomes pouvant être utilisées pour créer des contrôleurs qui s'exécutent sur le serveur.

Deno a été créé pour fournir aux utilisateurs un environnement plus sécurisé et éliminer les erreurs conceptuelles dans l'architecture Node.js. Pour améliorer la sécurité, la liaison autour du moteur V8 est écrite en Rust, ce qui évite de nombreuses vulnérabilités qui surviennent en raison de la gestion de la mémoire de bas niveau.

Pour traiter les requêtes en mode non bloquant, le framework Tokyo, également écrit en Rust, est utilisé. Tokyo vous permet de créer des applications hautes performances basées sur une architecture événementielle, prenant en charge le multithreading et traitant les requêtes réseau en mode asynchrone.

Certaines des fonctionnalités Les principes de Deno sont les suivants :

  • Prise en charge intégrée du langage TypeScript en plus de JavaScript. Pour vérifier les types et générer du JavaScript, le compilateur TypeScript standard est utilisé, ce qui entraîne une baisse des performances par rapport à l'analyse de JavaScript dans la V8.
  • Le runtime se présente sous la forme d'un seul exécutable autonome (« deno »). Pour exécuter des applications à l'aide de Deno, téléchargez simplement un fichier exécutable pour votre plate-forme, d'une taille d'environ 30 Mo, qui n'a aucune dépendance externe et ne nécessite aucune installation spéciale sur votre système.
  • Traitement applicatif efficace des requêtes réseau via HTTP, la plateforme est conçue pour créer des applications réseau performantes
  • La possibilité de créer des applications Web universelles pouvant s'exécuter à la fois sur Deno et sur un navigateur Web standard
  • La présence d'un ensemble standard de modules, dont l'utilisation ne nécessite pas de liaison à des dépendances externes.
  • Les modules de la collection standard ont été audités et testés plus avant pour la compatibilité
  • Le package comprend un système d'inspection des dépendances intégré (commande deno info) et un utilitaire de formatage de code (deno fmt)
  • Tous les scripts d'application peuvent être combinés dans un seul fichier JavaScript.

Principales nouveautés de Deno 1.28

Le changement clé dans la nouvelle version est le compatibilité stabilisée avec les packages hébergés dans le référentiel npm, Qui permet à Deno d'utiliser plus de 1,3 million de modules construit pour la plate-forme Node.js. Par exemple, les applications basées sur Deno peuvent désormais utiliser des modules d'accès aux données persistantes tels que Prisma, Mongoose et MySQL, ainsi que des frameworks frontaux tels que React et Vue.

Certains modules npm sont toujours incompatibles avec Deno, par exemple, en raison de liaisons à des environnements Node.js spécifiques, tels que le fichier package.json. Il n'est pas non plus possible d'utiliser la commande "deno compile" avec les modules NPM. Des versions futures sont prévues pour remédier à ces incompatibilités et limitations.

Le système modulaire ECMAScript hérité de Deno et le modèle de module Web API restent les mêmes, et le schéma de chargement basé sur l'URL bien connu de Deno est utilisé pour importer des modules NPM.

L'utilisation de packages NPM dans Deno est beaucoup plus facile que dans Node.js, car il n'est pas nécessaire de pré-installer des modules (les modules sont installés au premier démarrage de l'application), le fichier package.json n'est pas utilisé et le répertoire node_modules n'est pas utilisé, il est utilisé par défaut (les modules sont mis en cache dans le répertoire partagé, mais il est possible d'inverser le comportement précédent avec l'option « –node-modules-dir »).

applications basées sur NPM conserve la possibilité d'utiliser des mécanismes de contrôle d'accès, Deno isolation et activation pour les fonctionnalités avancées qui affectent la sécurité. Pour contrer les attaques via des dépendances douteuses, Deno bloque par défaut toutes les tentatives d'accès au système à partir des dépendances et affiche un avertissement sur les problèmes détectés. Par exemple, lorsque le module tente d'écrire dans /usr/bin/, une invite de confirmation s'affiche pour cette opération :

Améliorations non liées au NPM dans la nouvelle version inclure la mise à niveau du moteur V8 pour la version 10.9, détection automatique des fichiers verrouillés, stabilisation de Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() et des API Deno. .uid(), ajoutant une nouvelle API instable Deno.Command() pour exécuter des commandes (remplacement universel pour Deno.spawn, Deno.spawnSync et Deno.spawnChild).

Enfin, il convient de mentionner que Comme Node.js, Deno utilise le moteur JavaScript V8., qui est également utilisé dans les navigateurs basés sur Chromium. En même temps, Deno n'est pas un fork de Node.js, mais un nouveau projet construit à partir de zéro. Le code du projet est publié sous la licence MIT et des versions prêtes à l'emploi sont disponibles pour Linux, Windows et macOS.

Si vous intéressé à en savoir plus, vous pouvez consulter le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.