what is node and why does it matter?

30
Amsterdam Sunday, April 1, 12

Upload: dominiek-ter-heide

Post on 13-May-2015

1.927 views

Category:

Technology


0 download

DESCRIPTION

My talk at the Amsterdam Node Meetup (meetup.com/amsnode): A brief introduction of Node.js and why I think it matters.

TRANSCRIPT

Page 1: What is Node and Why does it Matter?

Amsterdam

Sunday, April 1, 12

Page 2: What is Node and Why does it Matter?

What is Node and why does it matter?

Sunday, April 1, 12

Page 3: What is Node and Why does it Matter?

@dominiek

Sunday, April 1, 12

Page 4: What is Node and Why does it Matter?

[email protected], April 1, 12

Page 5: What is Node and Why does it Matter?

Node.js?

Sunday, April 1, 12

Page 6: What is Node and Why does it Matter?

// Server-side Javascript

Sunday, April 1, 12

Page 7: What is Node and Why does it Matter?

V8 JavaScript Engine

Sunday, April 1, 12

Page 8: What is Node and Why does it Matter?

// Asynchronous

Ruby Node.js

Sunday, April 1, 12

Page 9: What is Node and Why does it Matter?

// Asynchronous

Ruby Node.js

Sunday, April 1, 12

Page 10: What is Node and Why does it Matter?

All operating system functionality can be accessed asynchronously

Node is built for concurrency

Node requires you to think event-driven and non-linear

Sunday, April 1, 12

Page 11: What is Node and Why does it Matter?

// Callback Nightmare

Sunday, April 1, 12

Page 12: What is Node and Why does it Matter?

Sunday, April 1, 12

Page 13: What is Node and Why does it Matter?

// Seq()

Sunday, April 1, 12

Page 14: What is Node and Why does it Matter?

Sunday, April 1, 12

Page 15: What is Node and Why does it Matter?

One language to rule them all (in theory)

Learning node is all about becoming very skilled at JavaScript and event-driven programming

Sunday, April 1, 12

Page 16: What is Node and Why does it Matter?

Why Node Matters

Sunday, April 1, 12

Page 17: What is Node and Why does it Matter?

Sunday, April 1, 12

Page 18: What is Node and Why does it Matter?

Have a monsterous DB setup

Cache the shit out of everything

Making the servers more lightweight

Scaling Rails

Sunday, April 1, 12

Page 19: What is Node and Why does it Matter?

Reducing Server-side Complexity

Smaller requests

Ajax and JSON (very cachable!)

More requests, we want real-time

UI logic on the client

Sunday, April 1, 12

Page 20: What is Node and Why does it Matter?

Shift Happens

Sunday, April 1, 12

Page 21: What is Node and Why does it Matter?

Source: Synaptify.comSunday, April 1, 12

Page 22: What is Node and Why does it Matter?

Source: Synaptify.comSunday, April 1, 12

Page 23: What is Node and Why does it Matter?

Less Web, More App

Sunday, April 1, 12

Page 24: What is Node and Why does it Matter?

Sever-side becomes a true “App” Interface (aka API)

UI flow belongs to the client

Data over Documents

Sunday, April 1, 12

Page 25: What is Node and Why does it Matter?

More JSON

Routing on the Client

Templates move to the Client too

Static pages matter less

Sunday, April 1, 12

Page 26: What is Node and Why does it Matter?

Separation between API/platform and UI/client becomes more vivid.

Developing apps in a team becomes easier.

Automated testing becomes a lot more managable, less client-server integration tests.

Increased mashupability

Node is perfect for this new “data hub” role of the server-side

Sunday, April 1, 12

Page 27: What is Node and Why does it Matter?

Node.js HTML5<3

Sunday, April 1, 12

Page 28: What is Node and Why does it Matter?

Increased Javascript capabilities in the browser are a big part of the Node mindset

Sunday, April 1, 12

Page 29: What is Node and Why does it Matter?

Amsterdam Node Meetup

Node.jsHTML5

Client-side MVC

Real-time CommunicationBrowser Storage

Client-side Routing

NoSQL

CachingAPI Design

Activity Streams

Unit TestingModule LoadingCross-environment Javascript

Load Balancing

Sunday, April 1, 12

Page 30: What is Node and Why does it Matter?

[email protected]

Thank you!

Sunday, April 1, 12