Soumettre la recherche
Mettre en ligne
Node.js を選ぶとき 選ばないとき
•
208 j'aime
•
83,158 vues
Ryunosuke SATO
Suivre
東京Node学園祭2013 での発表資料です。
Lire moins
Lire la suite
Signaler
Partager
Signaler
Partager
1 sur 102
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
Nodeについて
Nodeについて
Natsuki Yamanaka
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hiroyuki Kusu
TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
Node.js入門
Node.js入門
俊夫 森
Node.js で Web アプリ開発
Node.js で Web アプリ開発
Tatsumi Naganuma
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2
Nobuhiro Nakashima
Node.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
Yoshihiro Iwanaga
Recommandé
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
Nodeについて
Nodeについて
Natsuki Yamanaka
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hiroyuki Kusu
TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
Node.js入門
Node.js入門
俊夫 森
Node.js で Web アプリ開発
Node.js で Web アプリ開発
Tatsumi Naganuma
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2
Nobuhiro Nakashima
Node.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
Yoshihiro Iwanaga
Hello, Node.js
Hello, Node.js
Shin Sekaryo
Node.js Hands-On
Node.js Hands-On
Akinari Tsugo
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
Node js 入門
Node js 入門
Satoshi Takami
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
zuya
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Shunsuke Watanabe
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
leverages_event
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
Ito Kohta
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
Yuusuke Takeuchi
サーバサイドNodeの使い道
サーバサイドNodeの使い道
pospome
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Akihiro Kuwano
AngularJS2でつまづいたこと
AngularJS2でつまづいたこと
Takehiro Takahashi
Bp study39 nodejs
Bp study39 nodejs
Yohei Sasaki
MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介
kamiyam .
20131012 nodejs
20131012 nodejs
Amuro Nishizawa
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
Ryo Iinuma
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
Tadahiro Ishisaka
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
Ryunosuke SATO
ビルド職人の朝は早い
ビルド職人の朝は早い
Masashi MATSUI
Nseg第32回勉強会
Nseg第32回勉強会
ko ty
Nodeにしましょう
Nodeにしましょう
Yuzo Hebishima
Contenu connexe
Tendances
Hello, Node.js
Hello, Node.js
Shin Sekaryo
Node.js Hands-On
Node.js Hands-On
Akinari Tsugo
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
Node js 入門
Node js 入門
Satoshi Takami
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
zuya
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Shunsuke Watanabe
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
leverages_event
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
Ito Kohta
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
Yuusuke Takeuchi
サーバサイドNodeの使い道
サーバサイドNodeの使い道
pospome
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Akihiro Kuwano
AngularJS2でつまづいたこと
AngularJS2でつまづいたこと
Takehiro Takahashi
Bp study39 nodejs
Bp study39 nodejs
Yohei Sasaki
MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介
kamiyam .
20131012 nodejs
20131012 nodejs
Amuro Nishizawa
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
Ryo Iinuma
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
Tadahiro Ishisaka
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
Ryunosuke SATO
ビルド職人の朝は早い
ビルド職人の朝は早い
Masashi MATSUI
Tendances
(20)
Hello, Node.js
Hello, Node.js
Node.js Hands-On
Node.js Hands-On
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Node js 入門
Node js 入門
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
サーバサイドNodeの使い道
サーバサイドNodeの使い道
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
AngularJS2でつまづいたこと
AngularJS2でつまづいたこと
Bp study39 nodejs
Bp study39 nodejs
MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介
20131012 nodejs
20131012 nodejs
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
ビルド職人の朝は早い
ビルド職人の朝は早い
Similaire à Node.js を選ぶとき 選ばないとき
Nseg第32回勉強会
Nseg第32回勉強会
ko ty
Nodeにしましょう
Nodeにしましょう
Yuzo Hebishima
Node.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript Framework
kamiyam .
第7回鹿児島Node.jsの会勉強会資料
第7回鹿児島Node.jsの会勉強会資料
Koichi Uchimura
ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03
Daiki Maekawa
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Maaya Ishida
Aiming study#6pdf
Aiming study#6pdf
Koutaro Chikuba
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
Hiroyuki Kusu
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
Yoichiro Tanaka
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
インフォグラフィックス時代のD3.js入門
インフォグラフィックス時代のD3.js入門
貴寛 益子
僕の Serverless web application
僕の Serverless web application
祐樹 夏目
OpenLayersで始める地図の操作
OpenLayersで始める地図の操作
Yuki Yazaki
javascript を Xcode でテスト
javascript を Xcode でテスト
Yoichiro Sakurai
120512 metro styleapp_javascript
120512 metro styleapp_javascript
Takayoshi Tanaka
Jsのビルド環境
Jsのビルド環境
fourside
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
Yusaku Kinoshita
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david9142
Introduction of Rhodes
Introduction of Rhodes
Hitoshi Kuroyanagi
Similaire à Node.js を選ぶとき 選ばないとき
(20)
Nseg第32回勉強会
Nseg第32回勉強会
Nodeにしましょう
Nodeにしましょう
Node.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript Framework
第7回鹿児島Node.jsの会勉強会資料
第7回鹿児島Node.jsの会勉強会資料
ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Aiming study#6pdf
Aiming study#6pdf
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
インフォグラフィックス時代のD3.js入門
インフォグラフィックス時代のD3.js入門
僕の Serverless web application
僕の Serverless web application
OpenLayersで始める地図の操作
OpenLayersで始める地図の操作
javascript を Xcode でテスト
javascript を Xcode でテスト
120512 metro styleapp_javascript
120512 metro styleapp_javascript
Jsのビルド環境
Jsのビルド環境
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Introduction of Rhodes
Introduction of Rhodes
Plus de Ryunosuke SATO
片手間JS on Rails
片手間JS on Rails
Ryunosuke SATO
Ember コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
gem の探し方
gem の探し方
Ryunosuke SATO
Rails あるある
Rails あるある
Ryunosuke SATO
はじめる Ember.js!! ~ Getting started with ember.js ~
はじめる Ember.js!! ~ Getting started with ember.js ~
Ryunosuke SATO
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
Ryunosuke SATO
Introduction for Browser Side MVC
Introduction for Browser Side MVC
Ryunosuke SATO
コミュニティのある風景
コミュニティのある風景
Ryunosuke SATO
capybara で快適なテスト生活を
capybara で快適なテスト生活を
Ryunosuke SATO
Testable JavaScript
Testable JavaScript
Ryunosuke SATO
Social coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへ
Ryunosuke SATO
Clean Javascript
Clean Javascript
Ryunosuke SATO
Node.jsってどうなの?
Node.jsってどうなの?
Ryunosuke SATO
アジャイル的アプローチから見えてきたこと
アジャイル的アプローチから見えてきたこと
Ryunosuke SATO
脱レガシー化計画
脱レガシー化計画
Ryunosuke SATO
Pusherとcanvasで作るリアルタイムグラフ
Pusherとcanvasで作るリアルタイムグラフ
Ryunosuke SATO
ServerSideJavaScript
ServerSideJavaScript
Ryunosuke SATO
Plus de Ryunosuke SATO
(17)
片手間JS on Rails
片手間JS on Rails
Ember コミュニティとわたし
Ember コミュニティとわたし
gem の探し方
gem の探し方
Rails あるある
Rails あるある
はじめる Ember.js!! ~ Getting started with ember.js ~
はじめる Ember.js!! ~ Getting started with ember.js ~
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
Introduction for Browser Side MVC
Introduction for Browser Side MVC
コミュニティのある風景
コミュニティのある風景
capybara で快適なテスト生活を
capybara で快適なテスト生活を
Testable JavaScript
Testable JavaScript
Social coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへ
Clean Javascript
Clean Javascript
Node.jsってどうなの?
Node.jsってどうなの?
アジャイル的アプローチから見えてきたこと
アジャイル的アプローチから見えてきたこと
脱レガシー化計画
脱レガシー化計画
Pusherとcanvasで作るリアルタイムグラフ
Pusherとcanvasで作るリアルタイムグラフ
ServerSideJavaScript
ServerSideJavaScript
Node.js を選ぶとき 選ばないとき
1.
Node.js を選ぶとき 選ばないとき 東京Node学園祭 2013 2013.10.26 Sapporo.js 佐藤
竜之介(Ryunosuke SATO)
2.
提供 Community for people
who like JavaScript. Sapporo.js
3.
自己紹介
4.
@tricknotes I am a
software developer who love JavaScript and Ruby. http://tricknotes.hateblo.jp/
5.
I love OSS
6.
I am a
contributer of Ember.js
7.
8.
Sapporo.js http://sapporojs.org/
9.
/* * advertising * * !!Important!! *
10.
2013.11.30 JavaScript 道場 http://connpass.com/event/3674/
11.
n i 幌 札 2013.11.30 JavaScript 道場 http://connpass.com/event/3674/
12.
Idobata https://idobata.io
13.
*/
14.
よろしく お願いします
15.
Node.js を選ぶとき 選ばないとき 東京Node学園祭 2013 2013.10.26 Sapporo.js 佐藤
竜之介(Ryunosuke SATO)
16.
今日の話 私が web アプリケーション
を作るときに、 Node.js を選んだ場面、選ばなかった場面があります そのときの背景を交えつつ、 Node.js と Rails を比較し Node.js の適切な使い所について考察 します
17.
Why Rails?
18.
Node.js ライブラリには Ruby
/ Rails の影響を 受けているものが多い * * * * Rails(generator)<-> Sinatra <-> Sprockets <-> Rails <-> yeoman Express Mincer Sails なので、有意義な比較ができそう
19.
対象者 * Node.js 以外の選択肢を知らない方 *
Node.js をあまり使ったことがない方
20.
注意 早く快適にアプリケーションを開発する、 ということに主眼を置いて考察していきます パフォーマンスやサーバリソースなどの 優先順位は低めです
21.
さて、みなさんが web ア プリケーション
を作りはじ めるとき、どういう基準でそ の手段を選ぶでしょうか?
22.
Node.js の場合
23.
Node.js での web
アプリ ケーション開発について 確認してみましょう
24.
http://nodejs.org/
25.
まずは素の状態で始めてみる var http =
require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Worldn'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/'); $ curl http://localhost:1337 Hello World
26.
Node.js の基本的な仕組みを理解する には大事な一歩 でも、これだけだとまだまだ簡単には作れそうにない
27.
実際にはもっと複雑なアプリケーション を作ることになるでしょう 複雑さに立向うために ライブラリを使う
28.
http://expressjs.com/
29.
例えば、 express を使ってみる var
express = require('express'); var app = express(); app.get('/', function(req, res){ res.send('Hello World'); }); app.listen(3000);
30.
express はとてもシンプル コアが大きくないし、拡張も簡単 ただ、自由度が高いために整理するのに工夫が必要
31.
確かに、express だと、 学習コストは低いかもしれない 学習コスト? 開発速度を維持するコスト? どっちが大事? もうすこし大きなフレームワークを好むひともいるか もしれない
32.
http://sailsjs.org/
33.
model 周りが貧弱 * 関連を扱えない *
マイグレーションがない データベースとつなげればいいんじゃなくて、 ドメインロジックの管理も適切に行いたい...!! そこまで大きな手助けしてくれるフレームワークでは ないのでは...?
34.
最初に大長編 Gruntfile.js を生成する 生成されたコードはバージョンアップに 追従するのが面倒 デフォルトで上手いことやってほしい
35.
http://gruntjs.com/
36.
contlib で様々なタスクが配布され ているのはありがたい but...
37.
設定を毎回書くのは手間 grunt.loadNpmTasks('grunt-contrib-coffee'); grunt.initConfig({ coffee: { compile: { files:
{ 'result.js': 'source.coffee' } } } });
38.
もっと、スムーズに開発を進めたい...!!
39.
Rails の場合
40.
Asset pipeline * CoffeeScript
や Sass のコンパイル * asset ファイルの minify, concat * digest hash の付与 Grunt 使ってやりたくなるようなことは、 デフォルトでやってくれる
41.
Asset pipeline * application.js //=
require jquery //= require underscore // //= require app application.js にリクエストを投げると、 すべて連結して取得できる ビルド時には minify + digest が付与される
42.
ビルドタスク $ rake asset:precompile そもそもデフォルトで入っている
43.
js のライブラリの管理 * jquery-rails *
underscore-rails * moment-rails ... assets のパスが追加される、だけ 静的なファイルをリポジトリに含めなくてOK
44.
ActiveRecord * * * * validation relation migration ドメインロジックの管理
45.
一本の道があるということ の良い所
46.
その道に沿うように他のライブラリが成長していく Rails に乗る形で、まとまった単位の機能を提 供するライブラリが多い * 画像アップロード
-> carrierwave * 認証管理 -> devise * OAuth provider -> doorkeeper やりたいことを実現するまでの手数が少ない
47.
ちょっと基本に立ち返る
48.
そもそも、Node.js と Rails ではスタートが違う
49.
“Evented I/O for
V8 javascript.” あくまで、非同期 IO の環境 web 開発以外でも活躍している
50.
http://nodeos.github.io/
51.
https://github.com/rogerwang/node-webkit
52.
“Web development that
does’t hurt” web 開発のためのフレームワーク 7 年かけて環境が整備されてきている
53.
フレームワーク ライブラリ 言語(実装) 言語(仕様)
54.
Rails が開発効率に重点を置いているので、 使いやすいのは納得できる Node.js では、まだその大きさのフレーム ワークは出てきてなくて、
小回りが効くライ ブラリが多い
55.
Node.js にも、 道を敷いてくれるような フレームワークがあるとよいの...? そうでもない、ような...
56.
私の例
57.
自分の例① ->
58.
NotHub http://nothub.org/
59.
NotHub * GitHub のイベントをリアルタイムに通知する Chrome
Extension * 受け取るイベントを設定可能 * public なリポジトリ限定
60.
よくある使い方 * ライブラリのバージョンアップを早く知りたい * 自分のリポジトリが
star されたのを知りたい * 興味があるハッカーの活動を知りたい
61.
GitHub API Pub Crawler Redis Sub Publisher Chrome Extension crawl
62.
最初は Ruby で書き始めたが、 パフォーマンスでなくて
Node.js で書き直した * GitHub の API をとにかく叩く必要があった * Ruby でマルチスレッド処理するのは意外と面倒 * Ruby で非同期書くのも手間
63.
そもそも、Rails が得意な 分野ではない
64.
通知の部分は単純な push 通知なので、 Socket.IO
がフィットした
65.
ビルドタスクは Rake 当時は Grunt
の開発が始まったばかり Chrome Extension をパッケージしたい 今だと Grunt を使うかも
66.
自分の例② ->
67.
starseeker http://starseeker.so/
68.
starseeker * GitHub の
followings の star を daily メールでお知らせする web アプリ * リアルタイムじゃなくてアーカイブ
69.
よくある使い方 * 良さそうなライブラリを知る手がかりに!! * 朝、仕事を始める前に
hot なリポジトリをチェック
70.
GitHub API save Crawler MongoDB read Web Application PostgreSQL crawl
71.
* * * * Crawl したデータを MongoDB
へ MongoDB なら Node.js と思って書き始めたが... ユーザ管理とか OAuth 周りが意外と面倒 Rails でやることに
72.
Crawl する部分は Node.js
73.
メール配信も、Rails がいい感じにフィットした * html/text
の multipart メール * html とのコード共有
74.
<-> 両方ともそれぞれに良さがあるので、 それぞれに適切な場面がある!!
75.
よくある誤解集
76.
これだけで選択するのは まだ早い
77.
‘ クライアントとサーバの 言語統一できて開発がはかどる
78.
* DOM を扱う
JavaScript と、ネットワーク、 ドメインロジックを扱う JavaScript は違う * 確かに言語は統一できるけど、思考の スイッチングコストは発生する
79.
イベント発火だけでも結構違う // DOM jQuery('form').trigger(‘form’); // Node.js stream.emit('fetch’,
data);
80.
‘ クライアントとサーバで ロジックの共有がスムーズにできる
81.
* サーバ側でもクライアント側でも使いたい ロジックはそこまでないのでは...? * utility
的な関数群だと、ありえるかも * underscore.js など既存のライブラリ を使いましょう
82.
互換性のあるコードを維持するのは結構手間 関数定義の工夫 var exports =
typeof(module) === 'undefined' ? this : module.exports; exports.method = function() { // ... };
83.
互換性のあるコードを維持するのは結構手間 対象ブラウザで使えないメソッドのチェック array.every(function() { // ... }); fn.bind(this);
84.
‘ 簡単にスケールできる
85.
* 採用するアーキテクチャに依存する * Node.js
を使っていてもある程度想定して おかないと、スケール出来ない設計になってしまう
86.
Node.js 以外でも ある程度は課金で解決できることもある
87.
‘ バージョン間の互換性が高い
88.
* Node.js の
API 自体は安定している * しかしバージョンアップしたら意外と動かなくなる (パフォーマンス劣化/メモリリークしていることも) * 拡張ライブラリは全く動かなくなる場合もある
89.
‘ サーバを API 化すれば、 JSON
を返すだけのサーバで OK
90.
* ドメインロジックの管理のしやすさは ライブラリに依存する * サーバのデータをすべてクライアントに送れない 場合が多々あるので、その制御が必要 *
OAuth の認証トークン * 行動履歴 * ...
91.
‘ リアルタイム通信 = Socket.IO
92.
リアルタイム通信の手段はたくさんある * WebSocket * Server-Sent
Events * XHR polling * Socket.IO * Pusher ...
93.
リアルタイムを扱わない部分とのバランス も考慮に入れる必要がある
94.
まとめ
95.
実際はこれに運用周りの話が加わってくるので、 もっと複雑 サービスの性質、規模やパフォーマンスによって、 落とし所はまた違ってくる
96.
Node.js は大変素晴らしいけど、 適切に選択する必要がある Node.js 以外の文化も踏まえた上で Node.js
を選択できると選択の幅が広がるのでは いざというときに移行する判断ができるのも大事
97.
で、これは常に変わっていくので、 バランスを見極めながら選択するんですかねー * エコシステム * ライブラリ *
自分の作ろうとしているもの 答えはない
98.
for more information...
99.
静的サイト開発ツールとしての MiddlemanとGrunt http://webtech-walker.com/archive/2013/09/middleman_vs_grunt.html
100.
Node.jsをサーバサイドの UIレイヤに限定するのか? http://wazanova.jp/post/63449778024/node-js-ui
101.
ダブルMVCの意味するところ [GoGaRuCo 2013] http://wazanova.jp/post/64057743910/mvc-gogaruco-2013
102.
http://www.flickr.com/photos/sakura-kame/479871795/ 快適なweb開発を!
Télécharger maintenant