Deno - Node の後継者となるか ? NodeJS の生みの親が作った新しいランタイム環境

Deno  とは?


Deno

実は 2018 年からあるものの、最近まで全く話題にならなかったのが Deno。

Deno は、NodeJS の生みの親でもある Ryan Dahl 氏が作った次世代の実行環境で、
JavaScript の実行環境でおなじみの NodeJS に対して、今ホットな TypeScript も使える実行環境。

テーマは A secure runtime for JavaScript and TypeScript. であるように、セキュリティ重視のランタイムで、実は Node.js から学んだ反省点を色濃く反映したものでもある。

ちなみに、其の反省点については、「Node.js に関する 10 の反省点」というテーマで JSConf で話されている。



具体的な変更点・違いは?

バージョン 1.0 がリリースされてからまだ日が浅いものの、現在もかなりのスピードで成長しているのが Deno 。今後も新しいアップデート(そしてもしかしたら仕様の廃止も)が期待されるが、Node.js との明らかな違いは以下の通り。

NPM が不要

Node.js のミソともいえる NPM は Node で使える便利な機能を様々なデベロッパーが掲載している場所。
Node Package Manager とも言われ、Node.js ユーザーは誰もが必ず使っていると過言では無い(ちなみに、NPM はこちらから行けます

その NPM が Deno では非対応となっており、
デベロッパーは、モジュールで代わりにインポートが必要になるとのこと

import {module name} from "https://deno.land/std/hogehoge";
Node 歴の長い人は大分焦りそうな仕様変更だけども、npm のような集権化したレポジトリで管理しなくていいという利点があるのは大きいのでは?

ちなみに、モジュール先の URL が落ちたときのために Deno は $DENO_DIR  でキャッシュできるので、GitHub のようなレポで管理することがオススメされている。

TypeScript さんへの対応

マイクロソフト社によって開発・管理されている TypeScript 、最近すごくハイプがすごく、
なんと、Stack Overflow の 2020 のサーベイでは Most Loved Language ( 最も愛された言語)で堂々の 2 位となっており、JavaScript より実はランキング的には上。

Angular / React にも使えるのでたしかに有用性は高い。



そんな、TS だけども、Node では毎回コンパイルしてから走らせないと行けないからちょっとめんどくさかったのが、Deno では代わりにやってくれるので、.ts でも走らせることが簡単に。

あ、ちなみに JS もまだまだ使えるので TS に変えないといけない急な理由はないはず。

Deno のこれから

Deno が出てから期間はまだ短く、実は参考できるドキュメントもまだまだ少ない。
ある意味、新しいツールが好きなデベロッパーにとっては最高の Big ウェーブになるかも。

ちなみに、Deno , 7 月現在ではバージョンは 1.2.0 とまだまだ若い技術。

本も出版されておらず、オンラインの教材はあるものの、
バージョンアップとともに逐次増えているという形でデベロッパーのエバンジェリストも学びながらの宣教になりそう。

Node. のように旋風を巻き起こすかはまだまだわからないけども、
今後も要確認のツールとなりそう。

参考リンク

動画・オンライン教育

  • Deno Course - Better than Node.js : freeCodeCamp.org による Deno のコース。6時間!