Skip to main content

Tutorial: Node.js Three Ways

Constantine Aaron Cois (Carnegie Mellon University, Software Engineering Institute), Tim Palko (Carnegie Mellon University, Software Engineering Institute)
Emerging Languages | JavaScript - HTML5 - Web
Portland 255
Tutorial Please note: to attend, your registration must include Tutorials.
Average rating: ***..
(3.90, 20 ratings)
Slides:   external link


Node.js has secured its place in the open source community, bringing JavaScript to the server side and becoming a go-to tool for a wide variety of use cases. In this tutorial, we’ll explore three unique technologies, and accompanying use cases, for Node.js development. We’ll divide the workshop into three one-hour segments, in which you will develop three different Node.js-powered applications, using the following approaches:

  • Node.js Services: First, we’ll look at original flavor Node.js, designed to build fast, scalable network applications using JavaScript and the powerful V8 engine. You’ll develop a scalable, fault-tolerant service to send real-time push notifications.
  • Express.js Web Applications: Express is an open source MVC web application framework for Node.js. It allows you to write highly scalable web apps with a familiar structure, leveraging Connect middleware to provide built-in functionality like authentication and session management. You’ll use Express to write a Node.js web application, and add in the excellent module to provide real-time websocket communication between server and clients.
  • Meteor.js Web Applications: Meteor is an advanced open source web application framework, built on Node.js, designed to allow you to develop scalable, reactive, real-time web applications quickly and easily. With a novel application structure enabling clients and server to seamlessly share code and data, Meteor provides an unforgettable new experience in web application development. You’ll build a web application with Meteor, incorporating a real-time updating map powered by Leaflet.js and OpenStreetMap.

Bring a laptop, and be ready to code! You’ll end this workshop with three fully-functional applications and an in-depth knowledge of the diverse approaches to application development using Node.js, and when to use each to meet your needs.


* A basic knowledge of JavaScript and MVC web development will be helpful.
* A laptop, preferably with Node.js v0.10+ with NPM, Meteor.js v0.7+, Express.js v3+, and current versions of MongoDB and Redis already installed.

QUESTIONS for the speaker?: Use the “Leave a Comment or Question” section at the bottom to address them.

Photo of Constantine Aaron Cois

Constantine Aaron Cois

Carnegie Mellon University, Software Engineering Institute

Aaron is a software engineer currently located in Pittsburgh, PA. He received his Ph.D. in 2007, developing algorithms and software for 3D medical image analysis. He currently leads a software development team at Carnegie Mellon University, focusing on web application development and cloud systems.

Aaron is a polyglot programmer, with a keen interest in open source technologies. Some favorite technologies at the moment include Node.js, Python/Django, MongoDB, and Redis.

Tim Palko

Carnegie Mellon University, Software Engineering Institute

Tim celebrates software development using many languages and frameworks, heeding less to past experience in choosing technologies. Spring MVC, Hibernate, Rails, .NET MVC, Django and the variety of languages that come with are in his L1 cache. Among other endeavors to keep him sharp, he currently provides coded solutions for the Software Engineering Institute at CMU.

Tim received a B.S. in Computer Engineering in 2003 and resides in Pittsburgh, PA.

Comments on this page are now closed.


Picture of Craig Wright
Craig Wright
07/21/2014 5:50am PDT

I received all kinds of errors and warnings when installing the npm modules. I was able to resolve the errors but not the warnings, particularly the “node version expected” warnings. Hopefully it all works!

Picture of Constantine Aaron Cois
Constantine Aaron Cois
07/14/2014 6:34am PDT

@erik – great catch! Thanks, I’ve put the word out to get that updated. See you at OSCON!

Picture of Erik Woods
Erik Woods
07/14/2014 3:55am PDT

I think you mean Node.js v0.10+ but it says Node.js v10+