Back-End

Une sortie repoussée plusieurs fois et des éléments qui restent encore à mettre en place, Deno devrait pouvoir être utilisé par le grand public d’ici 1 mois d’après les derniers propos de Ryan Dahl.

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 essuyé quelques 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 autre tâche lorsque celle d’avant et en attente ou en cours.

 

Deno, le nouveau projet

Dans une conférence donnée par Ryan Dahl sur les «10 choses que je regrette à propos de 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 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 mais 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é

Deno est donc plus sécurisé. Par défaut aucun accès n’est autorisé. Simple et efficace, c’est au développeur de donner les accès. L’avantage se trouve aussi dans le fait que ces accès peuvent être données aussi précisément que l’on souhaite via des lignes de commandes. Exemples : –allows-net –allows-write.

Suite aux avancées technologiques, 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, ils ne sont utilisables que par la spécification de leur URL (exemple : $ npm install bootstrap).
Malgré tout, les modules ES constituent un 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 Deno, Rayn Dahl a surtout changé sa manière de penser. Ses regrets avec Node étaient surtout de ne pas avoir prit le projet dans son ensemble en se concentrant seulement sur ce qu’il jugeait bon de faire. Il le dit lui-même, certains de ses amis lui avaient fortement recommandé certains choix mais il n’en a pas tenu compte. Par la suite, il était trop tard pour rattraper les erreurs commises. On constate aujourd’hui que le créateur tire profit de ses erreurs. 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 et ainsi éviter 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

Partager

Twitter Linkedin

Vous serez peut-être aussi intéressé par :

Symfony 4 : le framework PHP à prendre en main !

Depuis quelques mois, les développeurs de Numendo ont pu découvrir et tester les nouveautés de Symfony 4 : célèbre framework PHP made in France. Actuellement, la version stable est la 4.1, et la 4.2 devrait passer stable en cette fin d’année.

Symfony : Un framework PHP populaire et efficace !

Si le back-end est votre coeur de métier et que vous n’avez jamais utilisé Symfony, arrêtez-tout et lisez cet article ! Ce framework contient diverses fonctionnalités qui vont accélérer le développement de votre site web.

Centre de préférences de confidentialité

    Cookies Fonctionnels

    gdpr[allowed_cookies], gdpr[consent_types], wfvt_2000878799, wordfence_verifiedHuman

    Advertising

    Cookies Satistiques

    _ga, _gat, _gid

    Cookies externes

    PREF, VISITOR_INFO1_LIVE, YSC, GPS, s_gl, CONSENT
    CONSENT, 1P_JAR