Deno 1.0

Tech et Architecture
Vignette Deno pour le blog

Qui est Ryan Dahl ?

Ryan Dahl est un développeur américain. Il est notamment connu pour avoir développé l’environnement d’exécution JavaScript Node.Js.
Après 3 ans à travailler sur Node, Ryan Dahl décide de quitter le projet et cède la direction au créateur du gestionnaire de paquets utilisé par Node.Js : Isaac Z. Schlueter.
Après avoir fait face à plusieurs frustrations sur l’ancien projet, il décide de se consacrer au développement d’un nouveau runtime baptisé Deno.

Petit point sur Node.Js

Sortie en 2009, Node.Js est une plateforme logicielle libre qui permet de développer des applications ultra rapide. Ceci pour deux raison principales :

  • Node.Js utilise le moteur JavaScript V8 de Google. Tout le code JavaScript est alors compilé en code machine natif avant l’exécution du fichier. Ce qui permet à Google d’interpréter le code.
  • Node.Js est capable d’exécuter simultanément plusieurs tâches. Il est construit sur un modèle d’opérations non bloquantes. Il est donc tout à fait possible pour le runtime d’exécuter une deuxième tâche lorsque la première et en attente ou en cours.

Deno, le nouveau projet

Dans une conférence donnée par Ryan Dahl sur les «10 things I regret about Node.Js» il a annoncé en 2018 le lancement d’un nouveau projet qu’il a nommé Deno (anagramme de Node). Il affirme que Deno n’a pas pour vocation à remplacer Node et pourtant les deux projets sont similaires sur plusieurs points.

Deno et Node, des projets similaires

Deno permet l’exécution du JavaScript en dehors d’un navigateur tout comme Node à la différence qu’il intègre en plus le TypeScript. Les deux sont construits avec le puissant et léger moteur JavaScript V8 de Google.

Mais les deux runtimes ne sont évidemment pas identiques sur tout les points. Comme dit plus haut, Ryan Dahl a lancé le projet Deno suite à quelques insatisfactions concernant notamment la sécurité.

Deno, le runtime amélioré

Ryan Dahl a donc consacré beaucoup d’efforts sur la sécurité du runtime Deno afin de ne pas refaire les mêmes erreurs. Dorénavant, il n’y aura aucun accès autorisé par défaut. Simple et efficace, c’est au développeur de choisir et de donner les accès. L’avantage se trouve aussi dans le fait que ces accès peuvent être paramétrés aussi précisément que l’on souhaite via des lignes de commandes. Exemples : --allows-net, --allows-write.

Suite aux avancées technologiques, le runtime Deno se différencie de Node par son système de modules ECMAScript. Lors du développement de Node, les systèmes de modules n’étaient pas encore d’actualité. Cependant, sur Deno, ils ne sont utilisables que par la spécification de leur URL (exemple : $ npm install bootstrap).
Malgré tout, les modules ES constituent un réel avantage pour Deno. Ils permettent au runtime de s’exécuter côté serveur avec le JavaScript mais aussi d’être hébergé sur n’importe quel serveur Web, même en dehors de NPM.

Pour interagir avec n’importe quel système d’exploitation, Deno peut compter sur le langage Rust ainsi que sur TypeScript sans avoir besoin de faire de configurations spéciales.

La seule fonctionnalité majeure qui manque encore au projet avant qu’il ne puisse sortir est la prise en charge du débogueur, qui devrait utiliser Devtools de Chrome pour le débogage.

Un changement de la part du créateur

En créant le runtime Deno, Rayn Dahl a surtout changé sa manière de penser. Ses regrets avec Node étaient de ne pas avoir prit le projet dans son entièreté, il s’est concentré sur ce qu’il jugeait bon de faire sans écouter ce que son équipe lui disait. Il le dit lui-même, ses amis lui avaient souvent fait des recommandations mais, il n’en a pas tenu compte. Par la suite, il s’est rendu compte, malheureusement trop tard, de ses erreurs pour les rattraper. On constate aujourd’hui que le créateur sait tirer profit de ses erreurs passées. Avec Deno, il met tout en place pour partir de la définition du besoin du projet et ainsi éviter de se perdre en cours de route.

