0
Web.js Node.js 》 Node.js  Web.js and
Web.js Node.js JavaScript on Server-side http://nodejs.org/
Web.js Node.js E vent A sync N onBlocking
Web.js Node.js 前 端们,回想下当年你做页面的时候,因为各种原因,使页面 Block 住的情景吧! 再回想下 Ajax 一直在等待服务器的回答,但是因为服务器突然挂掉,而使到正在使用中的页面没有任何动作的情景吧!
Web.js Node.js
Web.js Node.js var  http = require( 'http' ), fs = require( 'fs' ), url = require( 'url' ); var  server = http. createServ...
Web.js Node.js http://expressjs.com/
Web.js Node.js var  express   = require( 'express' ), app = express. createServer (); app. configure (function(){ app. use...
Web.js Node.js /:Web.js http://web.jit.im/
Web.js Node.js require( 'webjs' ). run ()
Web.js Node.js { 速度! 灵活度! 简易度!
Web.js Node.js } 兼容性 ! 稳定性 ! 还原性 !
<ul><li>Web.js 可以脱离 NPM(Node.js package manager) 安装, Web.js 不需要利用编译器进行编译,可以直接复制到应用目录使用。 </li></ul><ul><li>Express 需要利用 NPM...
<ul><li>var  express = require( 'express' ), </li></ul><ul><li>app = express. createServer (); </li></ul><ul><li>app. get ...
<ul><li>var  web = require( 'webjs' ), </li></ul><ul><li>urlRouter = { </li></ul><ul><li>'/:year/:mouth/:day/:id.jpg' :  '...
Web.js Node.js Request Server POST GET PostRouter PostHandler UrlRouter GetRouter Response File System Redirect GetHandler
Web.js Node.js DEMO ——  Web.js TODOS http://todos.jit.im/
Web.js Node.js Node.js + MongoDB Web.js + Mongoose
Web.js Node.js var  web = require( 'webjs' ), mongoose = require( 'mongoose' ), config = require( './config' ); var  Item ...
Web.js Node.js 不会有哪个 SB 的 Node.js 第三方模块开发者会提供同步的 API !! 不过 Node.js 原生 API 里的确有。。 =_=
Web.js Node.js Web.js 的 API  是全裸的 Node.js 原生代码可以无缝迁移 //Node.js 官方 Hello World var  http = require( 'http' ); http. createS...
Web.js Node.js 别小看 Node.js , Node.js 也是 CMS 潜力股! 上传文件 var  postRouter = { 'upload' : function ( req ,  res ) { fs. writeFi...
Web.js Node.js RESTful API
Web.js Node.js
Web.js Node.js Sencha Touch + Web.js MongoDB(Mongoose) | Node.js(Web.js) | JSONP | Front End (Sencha Touch)
Web.js Node.js var  mongoose = require( &quot;mongoose&quot; ), …… web = require( &quot;webjs&quot; ); …… var  Post =  new...
Web.js Node.js Ext. apply (mmq. views , { hotMsgInnerList: new mmq. views . HotMsgInnerList ({ store : new Ext. data . Sto...
<ul><li>EventProxy ( 朴灵  Jackson Tian) </li></ul><ul><li>Jscex ( 老赵  Jeffrey) </li></ul><ul><li>Backbone (Document Cloud) ...
Web.js Node.js Q&A
Upcoming SlideShare
Loading in...5
×

Node.js and Web.js

3,487

Published on

Published in: Technology, Design
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,487
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
65
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Node.js and Web.js"

  1. 1. Web.js Node.js 》 Node.js Web.js and
  2. 2. Web.js Node.js JavaScript on Server-side http://nodejs.org/
  3. 3. Web.js Node.js E vent A sync N onBlocking
  4. 4. Web.js Node.js 前 端们,回想下当年你做页面的时候,因为各种原因,使页面 Block 住的情景吧! 再回想下 Ajax 一直在等待服务器的回答,但是因为服务器突然挂掉,而使到正在使用中的页面没有任何动作的情景吧!
  5. 5. Web.js Node.js
  6. 6. Web.js Node.js var http = require( 'http' ), fs = require( 'fs' ), url = require( 'url' ); var server = http. createServer (function ( req , res ) { var filePath = url. parse (req. url ). pathName ; fs. readFile (filePath, function ( err , data ) { res. writeHead ( 200 , { 'Content-type' : 'text/plain' }); res. write ( data ); res. end (); }); }); server. listen ( 8888 );
  7. 7. Web.js Node.js http://expressjs.com/
  8. 8. Web.js Node.js var express = require( 'express' ), app = express. createServer (); app. configure (function(){ app. use (express. static ( __dirname )); }); app. listen ( 8888 );
  9. 9. Web.js Node.js /:Web.js http://web.jit.im/
  10. 10. Web.js Node.js require( 'webjs' ). run ()
  11. 11. Web.js Node.js { 速度! 灵活度! 简易度!
  12. 12. Web.js Node.js } 兼容性 ! 稳定性 ! 还原性 !
  13. 13. <ul><li>Web.js 可以脱离 NPM(Node.js package manager) 安装, Web.js 不需要利用编译器进行编译,可以直接复制到应用目录使用。 </li></ul><ul><li>Express 需要利用 NPM 调用 C++ 编译器进行编译,而且 C++ 部分并不是性能做优化,而只是为了生成一个 CLI(command-line interface) ,因为 Express 的语法复杂,开发者在每一个应用开始编写的时候要做的准备工作很多。 </li></ul><ul><li>而 Web.js 的语法非常简单,不需要太多的记忆,完全是 JavaScript 的基础语法。 </li></ul>Web.js Node.js
  14. 14. <ul><li>var express = require( 'express' ), </li></ul><ul><li>app = express. createServer (); </li></ul><ul><li>app. get ( '/:year/:mouth/:day/:id.jpg' , </li></ul><ul><li>function ( req , res ) { </li></ul><ul><li>res. sendFile (req. params . year + '-' + req. params . mouth + '-' + req. params . day + '-' + req. params . id + '.jpg' ); </li></ul><ul><li>}); </li></ul><ul><li>app. get ( '/:action' , function (req, res) { </li></ul><ul><li>var action = req. params . action ; </li></ul><ul><li>res. send ( 'Your action is ' + action); </li></ul><ul><li>}); </li></ul>Web.js Node.js
  15. 15. <ul><li>var web = require( 'webjs' ), </li></ul><ul><li>urlRouter = { </li></ul><ul><li>'/:year/:mouth/:day/:id.jpg' : '$1-$2-$3-$4.jpg' </li></ul><ul><li>}, </li></ul><ul><li>getRouter = { </li></ul><ul><li>'/:action' : function ( req , res ) { </li></ul><ul><li>res. send ( 'Your action is ' + req. path . action ); </li></ul><ul><li>} </li></ul><ul><li>}; </li></ul><ul><li>web. run ( urlRouter , 8888 ) </li></ul><ul><li>. get ( getRouter ); </li></ul>Web.js Node.js Web.js
  16. 16. Web.js Node.js Request Server POST GET PostRouter PostHandler UrlRouter GetRouter Response File System Redirect GetHandler
  17. 17. Web.js Node.js DEMO —— Web.js TODOS http://todos.jit.im/
  18. 18. Web.js Node.js Node.js + MongoDB Web.js + Mongoose
  19. 19. Web.js Node.js var web = require( 'webjs' ), mongoose = require( 'mongoose' ), config = require( './config' ); var Item = new mongoose. Schema ({ title: String , status: Number }); mongoose. model ( 'Item' , Item ); Item = mongoose. model ( 'Item' ); var getRouter = { 'getItems' : function ( req , res ) { Item. find ({}, function ( err , items ) { res. sendJSON ( items ); }); } }, postRouter = { 'addItem' : function ( req , res ) { new Item({ ...... }). save (function ( err ) { ...... }); }, ...... }; web. run ({}, config . www . port ) . get ( getRouter ) . post ( postRouter );
  20. 20. Web.js Node.js 不会有哪个 SB 的 Node.js 第三方模块开发者会提供同步的 API !! 不过 Node.js 原生 API 里的确有。。 =_=
  21. 21. Web.js Node.js Web.js 的 API 是全裸的 Node.js 原生代码可以无缝迁移 //Node.js 官方 Hello World var http = require( 'http' ); http. createServer (function ( req , res ) { res. writeHead ( 200 , { 'Content-Type' : 'text/plain' }); res. end ( 'Hello Worldn' ); }). listen ( 1337 , &quot;127.0.0.1&quot; ); //Web.js var web = require( 'webjs' ); web. run ({}, 1337 , '127.0.0.1' ) . get ({ '/' : function (req, res) { res. end ( 'Hello Worldn' ); //res.send('Hello World'); } });
  22. 22. Web.js Node.js 别小看 Node.js , Node.js 也是 CMS 潜力股! 上传文件 var postRouter = { 'upload' : function ( req , res ) { fs. writeFile ( 'somefile.txt' , //file name req. data . upload , //file data function ( err ) { //callback if ( err ) return res. send ( 'Upload failed' ); res. send ( 'Upload successed' ); }); } } * 基于 node-formiable express 原生不支持文件上传
  23. 23. Web.js Node.js RESTful API
  24. 24. Web.js Node.js
  25. 25. Web.js Node.js Sencha Touch + Web.js MongoDB(Mongoose) | Node.js(Web.js) | JSONP | Front End (Sencha Touch)
  26. 26. Web.js Node.js var mongoose = require( &quot;mongoose&quot; ), …… web = require( &quot;webjs&quot; ); …… var Post = new mongoose. Schema ({ …… }); …… var getRouter = { &quot;jsonData&quot; : function (req, res) { Post. find ({}, function ( err , posts ) { res. sendJSON (req. qs . callback + '(' + JSON. stringify ( posts ) + ')' ); }) } }; web. run ({}, config. www . port , config. www . host ) . get (getRouter); Web.js + Mongoose
  27. 27. Web.js Node.js Ext. apply (mmq. views , { hotMsgInnerList: new mmq. views . HotMsgInnerList ({ store : new Ext. data . Store ({ id: 'store_hm' , model: 'mmq.models.HotMsg' , autoLoad: true , proxy : { type: 'scripttag' , url: 'http://localhost:8888/jsonData' , reader: { type: 'json' , root: 'data' }, } }) }) });
  28. 28. <ul><li>EventProxy ( 朴灵 Jackson Tian) </li></ul><ul><li>Jscex ( 老赵 Jeffrey) </li></ul><ul><li>Backbone (Document Cloud) </li></ul><ul><li>Underscore (Document Cloud) </li></ul><ul><li>Mongoose (LearnBoost) </li></ul><ul><li>MongoSkin ( 桂林 ) </li></ul><ul><li>…… </li></ul>Web.js Node.js Friendly Modules
  29. 29. Web.js Node.js Q&A
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×