Upload
andrew-lively
View
272
Download
1
Embed Size (px)
Citation preview
Exploring Node.jsAndrew Lively
Lead Developer, Information Technology Solutions Center
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
Who is the ITSC?• School of Information
Technology at UC• Staffed by
Students/Faculty/Staff• Develop solutions for
wide range of clients
What is Node.js?• Chrome’s V8 engine• Event-driven
architecture• Non-blocking I/O• Core is C/C++
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
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
Who Uses Node.js?
Use: Web Applications/RESTful APIs
• Handle HTTP requests• Render HTML• Send files/data• Websockets
Example
Demo• Simple web application• Simple RESTful API• Simple chat application
Use: Desktop Applications• HTML, CSS, JavaScript• Cross-platform• Chromium
Example
Demo• Simple word processor
Use: Command Line Tools• Use JavaScript, not Bash• Handle user input• Manipulate files
Example
Demo• learnyounode• Cube
Future of Node.js• ECMAScript 2015/2016 (ES6/ES7)• Microsoft Chakra• Internationalization
Questions?
Repositories• Examples• Electron• Drawille
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>