• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
What's node.js all about

What's node.js all about






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

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.

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

    What's node.js all about What's node.js all about Presentation Transcript

    • What Is Node.JS All About @niallohiggins niallo@frozenridge.co
    • Node Is JavaScript Uses V8 - Fast dynamic JIT (beats Python, Ruby) JavaScript is not the DOM: - First class functions - Lambdas - Closures - Dynamic - Multi-paradigm OO (shallow hierarchies)
    • Node is Async “When something happens, let me know” - Callbacks - Events - Streams doSomeIO(function(err, result) { console.log(“IO complete: %s”, result) }) foo.on(‘roboDance’, function(ev) { console.log(“robot is dancing”) })
    • Node is Async Everywhere Async is not new “Async Everywhere” is new Entire stdlib is async Entire module ecosystem is async Compare to Twisted, EventMachine, etc
    • Node is Async Everywhere Good for I/O with low overhead Good for network software Good for hardware (NodeBots) Can be hard to read and handle errors (opinion) Terrible for CPU (e.g. SSL a weakness)
    • Node is Systems Glue LibUV is the core of node Cross-platform Async C library Node is JavaScript bindings for libuv: Timers, Filesystem, Network, Processes, etc JavaScript easier to write than C!
    • Node is Modules Node Package Manager (NPM) Local By Default (unlike Python virtual env) Very easy to use & publish modules Great ecosystem of modules IMHO - Single best thing about Node
    • Node is Modules Interesting uses of NPM modules: LevelDB Plug new features into your database! level-replicate, map-reduce, jsonquery- engine … VoxelJS Plug new features into your virtual world!
    • Node is New Lot’s of interesting ideas, experimentation Some great, some not so great Hard to handle errors (hint: use domains!) Hard to debug, monitor (no JMX) Things improving, but keep this in mind...
    • Node is New Questions about scale / performance? Others have been there: - Voxer talks (debugging, dtrace) - Mozilla blog posts - Walmart Labs - LinkedIn - Many more
    • Node is Fun! Easy to write, use & share code JavaScript fun once you learn it Lots of interesting ideas Makes front-end browser code fun too
    • Thanks & Shameless Plug My company FrozenRidge.co helps with JS/Node, MongoDB, DevOps and Continuous Deployment. We make StriderCD.com - Open Source Continuous Deployment Platform in Node.js niallo@frozenridge.co @niallohiggins on Twitter