© Copyright 2000-2013 TIBCO Software Inc.
Presented by: EDIT Presenter
Node.js 101
Feb 19, 2015
- Gauri Saykar
© Copyright 2000-2013 TIBCO Software Inc.
Node.js
• Node.js is a platform built on Chrome's JavaScript
runtime for easily building fast, scalable network
applications.
- nodejs.org
© Copyright 2000-2013 TIBCO Software Inc.
WHAT COULD YOU BUILD?
• DIRTy (Data Intensive Real-Time) applications
• Node.js uses an event-driven, non-blocking I/O model
that makes it lightweight and efficient, perfect for data-
intensive real-time applications that run across
distributed devices.
e.g.
- Chat server
- Fast file upload client
- Ad Server
© Copyright 2000-2013 TIBCO Software Inc.
WHY JAVASCRIPT ?
• “JavaScript has certain characteristics that make it very
different than other dynamic languages, namely that it
has no concept of threads. Its model of concurrency is
completely based around events.”
- Ryan Dahl
• One language for web application development
• Native JSON support
© Copyright 2000-2013 TIBCO Software Inc.
BLOCKING VS NON-BLOCKING CODE
© Copyright 2000-2013 TIBCO Software Inc.
TYPICAL BLOCKING THINGS
• Calls out to web services
• Reads/Writes on the File/Database
© Copyright 2000-2013 TIBCO Software Inc.
NON BLOCKING EXAMPLE
© Copyright 2000-2013 TIBCO Software Inc.
EVENT LOOP
© Copyright 2000-2013 TIBCO Software Inc.
MEAN STACK
• Mongo – NoSQL data store
• Express JS – lightweight web framework for Node.js
• Angular JS – client side web framework
• Node.js
© Copyright 2000-2013 TIBCO Software Inc.
APP ARCHITECTURE
© Copyright 2000-2013 TIBCO Software Inc.
THANK YOU
References:
• http://nodejs.org/
• http://courseware.codeschool.com/node_slides.pdf
• https://github.com/Saykar/Angular-Express

Node.js

  • 1.
    © Copyright 2000-2013TIBCO Software Inc. Presented by: EDIT Presenter Node.js 101 Feb 19, 2015 - Gauri Saykar
  • 2.
    © Copyright 2000-2013TIBCO Software Inc. Node.js • Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. - nodejs.org
  • 3.
    © Copyright 2000-2013TIBCO Software Inc. WHAT COULD YOU BUILD? • DIRTy (Data Intensive Real-Time) applications • Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data- intensive real-time applications that run across distributed devices. e.g. - Chat server - Fast file upload client - Ad Server
  • 4.
    © Copyright 2000-2013TIBCO Software Inc. WHY JAVASCRIPT ? • “JavaScript has certain characteristics that make it very different than other dynamic languages, namely that it has no concept of threads. Its model of concurrency is completely based around events.” - Ryan Dahl • One language for web application development • Native JSON support
  • 5.
    © Copyright 2000-2013TIBCO Software Inc. BLOCKING VS NON-BLOCKING CODE
  • 6.
    © Copyright 2000-2013TIBCO Software Inc. TYPICAL BLOCKING THINGS • Calls out to web services • Reads/Writes on the File/Database
  • 7.
    © Copyright 2000-2013TIBCO Software Inc. NON BLOCKING EXAMPLE
  • 8.
    © Copyright 2000-2013TIBCO Software Inc. EVENT LOOP
  • 9.
    © Copyright 2000-2013TIBCO Software Inc. MEAN STACK • Mongo – NoSQL data store • Express JS – lightweight web framework for Node.js • Angular JS – client side web framework • Node.js
  • 10.
    © Copyright 2000-2013TIBCO Software Inc. APP ARCHITECTURE
  • 11.
    © Copyright 2000-2013TIBCO Software Inc. THANK YOU References: • http://nodejs.org/ • http://courseware.codeschool.com/node_slides.pdf • https://github.com/Saykar/Angular-Express