内側を知らずしてコードを書けるか!Node.jsについて深掘りしてみた
皆さんは、Node.js についてどんなことを知っていますか?
「js をブラウザ外でも使えるようにするものでしょ?」
「ライブラリ?、どんなことができるかは知らないよ!」
こんな言葉が聞こえてきそうです。
私も実際そうでした w
今回は、Node.js について薄っぺらい知識しかない私が Node.js についてより深く学習しました。
内側でどのようなことが行われているのか。また、Node.js の特徴からどんな分野に適しているかなどをまとめてみましたので、復習や読み物として読んでいただけたらと思います!
2 部構成にしていきますね(^^)
Node.js、何者??
まず大前提として、Node.js が何者なのかというところを見ていきましょう!
JavaScript は、ブラウザ上で動かすプログラミング言語ですよね!
一方、PHP や Python といったプログラミング言語は、自分のパソコン上で動かすことができます。
では、JavaScript を自分のパソコン上で動かす方法はあるのでしょうか?
そこで登場するのが、Node.js です!
Node.js とは、Python や PHP と同じようにパソコン上で javascript を動かすための環境のことなんです。
JavaScript をパソコン上で動かして、何か良いことがあるのか?
では Node.js のニュアンスを掴んだ上で、一つの疑問が浮上しました。
なぜ JavaScript(以下 JS)をパソコン上で動かす必要があるの?
V8 エンジンというものが関係してくるのですが、V8 エンジンは JS を超高速で動かせるエンジンなのです。
「この超高速エンジンを使ってパソコン上でプログラミングできないか?」となり、出来上がったのが Node.js です。
V8 エンジンを使って高速の処理をしたいから、Node.js が作られたのですね!
Node.js にはどんな特徴があるのか?
もちろん、V8 エンジンだけが Node.js のメリットではありません。
非同期処理を同時進行できるという超絶嬉しいポイントがあるのです!!
JavaScript は、一つの処理しか実行できないという特性があります。
これをシングルスレッドというのですが、いくら高速なエンジンを積んでいても複数の処理を同時進行したいですよね!
Node.js はこの課題を克服し、非同期処理を同時進行させることができるのですよ!
シングルスレッドとは対照的に、マルチスレッドと呼ばれています(^^)
具体的な非同期処理の流れ。。。
今回は概要的なところをさらっと解説していきましたが、次回はイベントループやコールバックキューなどの具体的な非同期処理の流れについて解説してきたいと思います!
抽象的でイメージがつきづらいかもしれませんが、知っていると地に足がついた開発ができると思います!
ですので、こういったアーキテクチャ系の知識は身につけておきたいですね!
それでは、最後まで読んでくださり、ありがとうございました!