Deno とは?
Node 歴の長い人は大分焦りそうな仕様変更だけども、npm
のような集権化したレポジトリで管理しなくていいという利点があるのは大きいのでは?

実は 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";
ちなみに、モジュール先の 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 とまだまだ若い技術。
v1.2.0 released with new features: --no-check, performance timing APIs, Deno.ppid, Deno.consoleSize, DENO_CERT environmental variable.Full release notes and download: https://t.co/rlCZEWDDjJ— Deno (@deno_land) July 13, 2020
本も出版されておらず、オンラインの教材はあるものの、
バージョンアップとともに逐次増えているという形でデベロッパーのエバンジェリストも学びながらの宣教になりそう。
Node. のように旋風を巻き起こすかはまだまだわからないけども、
今後も要確認のツールとなりそう。
参考リンク
- Deno @deno_land : Deno 公式ブログ
- Deno : Deno 公式サイト
- Deno Lang (github) : Deno 公式の github レポ
動画・オンライン教育
- Deno: The Complete Guide Zero to Mastery : Udemy ではおなじみの Andrei Neagoie 氏による最速教材(逐次更新されている)
- Deno Course - Better than Node.js : freeCodeCamp.org による Deno のコース。6時間!