what is node and why does it matter?
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?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/1.jpg)
Amsterdam
Sunday, April 1, 12
![Page 2: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/2.jpg)
What is Node and why does it matter?
Sunday, April 1, 12
![Page 3: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/3.jpg)
@dominiek
Sunday, April 1, 12
![Page 4: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/4.jpg)
[email protected], April 1, 12
![Page 5: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/5.jpg)
Node.js?
Sunday, April 1, 12
![Page 6: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/6.jpg)
// Server-side Javascript
Sunday, April 1, 12
![Page 7: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/7.jpg)
V8 JavaScript Engine
Sunday, April 1, 12
![Page 8: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/8.jpg)
// Asynchronous
Ruby Node.js
Sunday, April 1, 12
![Page 9: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/9.jpg)
// Asynchronous
Ruby Node.js
Sunday, April 1, 12
![Page 10: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/10.jpg)
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?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/11.jpg)
// Callback Nightmare
Sunday, April 1, 12
![Page 12: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/12.jpg)
Sunday, April 1, 12
![Page 13: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/13.jpg)
// Seq()
Sunday, April 1, 12
![Page 14: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/14.jpg)
Sunday, April 1, 12
![Page 15: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/15.jpg)
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?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/16.jpg)
Why Node Matters
Sunday, April 1, 12
![Page 17: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/17.jpg)
Sunday, April 1, 12
![Page 18: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/18.jpg)
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?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/19.jpg)
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?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/20.jpg)
Shift Happens
Sunday, April 1, 12
![Page 21: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/21.jpg)
Source: Synaptify.comSunday, April 1, 12
![Page 22: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/22.jpg)
Source: Synaptify.comSunday, April 1, 12
![Page 23: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/23.jpg)
Less Web, More App
Sunday, April 1, 12
![Page 24: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/24.jpg)
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?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/25.jpg)
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?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/26.jpg)
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?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/27.jpg)
Node.js HTML5<3
Sunday, April 1, 12
![Page 28: What is Node and Why does it Matter?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/28.jpg)
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?](https://reader034.vdocuments.mx/reader034/viewer/2022051015/5552df21b4c905014c8b4ca6/html5/thumbnails/29.jpg)
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