Learning Node – Using Node.js In My Final Year At College – What's This Course Then?



Learning Node – Using Node.js In My Final Year At College – What's This Course Then?

0 1


learning-node-slides

Slides from my talk at the NodeJS Dublin meet-up (May 2013)

On Github dmcaodha / learning-node-slides

Learning Node

Using Node.js In My Final Year At College

Daniel McKay / @dmpmck

Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard).

Hello Everyone

Daniel McKay

What's This Course Then?

IADT - Dún Laoghaire

BSc Hons - Computing

(Multimedia Systems / Web Engineering)

What We Studied

  • Java - OOP, Data Structures, Algorithms
  • Web Development - HTML, CSS, PHP
  • Hardware & Operating Systems
  • Software Engineering
  • Networks - Protocols, Socket Programming
  • Databases - Relational
  • Maths - Computer Modelling, Stats
  • ...Loads of other stuff

Survey Project

  • Web Application - PHP
  • Native Android Application - Java
  • Data Exchange - XML
  • Database - MySQL

If I had to do it all again...

What Would I Do Differently?

Make Some Changes...

Strip out the native Android App Make a mobile Web app Use more JavaScript Use JSON for data exchange

Research

What They Said...

  • Their app is mainly I/O bound
  • Node's evented, non-blocking model suits this use case
  • A single process handles many connections
  • Node is good at talking to external services over HTTP
  • Client developers can work on server-side code

I Was Intrigued...

I wanted to take a look at the technology for my final project

but I hadn't programmed with JavaScript...

...luckily, we had an upcoming JavaScript programming module in college.

Project Meeting - Initial Conversation

Me: I want to write a Node app.

Supervisor: Why?

Me: 'Cos it sounds cool.

Supervisor: You'll have to do better than that.

Between Us We Came Up With A Project

Developing in the Cloud with Node.js

A study in Node development using cloud services

Research

  • Web hosting versus the cloud
  • Web server programs
  • Node - under the hood
  • How to write a Node app

Where to now?

Node Dublin 2012 Came Along

A chance to hear about all the great things people were doing with Node.js from across the world:

  • Real-time systems
  • Streams
  • How to write big apps
  • A cloud-based OS written in Node
  • Genetic algorithms in the browser
  • The open source movement
  • F***ing robots - Johnny-Five is alive!

There was even a fellow talking about Lego in a wizard's hat made out of a Doritos bag :)

Arduino

43 lines of code - johnny-five and socket.io

Back To The Project

Need to start doing some real work!

Building A Node App - Resources

Online: Books:

Dischost

  • Cloud-based music database service
  • Allows users to store and play digital music from the browser

Application Architecture

  • Express Web Framework - RESTful, session support
  • Socket.io - Real-time features
  • CouchDB - JSON document store

A Small Demo

I hope it works...

What I learned

  • A whole lot about writing JavaScript
  • A whole lot more about general app development
  • There's a great community surrounding this technology

Go to meet-ups, speak to them and build something

THE END

Thanks For Listening.