Noriyasu_Katano's blog

脳科学や量子力学、政治や戦争に関して、日々の感じた雑感を書いていきます。

Node.jsが素晴らしすぎる

https://www.instagram.com/p/BO1_5Mtl6Ai/

Instagram

今更ですが、年末から年始にかけてnode.jsの勉強をしていました。node.jsはサーバーサイドのスクリプト言語になります。サーバーはWebサイトなどをためているところで、それをパソコンやスマフォがそこからHTMLのデータを引っ張ってきます。

引張ってきたデータをブラウザが読み込み表示します。基本的にブラウザは引張てきたデータを表示することが主な機能になります。一番ユーザーに近い機能なのでフロントエンドと言われています。ちなみにサーバーサイドをバックエンドと呼んでいます。

 そして、js ( javascript ) はフロントエンドの技術として使われてきました。このフロントエンドの技術がバックエンドでも使えるようになったのがnode.jsになります。このnode.jsが非常に優れていると感じたので、今回ブログに書いておきたいと思います。

開発者が多い言語

node.jsのすごいところは、javascriptで動いている点です。当たり前といえば当たり前ですが、javascriptは非常に柔軟性のあるスクリプト言語だといえます。私自身エンジニアではないので、プログラミングに詳しい訳ではないですが、jsは文法的に曖昧な記述でも処理されます。もちろん、大きく違う場合は動かないのですが、他の言語と比べると非常に曖昧な言語です。

例えば、よく知られている言語でC言語などがあります。これらの言語は変数(値が常に変わる数)を細かく定義します。文字を表すのか、数字なのかなどなど、しかし、JSは値の種類なども適当です。

そのため、比較的簡単に覚えられることができます。さらに、先ほどの説明でもあるようにフロントエンドだけしか分からなかった開発者でも簡単に扱うことができます。

そのため、多くの開発者が存在しているといえます。そして、開発者が多いということはそれだけソリューションが生まれやすくなります。

すでにnode.jsのライブラリにはsocket.ioやexpressなどいろいろな機能を兼ね備えたものが、いろんなエンジニアから発表されています。

この技術が生み出すもの

そして、これを想像していくと、今後のWeb技術がよりスムーズに、よりアクティブになるのではと思っています。バックエンドとフロントエンドが別々の言語で開発されていたので、データの受け渡しにも手間がかかっていました。しかし、バックエンドからフロントエンドまで同じ言語で受け渡しができることで、データをスムーズにすることができます。

これが、今後、よりバックで使われているシステムと融合することで、もっとスムーズにデータの流れができるのではと思っています。さらに、jsはHTMLとの親和性も高いのでHTMLを解析したり、作り直したりすることも容易にできます。

例えば、電気メーカーの商品スペックなどをHTMLで解析して、データだけ抽出し別のサイトでレイアウトを変えて表示することなども可能です。これによって、今までそのサイトでしか閲覧できなかった情報も純粋な情報としてやりとりが容易になります。

今後デバイスが増えたり、より、データをアウトプットするプラットフォームが増えた場合、いちいちそれ用のページを作成しなくてもデータを扱いやすくなるといえます。

シングルページWebアプリケーション ―Node.js、MongoDBを活用したJavaScript SPA

シングルページWebアプリケーション ―Node.js、MongoDBを活用したJavaScript SPA