SlideShare a Scribd company logo
Essential Node for Web Developers
 Mike Amundsen
  Principal API Architect
  Layer 7 Technologies
 @mamund
                                    1
Preliminaries
 Mike Amundsen
 Web Architect, Author, Presenter
 Software Explorer
 Principal API Architect, Layer 7 Technologies




                                                  2
Last Project
 Building Hypermedia APIs w/ HTML5 & Node (November 2011)
 Methodology for writing/maintaining business-level APIs in the cloud.
 Real solutions for real use-cases.
 Three Servers, Six Clients, 200+ pages.




                                                                          3
Next Project
 RESTful Web APIs (Summer 2013)
 Co-author with Leonard Richardson
 Follow up to Richardson/Ruby’s RESTful Web Services (2007)
 Focus on scaling up application-level interoperability with hypermedia
 Beyond HTML, XML, and JSON is …




                                                                           4
Let's start with a bit of
     Philosophy...



                            5
Unix Philosophy

   Write programs that do one thing and do it well.
   Write programs to work together.
   Write programs to handle text streams.

    - Douglas McIlroy




                                                       6
Node Philosophy (possible)

•   Write modules that do one thing and do it well.
•   Write modules to work together.
•   Write modules to handle streams and events




                                                      7
Eric S. Raymond's Design Rules

"Rule of Diversity: Distrust all claims for one true way"

  -- Eric S. Raymond




                                                            8
Reminder:

 My Examples
   are NOT
      the
"One True Way"

                 9
Essentially, Node is...

"...a platform built on Chrome's JavaScript runtime for
easily building fast, scalable network applications."




                                                          10
Node is…

“Node is intended to be a very low-level library that
facilitates higher-level extensions and abstractions in
userland. It is more like C than it is like Python, and that is
by design.” – Isaac Schlueter




                                                                  11
And it's different because....

"Node.js uses an event-driven, non-blocking I/O model that
 makes it lightweight and efficient, perfect for data-
 intensive real-time applications that run across distributed
 devices."




                                                                12
So that means....

"Most of the applications we're writing today are heavily
I/O bound. Because of the event-driven nature of
JavaScript (and Node by extension), whatever you write
with it is going to be very fast." - Guillermo Rauch
(socket.io)




                                                            13
But does it run on my machine?

"To build a diverse open source
community, you need a wide
platform," - Paul Querna,
Rackspace




                                  14
Essential NodeJS on a single slide (well, almost)




                                                    15
Ok, introduce me then...




                           16
Hello, Node!




               17
Ok, but how do I deliver files?




                                  18
Ok, but how do I deliver files using streams?




                                                19
Not bad; how about HTML Forms?




                                 20
Cool. Now how about a server-side mash-up?




                                             21
Yeah, but how do you write files?




                                    22
What about HTTP Authentication?




                                  23
Ok, but where's that "sockets" stuff?




                                        24
Alright, how about MVC & routing?




                                    25
Hey, this is all 'async' & hard, right?




                                          26
So are there lots of libraries?




                                  27
So are there lots of libraries?




                                  28
Bottom Line…
 While Node *is* Javascript, the ethos is closer to C/Unix
 Don’t get tied up in the “Evented IO” stuff; just write your code and enjoy
 Async is the future; learn to love the future.
 Get to know the NPM library; lots of good stuff there.
 Check out Shelly Power’s “Learning Node” book




                                                                                29
So....




         30
Node.js...
•   “Low-level” Javascript
•   Non-blocking I/O
•   Cross Platform
•   Pages, Forms, Services, APIs, Sockets
•   MVC, Templates, ...
•   1000s of available libraries
•   All Open Source

    Oh yeah, one more question...


                                            31
Why not join the hipster Nod-ies?




                                    32
Essential Node for Web Developers
 Mike Amundsen
  Principal API Architect
  Layer 7 Technologies
 @mamund
                                    33

More Related Content

Similar to Essential Node.js for Web Developers from Developer Week 2013 (20)

