史前的Ssjs——从js的asp到node js
Upcoming SlideShare
Loading in...5
×
 

史前的Ssjs——从js的asp到node js

on

  • 1,448 views

CNodeJS分享:珠三角技术沙龙6月NodeJS专场

CNodeJS分享:珠三角技术沙龙6月NodeJS专场

Statistics

Views

Total Views
1,448
Views on SlideShare
1,448
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

史前的Ssjs——从js的asp到node js 史前的Ssjs——从js的asp到node js Presentation Transcript

  • 自我介绍
    • 我叫张鑫,微博是 weibo.com/sp42
    • Ext 中文网: ajaxjs.com
    • 熟悉 Web 前端开发、 JavaScript
  • 标 题 史前的 SSJS—— 从 JS 的 ASP 到 NodeJS
  • 开篇
    • SSJS ? SSJS 即 Server Side JavaScript ,非客户端的 JS 。
    • 史前的?的确, NodeJS 是新的。从历史沿革上把握 SSJS 进化,拿出参照物,以更好理解今天的 NodeJS 之所以然
    • 选定我熟悉也是我入门的技术 ASP ( Classic ASP )
  • 乘坐时间穿梭机……
    • 回到 ASP 的年代……
    • 为微软的第一代 Web 开发技术,诞生于 1996 年
    • 那时是什么环境? 互联网大潮,引致彼时的 Web 开发就像今天的网游开发
    • CGI/ASP/PHP/JSP (动态网页开发)
  • 回顾 ASP 特点
    • 专门针对 Web 开发,相对于 CGI 来说 ASP 进步巨大
    • 主要依赖 IIS ,支持多种脚本语言: VBS/JScript/……
    • 易学易用
    • 不开源,不过有其控件市场
  • NodeJS v.s Jscript ASP
    • Nodejs 和 JScript ASP 可谓别具一格的 Web 服务端开发,都以 JavaScript 为开发语言,那么,同是 SSJS ,究竟差别在哪里呢? 提出几个问题如下:
  • 厘清若干问题
    • 与 JS ASP 相比, Node 提出了什么新概念?
    • 学习曲线上, Node 和 JS ASP 比较怎么样?
    • Node 的实质意义?
    • 第三方的控件 / 组件,是否满足需求?
  • 比较 Request 请求
    • 为脚本提供了当客户端请求一个页面或者传递一个窗体时,客户端提供的全部信息。这包括能指明浏览器和用户的 HTTP 变量。
    • Node :
    • node> require('url').parse('/status?name=ryan', true)
    • { href: '/status?name=ryan',
    • search: '?name=ryan',
    • query: { name: 'ryan' },
    • pathname: '/status' }
    • Jscript : Request.Form('field') 、 Request.QuertString('id') 、 Request.Cookies 、 Request.ServerVariables
  • 比较 Response 响应
    • 用来访问服务器端所创建的并发回到客户端的响应信息。为脚本提供 HTTP 变量,指明服务器和服务器的功能和关于发回浏览器的内容的信息。
    • Node :
    • 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");
    • Jscript : Response.write(Request.Form('field'));
  • 比较 Session 会话
    • Node API 不提供,由第三方代码支持:
    • * Connect: http://senchalabs.github.com/connect/
    • * Express.js: http://expressjs.com/
    • * Geddy: http://geddyjs.org/
    • Jscript : Session.contents('key') = 'foo'; Session.contents('bar') = { // 可用对象赋值 a : 'a' };
  • 整体差异
    • 文化上差异:开源与非开源
    • 生命周期不同, JScript 请求响应后即结束线程; Node 是守护进程。
    • API 定位不同, JScript 定位在通过脚本语言快速 Web 开发,表现在 Jscript 就自带一个缺省模板机制, <%…………%> ;而 Node 则可参与更多的网络底层服务,如 Socket 、反向服务器、 DNS 等等
    • 可通过 V8 编译 JS ; JScript 调用 COM 封装好的组件
    • Node 虽归为 SSJS 一类,但与传统 Web 开发思维明显不同,由此差别仍然很大。
  • 小 结
    • 比较了 Request/Response
    • 比较了 Session
    • 比较了数据库链接
    • 比较了整体差异
  • EOF
    • 谢谢大家!欢迎提问和交流!
    • 我叫张鑫,微博是 weibo.com/sp42
    • 请留意另一专题《管窥 Nodejs 的事件——基于观察者模式的事件队列》