Node.jsとDeno【JavaScriptとTypeScript周りのエコシステム】

Uncategorized

成熟するJavaScriptとTypeScriptのエコシステム

JavaScriptとTypeScript近年の人気は凄いものがあります。

StackOverflowの2020年開発者向け調査では、言語使用ランキングで、JavaScriptが1位、TypeScriptが9位です。好まれる言語ランキングではJavaScriptが10位、TypeScriptが2位になっています。

この2つのプログラミング言語は、今では特にWeb開発で広く使用されています。
これらの言語のエコシステムは非常に充実していて、多数のフレームワーク、ライブラリ、ツールなどが公開されています。

今日は、

  • Node.js
  • Deno

という視点から、これらのエコシステムを見てみます。

Node.js、Denoという実行環境

Node.jsは、JavaScriptの実行環境です

Node.jsは、Ryan Dahl氏によって、2009年にはじめて公開されました。
もともとは、サーバサイドのJavaScript環境として使用されることが想定されていたようですが、今ではフロントエンドに近い環境を含め多様な場面で活用されています

  • フロントエンドのプログラミング言語として広く用いられていたJavaScriptを、サーバサイド開発でも使用できる
  • 非同期処理が容易になる環境

などのメリットにより、Node.jsはJavaScriptのエコシステムで重要な存在になっていると言えるでしょう。

一方Denoは、JavaScript、TypeScriptの実行環境です。

Denoは、Node.jsの当初の開発者Ryan Dahl氏によって、2018年にはじめて公開されました
2018年のJSConf EU 2018において、Node.jsに関する10の反省点、という講演の中でDenoが発表されました。

2021年2月3日時点で、

とともに非常に注目されています。

Node.jsエコシステム

Node.jsは、初めて公開されてから10年以上経っていることもあり、そのエコシステムが巨大です

  • Web開発のフロントエンド
  • Web開発のバックエンド
  • ネイティブアプリ

など多様な領域でNode.jsのエコシステムが活用されています。

フロントエンドのフレームワーク / ライブラリ

は、広く使用されています。

StackOverflowの2020年開発者向け調査では、Webフレームワーク使用ランキングで、

  • React.js 2位
  • Angular 3位
  • Vue.js 7位

と人気であることが分かります。

Vue.jsはコミュニティ主体で、React.jsはFacebookとコミュニティAngularはGoogleとコミュニティを中心に開発が進められています。

サーバサイドのフレームワーク / ライブラリ

などがあります。
Express.jsが広く知られていると言えるでしょう。
Express.jsは、StackOverflowの2020年開発者向け調査では、Webフレームワーク使用ランキングで5位です。
フロントエンドからバックエンドまでフルスタックの開発フレームワークであるMeteor.jsや、Ruby on Railsに似ているSails.jsは、Express.jsとしばしば比較されます。

アプリ開発

などが知られています。

Electronは、Web技術を用いて、様々な環境向けのデスクトップアプリケーションを開発するためのフレームワークです。
Apache Cordovaはモバイルアプリケーション開発のためのフレームワークです。

ほかにも、Node.jsのエコシステムとして、

など様々なフレームワーク / ライブラリが活用されています。

今後が期待されるDeno

初めて公開されてから間もないDenoですが、すでに注目されています

Denoは、JavaScriptとTypeScriptのための実行環境として、V8を使用して、Rustで書かれています。
V8は、Googleが開発しているオープンソースのJavaScriptエンジンです。

Denoは、

  • シンプルで安全な実行環境
  • TypeScriptをサポート

などの特徴を持つとしています。

Node.jsのデメリットを解消するためのDenoという側面があることから、Node.jsの後継と捉えられる場合があります

公式サイトでも、Node.jsとの違いについて書かれています。

  • Denoでは、パッケージ管理システムのnpmを使用しない
  • Denoはファイル、ネットワーク、環境のアクセスに明示的なパーミッションを要求する

などが挙げられています。

Denoの公式サイトから、マニュアルが確認できます。

  • Next.jsに影響を受けて開発されている、DenoのReactフレームワークであるAleph.js
  • Rust + WebAssembly + Deno の組み合わせ

などが注目を集め始めています。

Node.jsの豊富なリソースを活用しつつ、今後Denoのエコシステムはより発展すると思います。

目が離せないJavaScriptとTypeScriptのエコシステム

今日は、JavaScriptとTypeScriptのエコシステムについて、

  • Node.js
  • Deno

を見てきました。

Node.js周りの環境は登場から10年で大きな発展を遂げ、Web開発で今では主要技術の1つと言えると思います。
そのNode.jsに深く関わってきたRyan Dahl氏が、これまでの経験を踏まえて改良版ともいえるDenoを発表しました。
Deno周りの環境は、今後さらに発展していくことが期待されます

  • Node.jsとDenoが共存
  • Node.jsはDenoへ世代交代

など、色々な可能性が考えられます。
両者の関係は2021年2月時点では分かりませんが、今後、Web開発やJavaScript、TypeScript周りの状況は、Node.jsとDenoが主要プレイヤーとなるかもしれません。
JavaScriptとTypeScriptのエコシステムでは、Node.jsとDenoの今後の動きに注目です

コメント

タイトルとURLをコピーしました