Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to Node.js

3,177 views

Published on

This is the slide deck from the popular "Introduction to Node.js" webinar with AMD and DevelopIntelligence, presented by Joshua McNeese. Watch our AMD Developer Central YouTube channel for the replay at https://www.youtube.com/user/AMDDevCentral.

Published in: Technology
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/39pMlLF ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❶❶❶ http://bit.ly/39pMlLF ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Introduction to Node.js

  1. 1. Introduction to Node.js Joshua McNeese Develop Intelligence
  2. 2. Introductions Hi, my name is Joshua McNeese and I’m a JavaScript programmer.
  3. 3. Agenda What is Node.js? How does it work? What is it good for? Some cool examples Where can you learn more?
  4. 4. Node.js history First published in 2009 by Ryan Dahl, sponsored by Joyent Inspired by the file upload bar on Flickr npm introduced in 2011 Microsoft partnered with Joyent in 2011 to provide a native Windows version Dahl stepped aside as project lead in 2012 to pursue new research projects
  5. 5. The future is bright! After 5 years since its release 3rd most popular project on Github 2 million downloads a month Over 20 million downloads of v0.10+ In use by large brands such as Goldman Sachs, eBay, Conde Nast, Dow Jones, Apple, Yahoo and many more Companies are hiring Since Jan `10, the number of Node.js positions have increased more than 90,000% Interest is high Google search trends have increased year over year, even when other “hot” technologies decline (RoR) or remain the same (Obj-C)
  6. 6. So what is Node.js? “Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. 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.”
  7. 7. Uh… what? Unless you are already familiar with real-time application development, this possibly sounds like techno-babble So let’s break that down!
  8. 8. It’s JavaScript! Code is parsed using Google’s V8 JavaScript engine, originally developed for Chrome The good news is that if you already know JavaScript, learning Node.js is fairly easy The bad news is that it’s not like the front-end JavaScript you are probably familiar with
  9. 9. It’s event-driven Much like frontend JavaScript, Node.js code executes in an “event loop”
  10. 10. What is an “Event Loop”? According to MDN: “The Event Loop is a queue of callback functions. When an async function executes, the callback function is pushed into the queue. The JavaScript engine doesn't start continue processing the event loop until the code after an async function has executed.”
  11. 11. Non-blocking I/O Working hand-in-hand with JavaScript’s asynchronous nature, any I/O is delegated to a separate pool of threads Callbacks to execute once I/O operations are completed are added to the event loop for future execution This is one of the cornerstones of Node’s speed and scalability Why? Because I/O is expensive
  12. 12. A little comparison…
  13. 13. The Node.js way
  14. 14. NPM Bundled with Node.js, similar to CPAN, PEAR, Ruby gems or Python eggs There’s pretty much a package for everything* Impressive stats: > 104k packages > 146 million downloads last week > 599 million downloads last month Super easy to use: npm install express
  15. 15. package.json
  16. 16. Some cool examples A webserver in 5 lines? Preposterous! Query a pooled mysql connection? No problem!
  17. 17. Streams too? Most I/O is handled by streams, so it’s easy to do things like encrypt, compress or otherwise modify streaming data:
  18. 18. What is it good for? Node.js is good for lightweight, non-CPU intensive network applications APIs Real-time applications, pub/sub, chat servers Streaming data Proxies Command-line utilities Remember that Node.js is still in “beta”, but can be successfully deployed in production environments
  19. 19. Where can you learn more? Node.js Info http://nodejs.org http://howtonode.org http://www.npmjs.org http://www.codewars.com http://www.developintelligence.com/catalog/web-development-training/ nodejs Developer Info Learn about future webinars with AMD Developer Central: http://developer.amd.com Watch this webinar replay: www.youtube.com/user/AMDDevCentral Learn when the replay is posted: Follow @AMDDevCentral on Twitter Download this deck: http://www.slideshare.net/DevCentralAMD
  20. 20. Q&A Any questions?
  21. 21. Thank You! See you next time!

×