Building for the real-time web with Node.js         Timothy Strimple       tstrimple@gmail.com            @tstrimple
What is the real-time web?
Real-time web.The real-time web is a set of technologies and practices thatenable users to receive information as soon as ...
Examples of real-time websites• Twitter• Facebook• Google real-time analytics• Monitter.com• http://kaazing.me/• http://de...
What is node.js? • Node + Javascript • Node is the cross platformframework   provides the non-blocking                    ...
What is node?• Node is designed to be massively scalable.• Jason Hoffman (CTO & Founder Joyent):  Goal is one CPU (core) a...
Similar platforms • Similar to other event driven frameworks.  • Python: Twisted  • C: LibEvent  • Ruby: EventMachine • Un...
Non-blocking.In node, non blocking means that any activity taking a long time tofinish, such as file access, network communi...
Why Javscript? • It’s FAST! (V8) • Lots of commercial support.  • Microsoft vs. Google vs. Mozilla
Why Javscript?• It flattens your stack • You have to use javascript anyway• First class functions! • Makes event driven pro...
Socket.IOMaking real-time communication easy.• Supported Communication Transports • WebSocket • Adobe Flash Socket • Ajax ...
Socket.IOSupported Browsers• Desktop                   • Mobile • Internet Explorer 5.5+    • iPhone Safari • Safari 3+   ...
Lets see some code!
When to use node?• Web APIs • Json EVERYWHERE!• Streaming data • Real time encoding of data as it is being    uploaded• So...
When not to use node? • Simple CRUD web applications • CPU heavy applications
Contact Information    tstrimple@gmail.com         @tstrimple
Node
Node
Node
Node
Node
Node
Upcoming SlideShare
Loading in …5
×

Node

3,636 views
3,602 views

Published on

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

No Downloads
Views
Total views
3,636
On SlideShare
0
From Embeds
0
Number of Embeds
1,580
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Node

    1. 1. Building for the real-time web with Node.js Timothy Strimple tstrimple@gmail.com @tstrimple
    2. 2. What is the real-time web?
    3. 3. Real-time web.The real-time web is a set of technologies and practices thatenable users to receive information as soon as it is published by itsauthors, rather than requiring that they or their software check asource periodically for updates.
    4. 4. Examples of real-time websites• Twitter• Facebook• Google real-time analytics• Monitter.com• http://kaazing.me/• http://demo.kaazing.com/forex/
    5. 5. What is node.js? • Node + Javascript • Node is the cross platformframework provides the non-blocking layer which which is the core of node.js. • Filesystem access • Networking • DNS • Etc...
    6. 6. What is node?• Node is designed to be massively scalable.• Jason Hoffman (CTO & Founder Joyent): Goal is one CPU (core) and < 1 GB ram hosting10GB/s, 1 million end points
    7. 7. Similar platforms • Similar to other event driven frameworks. • Python: Twisted • C: LibEvent • Ruby: EventMachine • Unlike these other frameworks, Node.js is not burdened by existing blocking libraries.
    8. 8. Non-blocking.In node, non blocking means that any activity taking a long time tofinish, such as file access, network communication, and networkoperations, are requested and put aside until the results are readyto be returned ia a callback function.
    9. 9. Why Javscript? • It’s FAST! (V8) • Lots of commercial support. • Microsoft vs. Google vs. Mozilla
    10. 10. Why Javscript?• It flattens your stack • You have to use javascript anyway• First class functions! • Makes event driven programming very easy.
    11. 11. Socket.IOMaking real-time communication easy.• Supported Communication Transports • WebSocket • Adobe Flash Socket • Ajax Long Polling • Ajax multi-part streaming • Forever iframe • JSONP Polling
    12. 12. Socket.IOSupported Browsers• Desktop • Mobile • Internet Explorer 5.5+ • iPhone Safari • Safari 3+ • iPad Safari • Google Chrome 4+ • Android WebKit • Firefox 3+ • WebOs WebKit • Opera 10.61+
    13. 13. Lets see some code!
    14. 14. When to use node?• Web APIs • Json EVERYWHERE!• Streaming data • Real time encoding of data as it is being uploaded• Soft real-time applications • Versus Hard or Firm real-time
    15. 15. When not to use node? • Simple CRUD web applications • CPU heavy applications
    16. 16. Contact Information tstrimple@gmail.com @tstrimple

    ×