PDF
Node.js #digpen presentation
GOSS Interactive
 
PPT
Node js
Chirag Parmar
 
PDF
Node.js Web Development .pdf
Abanti Aazmin
 
PPTX
Introduction to Node js
Pragnesh Vaghela
 
PDF
Node.js
Matt Simonis
 
PPT
Node and Azure
Jason Gerard
 
KEY
20120802 timisoara
Richard Rodger
 
PPTX
Node js - Enterprise Class
Glenn Block
 
KEY
Dcjq node.js presentation
async_io
 
PDF
Nodejs a-practical-introduction-oredev
Felix Geisendörfer
 
PDF
Developing realtime apps with Drupal and NodeJS
drupalcampest
 
PDF
Node.js for beginner
Sarunyhot Suwannachoti
 
PDF
Node.JS briefly introduced
Alexandre Lachèze
 
PPT
Node js beginner
Sureshreddy Nalimela
 
KEY
20120306 dublin js
Richard Rodger
 
PDF
NodeJS
LinkMe Srl
 
ODP
Riereta Node.js session 3 (with notes)
Tekno Paul
 
PPTX
Node.JS| Coffeescript Presentation
Sam Frons
 
PPTX
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Bitnami
 
PDF
Introduction to Node.js
Aaron Rosenberg
 
Node.js #digpen presentation
GOSS Interactive
 
Node js
Chirag Parmar
 
Node.js Web Development .pdf
Abanti Aazmin
 
Introduction to Node js
Pragnesh Vaghela
 
Node.js
Matt Simonis
 
Node and Azure
Jason Gerard
 
20120802 timisoara
Richard Rodger
 
Node js - Enterprise Class
Glenn Block
 
Dcjq node.js presentation
async_io
 
Nodejs a-practical-introduction-oredev
Felix Geisendörfer
 
Developing realtime apps with Drupal and NodeJS
drupalcampest
 
Node.js for beginner
Sarunyhot Suwannachoti
 
Node.JS briefly introduced
Alexandre Lachèze
 
Node js beginner
Sureshreddy Nalimela
 
20120306 dublin js
Richard Rodger
 
NodeJS
LinkMe Srl
 
Riereta Node.js session 3 (with notes)
Tekno Paul
 
Node.JS| Coffeescript Presentation
Sam Frons
 
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Bitnami
 
Introduction to Node.js
Aaron Rosenberg
 

More from CA API Management (20)

PDF
Api architectures for the modern enterprise
CA API Management
 
PDF
Mastering Digital Channels with APIs
CA API Management
 
PDF
Takeaways from API Security Breaches Webinar
CA API Management
 
PDF
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
CA API Management
 
PDF
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
CA API Management
 
PDF
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
CA API Management
 
PPTX
API Monetization: Unlock the Value of Your Data
CA API Management
 
PDF
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
CA API Management
 
PDF
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
CA API Management
 
PDF
Enabling the Multi-Device Universe
CA API Management
 
PDF
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
CA API Management
 
PDF
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
CA API Management
 
PPTX
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
CA API Management
 
PDF
Adapting to Digital Change: Use APIs to Delight Customers & Win
CA API Management
 
PPTX
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
CA API Management
 
PDF
5 steps end to end security consumer apps
CA API Management
 
PPTX
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
CA API Management
 
PDF
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
CA API Management
 
PPTX
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...
CA API Management
 
PDF
Using APIs to Create an Omni-Channel Retail Experience
CA API Management
 
Api architectures for the modern enterprise
CA API Management
 
Mastering Digital Channels with APIs
CA API Management
 
Takeaways from API Security Breaches Webinar
CA API Management
 
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
CA API Management
 
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
CA API Management
 
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
CA API Management
 
API Monetization: Unlock the Value of Your Data
CA API Management
 
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
CA API Management
 
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
CA API Management
 
Enabling the Multi-Device Universe
CA API Management
 
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
CA API Management
 
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
CA API Management
 
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
CA API Management
 
