SPA Conference session: Web applications a la node

One-line description:A hands-on introduction to node.js
Session format: Long tutorial (330 mins) [read about the different session types]
Abstract:Since its first appearance in 2009, node.js has been generating significant interest both for its architecture (extensive use of non-blocking IO makes it highly performant) and its use of JavaScript as a server-side language. It is possible to implement any number of server-side capabilities quickly and easily in node: what's more, its flexibility has inspired many plug-ins and extensions - bindings for SQL and NoSQL databases, multi-server load balancing and resilience, middleware for authentication, integration with social networks and other systems, messaging and more.

This workshop/tutorial session will present a practical introduction to node.js and its ecosystem. Participants will build some simple server functionality, then combine efforts to develop some useful web applications (for example, a mash-up of the twitter feed from the conference with statistics, word clouds, links to individuals' SPA pages...)
Audience background:Some knowledge to JavaScript as a programming language (and not just a web scripting language) will be useful.
Benefits of participating:* Gain experience in using a fast, flexible server framework.
* Understand how non-blocking IO, the fundamental paradigm of node.js, supports server performance and scalability
* Learn about some of the extensions that people have contributed to the node.js ecosystem
Materials provided:Cheat sheets for JavaScript and Node.js, application template, hosted source code control, testing framework
Process:Tutorial introduction, establishment of goals/projects, then the afternoon will be run as a series of pomodoros, working initially in pairs then in small teams,
Detailed timetable:00:00 - 00:30 node.js from the ground up (tutorial)
00:30 - 01:00 Pomodoro 1 - first steps
01:00 - 01:30 the node.js ecosystem
01:30 - 01:45 goals for the remainder of the workshop
01:45 - end Several Pomodoros in which pairs, possibly combining into small teams, work to complete the application(s)
Outputs:Applications running on a server
History:This is a new session, but will build on Peter and David's experience in presenting Serious JavaScript at SPA2008
1. David Harvey
Teams and Technology Limited
2. Peter Marks