22
Exploring Node.js Andrew Lively Lead Developer, Information Technology Solutions Center

Exploring nodejs

Embed Size (px)

Citation preview

Page 1: Exploring nodejs

Exploring Node.jsAndrew Lively

Lead Developer, Information Technology Solutions Center

Page 2: Exploring nodejs

Overview• Who is the ITSC?• What is Node.js?• History• Current State• Use: Web Applications/RESTful APIs• Use: Desktop Applications• Use: Command Line Tools• Future of Node.js

Page 3: Exploring nodejs

Who is the ITSC?• School of Information

Technology at UC• Staffed by

Students/Faculty/Staff• Develop solutions for

wide range of clients

Page 4: Exploring nodejs

What is Node.js?• Chrome’s V8 engine• Event-driven

architecture• Non-blocking I/O• Core is C/C++

Page 5: Exploring nodejs
Page 6: Exploring nodejs
Page 7: Exploring nodejs

History• 2009 - Created by Ryan Dahl• 2010 - Sponsorship from Joyent• 2011 - First public release & NPM• 2014 - Node.js/io.js split• 2015 - Creation of Node.js Foundation• 2015 - Node v4.0 released

Page 8: Exploring nodejs

Current State• Node.js Foundation/Linux

Foundation• 23 Foundation Members• Node - v4.2.6 / v.5.5.0• NPM - v2.14.16 / v3.6.0

Page 9: Exploring nodejs

Who Uses Node.js?

Page 10: Exploring nodejs

Use: Web Applications/RESTful APIs

• Handle HTTP requests• Render HTML• Send files/data• Websockets

Page 11: Exploring nodejs

Example

Page 12: Exploring nodejs

Demo• Simple web application• Simple RESTful API• Simple chat application

Page 13: Exploring nodejs

Use: Desktop Applications• HTML, CSS, JavaScript• Cross-platform• Chromium

Page 14: Exploring nodejs

Example

Page 15: Exploring nodejs

Demo• Simple word processor

Page 16: Exploring nodejs

Use: Command Line Tools• Use JavaScript, not Bash• Handle user input• Manipulate files

Page 17: Exploring nodejs

Example

Page 18: Exploring nodejs

Demo• learnyounode• Cube

Page 19: Exploring nodejs

Future of Node.js• ECMAScript 2015/2016 (ES6/ES7)• Microsoft Chakra• Internationalization

Page 20: Exploring nodejs

Questions?

Page 22: Exploring nodejs

Sources• Kunkle, Jeff. "Node.js Explained." Node.js Explained.

<http://www.slideshare.net/JeffKunkle/nodejs-explained>

• "Node.js Roadmap." Node Foundation <https://github.com/nodejs/node/blob/master/ROADMAP.md>

• San Souci, Benjamin, and Maude Lemair. “NodeJS." <http://mcgill-csus.github.io/student_projects/NodeJSPresentation.pdf>