Adapting to Digital Change: Use APIs to Delight Customers & Win
CA API Management
 
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
CA API Management
 
5 steps end to end security consumer apps
CA API Management
 
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
CA API Management
 
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
CA API Management
 
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...
CA API Management
 
Using APIs to Create an Omni-Channel Retail Experience
CA API Management
 
Ad

Essential Node.js for Web Developers from Developer Week 2013

  • 1. Essential Node for Web Developers  Mike Amundsen Principal API Architect Layer 7 Technologies  @mamund 1
  • 2. Preliminaries  Mike Amundsen  Web Architect, Author, Presenter  Software Explorer  Principal API Architect, Layer 7 Technologies 2
  • 3. Last Project  Building Hypermedia APIs w/ HTML5 & Node (November 2011)  Methodology for writing/maintaining business-level APIs in the cloud.  Real solutions for real use-cases.  Three Servers, Six Clients, 200+ pages. 3
  • 4. Next Project  RESTful Web APIs (Summer 2013)  Co-author with Leonard Richardson  Follow up to Richardson/Ruby’s RESTful Web Services (2007)  Focus on scaling up application-level interoperability with hypermedia  Beyond HTML, XML, and JSON is … 4
  • 5. Let's start with a bit of Philosophy... 5
  • 6. Unix Philosophy  Write programs that do one thing and do it well.  Write programs to work together.  Write programs to handle text streams. - Douglas McIlroy 6
  • 7. Node Philosophy (possible) • Write modules that do one thing and do it well. • Write modules to work together. • Write modules to handle streams and events 7
  • 8. Eric S. Raymond's Design Rules "Rule of Diversity: Distrust all claims for one true way" -- Eric S. Raymond 8
  • 9. Reminder: My Examples are NOT the "One True Way" 9
  • 10. Essentially, Node is... "...a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications." 10
  • 11. Node is… “Node is intended to be a very low-level library that facilitates higher-level extensions and abstractions in userland. It is more like C than it is like Python, and that is by design.” – Isaac Schlueter 11
  • 12. And it's different because.... "Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data- intensive real-time applications that run across distributed devices." 12
  • 13. So that means.... "Most of the applications we're writing today are heavily I/O bound. Because of the event-driven nature of JavaScript (and Node by extension), whatever you write with it is going to be very fast." - Guillermo Rauch (socket.io) 13
  • 14. But does it run on my machine? "To build a diverse open source community, you need a wide platform," - Paul Querna, Rackspace 14
  • 15. Essential NodeJS on a single slide (well, almost) 15
  • 16. Ok, introduce me then... 16
  • 18. Ok, but how do I deliver files? 18
  • 19. Ok, but how do I deliver files using streams? 19
  • 20. Not bad; how about HTML Forms? 20
  • 21. Cool. Now how about a server-side mash-up? 21
  • 22. Yeah, but how do you write files? 22
  • 23. What about HTTP Authentication? 23
  • 24. Ok, but where's that "sockets" stuff? 24
  • 25. Alright, how about MVC & routing? 25
  • 26. Hey, this is all 'async' & hard, right? 26
  • 27. So are there lots of libraries? 27
  • 28. So are there lots of libraries? 28
  • 29. Bottom Line…  While Node *is* Javascript, the ethos is closer to C/Unix  Don’t get tied up in the “Evented IO” stuff; just write your code and enjoy  Async is the future; learn to love the future.  Get to know the NPM library; lots of good stuff there.  Check out Shelly Power’s “Learning Node” book 29
  • 30. So.... 30
  • 31. Node.js... • “Low-level” Javascript • Non-blocking I/O • Cross Platform • Pages, Forms, Services, APIs, Sockets • MVC, Templates, ... • 1000s of available libraries • All Open Source Oh yeah, one more question... 31
  • 32. Why not join the hipster Nod-ies? 32
  • 33. Essential Node for Web Developers  Mike Amundsen Principal API Architect Layer 7 Technologies  @mamund 33