Node.jsはサーバーサイド/フロントエンジニアの必須スキル
NODEってなんだろう?
普及が続くサーバサイドフレームワークNode.jsは、JavaScriptの一種でサーバーが構築できる言語。
聴きなれない人は、「JavaScripとはブラウザ側の言語では?」と思った方もいるのではないでしょうか。元々サーバサイドでJavaScriptは存在していたが、いくつかの問題点があり蚊帳の外に置かれていた。改めて注目されるようになった理由はいくつかあります。
Nodeが注目されるようになった理由
高負荷時のパフォーマンスが優れている
イベントループ・モデルで処理を直列化することで、メモリ利用量を抑えプロセス/スレッド間の競合を防ぐ。Apache(mod_php)比較した場合、同時接続ユーザー数が100未満だと処理に差がないが、500以上になると差が明らかになる。
リアルタイムWEB
一昔前のチャットでは、「誰か発言してないかな・・」とページをリロードして確認していました。なぜならサーバーに新しい情報が入ったときに「ページに新しい情報が来たよ」と教えてくれないからです。しかし、Nodeを使用すればリアルタイムに発言を受け取りが可能になります。
スマートフォン需要と技術者スキルアップ
スマートフォンの急速な普及によるJavaScriptの需要が高まり、それを仕事にするエンジニアの増加とスキルアップ。結果サーバーにあまり詳しくないエンジニアでも、「JavaScriptなら・・・」と参入障壁が下がった。
NODEの技術はWEBやモバイル、ソーシャル、ゲームなどで、今後活躍の幅を広げるのは間違いない技術になりそうです。
Node.js入門!使い方〜インストールまで
参照元:http://www.engineyard.co.jp/infographics/nodejs
サーバサイドフレームワークNode.jsの需要が急上昇中
2015年モバイルインターネット背景
- 66%のアメリカ人がモバイル端末からインターネットに接続
- 世界のトップ100のサイト中、34がHTML5
- モバイルの成長+HTML5の一般性=リアルタイムWEBの飛躍
リアルタイムWEBにはリアルタイムな技術が必要
入門NODE.JS
NODE.JS
- イベントドリブンとノンブロッキングI/Oを採用したサーバサイドフレームワーク
- フロントエンドとサーバサイドのアーキテクチャを統合するためにJavaScriptで構築
- ハイパフォーマンス、高スケーラビリティ、分散リアルタイムWEBアプリケーションに最適
- GitHubで2番目にウォッチされているリポジトリ
- Ruby on Railsよりもウォッチされています
- Nodeパッケージマネージャにはすでに12,000のパッケージが登場
NODE.JSの有名事例
Linkedlnはモバイル向けサーバサイドスタックをすべてNode.jsで構築
- 以前は15台のサーバ上で15のインスタンスが物理マシン上で稼働
- 以降は4つのインスタンスで2倍のトラフィックを処理
WALMART
WalmartはモバイルアプリをNode.jsを使って再構築
- すべてのJavaScript処理をサーバサイドに移行
→リッチでダイナミックな体験を顧客に提供
EBAY
eBayはNode.jsを実行環境にしたHTTP APIゲートウェイql.ioを公開
通常の開発者向けUbuntuのワークステーションを使って
- 120,000Node.jsのプロセス毎のアクティブな接続数
- それぞれの接続は2kのメモリを消費
PLUS
- ネットワーク対応、マルチプレイヤーゲーム
- インタラクティブなWebサイトとツール
- アクセス解析
- オンラインチャットシステム
開発者がNode.jsを好きな理由
- JavaScript製
- コードをブラウザ、サーバ、データベースなどで再利用可能
- 強力で情熱的なコミュニティ
- パフォーマンスとスケーラビリティ
- 開発者の幸福
Node.jsの道を行こう
コミュニティの成長が早いだけで大丈夫?
- Web
- モバイル
- ソーシャル
- ゲーム
全てのプラットフォーム環境でダイナミックな技術の成長はNode.jsの明るい未来を指示しています
ディスカッション
コメント一覧
まだ、コメントがありません