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
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
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.