SlideShare a Scribd company logo
Node Web 开发实战 @Python 发烧友 Asp.net, Django, tornado, web.py, Nginx Node, Connect, Express Twitter: @fengmk2
Why Node ? Python Ruby Java .NET PHP 都能快速开发?
Web 开发 前端 HTML CSS DOM Javascript Cookie Ajax JSON Template
Web 开发 后端 HTTP URL Routing Request GET POST File Upload Data Access: SQL, NoSQL Response HTML, JSON, Cookie Template File Download
Node Web 后端开发 Node Connect Express Socket.IO
Node Http Server var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Node\n'); }).listen(8080); 最原始,最纯粹的控制。你必须熟悉 HTTP 协议。
How about Connect var connect = require('connect'); connect.createServer(function (req, res, next) { res.simpleBody(200, "Hello Connect"); }).listen(8080); 看起来和纯 node 写的 http server 没太大区别 Middleware: Filters and  Providers
Middleware Django Middleware
Connect Built-in Middleware var server  = connect.createServer( connect.logger(), connect.favicon(__dirname + '/public/favicon.ico'), connect.static(__dirname + '/public'), connect.bodyParser(), // req.body.foo connect.cookieParser(), // req.cookies.bar connect.session({secret: 'I am a secret'}) );
Express 基于 Connect var app = require('express').createServer(); app.get('/', function(req, res){ res.send('hello world'); }); app.listen(8080); URL Routing, View render, Template,  所有 web 开发需要的都齐全了。
实战:淘 job  和 微博图片墙 淘 job :最常规的 Web 网站开发 Web 表单 数据库访问 结合第三方 API 微博图片墙 WebSocket 实时推送
淘 job 基于微博的招聘系统 快速实现: oauth 接入 (node-weibo)  登录,注销 发表职位信息 同步发送微博
Weibo connect 使用微博用户系统,无需烦琐的用户注册过程 登录 : oauth 1. get_request_token 2. user login authorization_url 3. use request_token => get_access_token Session: session.user 注销 使用 node-weibo  模块完成对 weibo 的 api 调用
Web form 提交职位信息 数据保存到数据库 : node-mysql 同步发送微博 显示招聘信息,同时获取转发数和评论数 使用到的 weibo api: update: status counts: ids
taojob.tbdata.org 增加样式(我花的时间大部分耗在这上面) http ://taojob.tbdata.org Node  没有改变我们熟悉 Web  开发逻辑
微博图片墙 聚合各微博 API 数据 WebSocket: Socket.IO-node  实时推送 http://s8.hk:8888/
 
回到最开始: Why Node ? 难以想象的第三方库 express node-weibo Socket.IO-node node-mysql 实现产品功能 快速 、高效 、简单
Node 的未来 Nginx 用了 9 年时间终于在 4.12 发布 1.0 版本。 Node 又会用多少时间发布 1.0 版本呢? 适合所有的 IO( 网络,文件,进程通信 ) 密集型开发!
Q & A:  知乎,者也 ?

More Related Content

PPT
Node Web开发实战
fengmk2
 
PPT
NodeJS快速服务端开发 朝沐金风 Shanghai
Jackson Tian
 
PDF
Koa 正在等一個人
Fred Chien
 
PDF
ASP.NET MVC Web API -twMVC#8
twMVC
 
PPTX
利用Signalr打造即時通訊@Tech day geek
Johnson Gau
 
PDF
Non-MVC Web Framework
Fred Chien
 
PDF
超。光速 網站最佳化實戰 -twMVC#8
twMVC
 
PDF
Node.js從無到有 基本課程
Simon Su
 
Node Web开发实战
fengmk2
 
NodeJS快速服务端开发 朝沐金风 Shanghai
Jackson Tian
 
Koa 正在等一個人
Fred Chien
 
ASP.NET MVC Web API -twMVC#8
twMVC
 
利用Signalr打造即時通訊@Tech day geek
Johnson Gau
 
Non-MVC Web Framework
Fred Chien
 
超。光速 網站最佳化實戰 -twMVC#8
twMVC
 
Node.js從無到有 基本課程
Simon Su
 

What's hot (20)

PPTX
Node.js长连接开发实践
longhao
 
PDF
Java script 全面逆襲!使用 node.js 打造桌面環境!
Fred Chien
 
PPTX
Java API for WebSocket 實作介紹
My own sweet home!
 
DOCX
Javascript 性能优化总结.docx
baixingfa
 
PDF
學好 node.js 不可不知的事
Ben Lue
 
PDF
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC
 
PDF
PHP 應用之一 socket funion : 偽 WEB Server
志賢 黃
 
PDF
Node.js 入門 - 前端工程開發實務訓練
Joseph Chiang
 
PDF
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC
 
PDF
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC
 
PDF
NodeJS基礎教學&簡介
GO LL
 
PDF
HTML5 Web workers
Tom Fan
 
PDF
twMVC#43 YARP
twMVC
 
PDF
用最潮的 Java script 盡情開發 kde qt 程式
Fred Chien
 
PDF
Gulp.js 自動化前端任務流程
洧杰 廖
 
PDF
twMVC#19 | opserver監控服務的解決
twMVC
 
PDF
twMVC#43 Visual Studio 2022 新功能拆解
twMVC
 
PDF
API Mocking
ChinMingKuo1
 
PPT
Javascript stacktrace
cazhfe
 
PPTX
twMVC#41 The journey of source generator
twMVC
 
Node.js长连接开发实践
longhao
 
Java script 全面逆襲!使用 node.js 打造桌面環境!
Fred Chien
 
Java API for WebSocket 實作介紹
My own sweet home!
 
Javascript 性能优化总结.docx
baixingfa
 
學好 node.js 不可不知的事
Ben Lue
 
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC
 
PHP 應用之一 socket funion : 偽 WEB Server
志賢 黃
 
Node.js 入門 - 前端工程開發實務訓練
Joseph Chiang
 
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC
 
NodeJS基礎教學&簡介
GO LL
 
HTML5 Web workers
Tom Fan
 
twMVC#43 YARP
twMVC
 
用最潮的 Java script 盡情開發 kde qt 程式
Fred Chien
 
Gulp.js 自動化前端任務流程
洧杰 廖
 
twMVC#19 | opserver監控服務的解決
twMVC
 
twMVC#43 Visual Studio 2022 新功能拆解
twMVC
 
API Mocking
ChinMingKuo1
 
Javascript stacktrace
cazhfe
 
twMVC#41 The journey of source generator
twMVC
 
Ad

Viewers also liked (20)

PDF
Gestão de risco mesarga project
Marco Coghi
 
PPTX
HTML + CSS - Lezione 3
Vincenzo Caico
 
PDF
Folder Milieu En Energieclassificaties
Rick_Scholtes
 
PDF
Saligny2
unknown0408
 
PDF
Maceio ge19-gestão de projetos-implantação da manutenção autônoma (ma) nas ár...
Marco Coghi
 
PDF
Implantação de PMO em Lisarb
Marco Coghi
 
DOCX
5 taller 1 unidad 1 tercero
San Sebastián University
 
PPS
Un bello-ejemplo-diapositivas
Jackson Dj
 
PDF
Visita médica
Andréia Assis
 
PPT
Clase
marojaor
 
PPTX
UFV Terra da Luz
Marco Coghi
 
PDF
Condomínio Sustentável
Marco Coghi
 
PPS
Navidades por el mundo
tunig88
 
PDF
07 หน่วยที่ 07 แผนที่ 26 34
krunuy5
 
PDF
Implementação do PMO em Lisarb
Marco Coghi
 
PDF
翻滾吧!!男孩 影片講評及技巧分析-以「SONY童心協力看台灣」為例
Souyi Yang
 
PDF
ECOVILLAS
Marco Coghi
 
PPT
Maurício Gonçalves
Marco Coghi
 
PPTX
Aracatuba gp01-gep-grupo01
Marco Coghi
 
PPS
Enfermedadesvenezolanas
mariellabe
 
Gestão de risco mesarga project
Marco Coghi
 
HTML + CSS - Lezione 3
Vincenzo Caico
 
Folder Milieu En Energieclassificaties
Rick_Scholtes
 
Saligny2
unknown0408
 
Maceio ge19-gestão de projetos-implantação da manutenção autônoma (ma) nas ár...
Marco Coghi
 
Implantação de PMO em Lisarb
Marco Coghi
 
5 taller 1 unidad 1 tercero
San Sebastián University
 
Un bello-ejemplo-diapositivas
Jackson Dj
 
Visita médica
Andréia Assis
 
Clase
marojaor
 
UFV Terra da Luz
Marco Coghi
 
Condomínio Sustentável
Marco Coghi
 
Navidades por el mundo
tunig88
 
07 หน่วยที่ 07 แผนที่ 26 34
krunuy5
 
Implementação do PMO em Lisarb
Marco Coghi
 
翻滾吧!!男孩 影片講評及技巧分析-以「SONY童心協力看台灣」為例
Souyi Yang
 
ECOVILLAS
Marco Coghi
 
Maurício Gonçalves
Marco Coghi
 
Aracatuba gp01-gep-grupo01
Marco Coghi
 
Enfermedadesvenezolanas
mariellabe
 
Ad

Similar to Node Web开发实战 (20)

PDF
D2_node在淘宝的应用实践_pdf版
Jackson Tian
 
PDF
Node getting-started
lylijincheng
 
PPT
Node.js在淘宝的应用实践
taobao.com
 
KEY
D2_Node在淘宝的应用实践
Jackson Tian
 
PDF
COSCUP 2010 - node.JS 於互動式網站之應用
ericpi Bi
 
PDF
Browser vs. Node.js Jackson Tian Shanghai
Jackson Tian
 
KEY
分享平台构建之旅
tblanlan
 
KEY
独爽不如众乐
Zheng Biao
 
PDF
Node js实践
myzykj
 
PDF
Node.js 進攻桌面開發
Fred Chien
 
PDF
Nodejs介绍
myzykj
 
PPT
课题二:Node.js那些事儿
Liu Allen
 
PDF
Nodejs & NAE
q3boy
 
PDF
Introduction to NodeJS
TechParty@UIC
 
PPTX
这年头,你只需要懂Node webkit
LainZQ
 
PPTX
Nodejs introduce - using Socket.io
Caesar Chi
 
PDF
KSDG meet-up #1
ericpi Bi
 
ODP
nodejs开发web站点
xiaojueqq12345
 
PPT
Node分享 展烨
tb-vertical-guide
 
PPTX
Node js feat pegasus
cnfi
 
D2_node在淘宝的应用实践_pdf版
Jackson Tian
 
Node getting-started
lylijincheng
 
Node.js在淘宝的应用实践
taobao.com
 
D2_Node在淘宝的应用实践
Jackson Tian
 
COSCUP 2010 - node.JS 於互動式網站之應用
ericpi Bi
 
Browser vs. Node.js Jackson Tian Shanghai
Jackson Tian
 
分享平台构建之旅
tblanlan
 
独爽不如众乐
Zheng Biao
 
Node js实践
myzykj
 
Node.js 進攻桌面開發
Fred Chien
 
Nodejs介绍
myzykj
 
课题二:Node.js那些事儿
Liu Allen
 
Nodejs & NAE
q3boy
 
Introduction to NodeJS
TechParty@UIC
 
这年头,你只需要懂Node webkit
LainZQ
 
Nodejs introduce - using Socket.io
Caesar Chi
 
KSDG meet-up #1
ericpi Bi
 
nodejs开发web站点
xiaojueqq12345
 
Node分享 展烨
tb-vertical-guide
 
Node js feat pegasus
cnfi
 

Node Web开发实战

  • 1. Node Web 开发实战 @Python 发烧友 Asp.net, Django, tornado, web.py, Nginx Node, Connect, Express Twitter: @fengmk2
  • 2. Why Node ? Python Ruby Java .NET PHP 都能快速开发?
  • 3. Web 开发 前端 HTML CSS DOM Javascript Cookie Ajax JSON Template
  • 4. Web 开发 后端 HTTP URL Routing Request GET POST File Upload Data Access: SQL, NoSQL Response HTML, JSON, Cookie Template File Download
  • 5. Node Web 后端开发 Node Connect Express Socket.IO
  • 6. Node Http Server var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Node\n'); }).listen(8080); 最原始,最纯粹的控制。你必须熟悉 HTTP 协议。
  • 7. How about Connect var connect = require('connect'); connect.createServer(function (req, res, next) { res.simpleBody(200, "Hello Connect"); }).listen(8080); 看起来和纯 node 写的 http server 没太大区别 Middleware: Filters and Providers
  • 9. Connect Built-in Middleware var server = connect.createServer( connect.logger(), connect.favicon(__dirname + '/public/favicon.ico'), connect.static(__dirname + '/public'), connect.bodyParser(), // req.body.foo connect.cookieParser(), // req.cookies.bar connect.session({secret: 'I am a secret'}) );
  • 10. Express 基于 Connect var app = require('express').createServer(); app.get('/', function(req, res){ res.send('hello world'); }); app.listen(8080); URL Routing, View render, Template, 所有 web 开发需要的都齐全了。
  • 11. 实战:淘 job 和 微博图片墙 淘 job :最常规的 Web 网站开发 Web 表单 数据库访问 结合第三方 API 微博图片墙 WebSocket 实时推送
  • 12. 淘 job 基于微博的招聘系统 快速实现: oauth 接入 (node-weibo) 登录,注销 发表职位信息 同步发送微博
  • 13. Weibo connect 使用微博用户系统,无需烦琐的用户注册过程 登录 : oauth 1. get_request_token 2. user login authorization_url 3. use request_token => get_access_token Session: session.user 注销 使用 node-weibo 模块完成对 weibo 的 api 调用
  • 14. Web form 提交职位信息 数据保存到数据库 : node-mysql 同步发送微博 显示招聘信息,同时获取转发数和评论数 使用到的 weibo api: update: status counts: ids
  • 15. taojob.tbdata.org 增加样式(我花的时间大部分耗在这上面) http ://taojob.tbdata.org Node 没有改变我们熟悉 Web 开发逻辑
  • 16. 微博图片墙 聚合各微博 API 数据 WebSocket: Socket.IO-node 实时推送 http://s8.hk:8888/
  • 17.  
  • 18. 回到最开始: Why Node ? 难以想象的第三方库 express node-weibo Socket.IO-node node-mysql 实现产品功能 快速 、高效 、简单
  • 19. Node 的未来 Nginx 用了 9 年时间终于在 4.12 发布 1.0 版本。 Node 又会用多少时间发布 1.0 版本呢? 适合所有的 IO( 网络,文件,进程通信 ) 密集型开发!
  • 20. Q & A: 知乎,者也 ?