Pour conclure, Ryan Dahl a annoncé que Deno ne sera pas compatible avec Node. C’est une volonté de la part du créateur qui ne tentera rien pour rendre compatibles les deux projets. Il veut ainsi éviter toutes possibilités de recréer le même runtime.

Vous pouvez voir la documentation officielle sur deno.land, et si l’article vous a intéressé, n’hésitez pas à faire un tour sur le blog Numendo

Et si on échangeait ?

Façonnez l’avenir digital de votre marque. Que vous souhaitiez harmoniser vos points de contact, créer des expériences client unifiées ou optimiser votre écosystème omnicanal, nous concevons des solutions qui marient innovation et élégance.

Parler à un expert

Perspectives,
ce qu’il faut retenir

Toutes les actualités
Les 7 métiers de la tech incontournables en 2026
Tech et Architecture 05.08.2026

Les 7 métiers de la tech incontournables en 2026

GraphQL Yoga et Appollo
Tech et Architecture 13.05.2025

GraphQL : Yoga vs Apollo, quel framework choisir ?

Certification_Microsoft_Azur Numendo
Tech et Architecture 15.04.2025

Pourquoi la certification Microsoft AZ-900 est un excellent point de départ pour monter en compétence sur Azure

Developpement agile dans le pole IT
Tech et Architecture 14.11.2024

Comment intégrer le développement agile dans le pôle IT ?

Agence Numendo Paris

48 rue de la Bienfaisance
75 008 Paris

Notre agence parisienne accompagne les marques et les grands comptes dans leurs projets digitaux les plus stratégiques.

Située à 10 minutes de la gare Saint-Lazare et à deux pas du métro Miromesnil, elle réunit nos experts en conseil, e-commerce, data produit et architecture omnicanale.

Numendo Paris incarne l’alliance entre vision stratégique, expertise technique et proximité client.

Faites partie de l’aventure
Numendo Paris

Rejoindre Numendo Paris, c’est intégrer un hub d’innovation où l’excellence technique rencontre l'esprit entrepreneurial. Un cadre stimulant pour piloter des projets stratégiques de renommée internationale au cœur de la capitale.

Agence Numendo Mulhouse

2a Av. Auguste Wicky
68 100 Mulhouse

L’agence de Mulhouse est le pôle d’excellence technique dédié à la performance de vos plateformes métiers.

Implantés au cœur de l’Alsace à deux pas de la gare de Mulhouse et a proximité directe de l’Allemagne et de la Suisse, nos locaux accueillent une communauté de passionnés centrée sur l’innovation et la robustesse du code.

Elle symbolise la force de frappe technologique du groupe, capable de bâtir des écosystèmes B2B et industriels hautement complexes.

Faites partie de l’aventure
Numendo Mulhouse

S’épanouir à Mulhouse, c’est intégrer un pôle historique où priment la passion technologique et la solidarité.
Un environnement à taille humaine idéal pour relever des défis industriels et techniques d'envergure.

Agence Numendo Genève

Rue du Marché 5,
1204 Genève

Notre agence genevoise allie culture de la précision et expertise digitale pour faire rayonner vos projets en Suisse et à l’international.

Idéalement située en plein coeur de Genève, elle offre un cadre de travail privilégié pour accompagner la transformation data des acteurs les plus exigeants.

Genève est le hub dédié à la structuration de l’information produit et au déploiement de stratégies e-commerce agiles et évolutives principalement dans le secteur du luxe et de la finance.

Faites partie de l’aventure Numendo Genève

Faire partie de l’équipe Genève, c’est cultiver l’exigence et la précision pour un digital performant et durable. Un cadre de travail privilégié pour transformer le futur des données produits et du e-commerce suisse.