Slide 1

Slide 1 text

Node.JS and friends! Vlad Filippov, March, 2014

Slide 2

Slide 2 text

What is Node.JS? • A platform built using the JavaScript runtime • Open Source ( github.com/joyent/node ) • Cross-platform, install it from nodejs.org

Slide 3

Slide 3 text

Why Node.JS? • JavaScript, JavaScript everywhere! • Server-side frameworks, lots of developer tools! • Modular: 60,000+ Node.JS modules! • Works particularly well for: • JSON APIs • single page apps, realtime apps • command line tools

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

API? http://nodejs.org/api/ Buffer C/C++ Addons Child Processes Crypto Events File System HTTP HTTPS Modules Net OS Path Process Query Strings Readline REPL Stream Timers URL Utilities VM ZLIB ….

Slide 6

Slide 6 text

API: File System

Slide 7

Slide 7 text

API: HTTP

Slide 8

Slide 8 text

API: HTTP + FS

Slide 9

Slide 9 text

Module: request

Slide 10

Slide 10 text

Module: async

Slide 11

Slide 11 text

Module: q

Slide 12

Slide 12 text

What else is there? • Server Frameworks • Full Stack Frameworks • Testing Frameworks • CSS Preprocessors • Developer Tools • Native Applications • and more…

Slide 13

Slide 13 text

Servers and Frameworks

Slide 14

Slide 14 text

Full Stack

Slide 15

Slide 15 text

Testing Frameworks

Slide 16

Slide 16 text

CSS Preprocessors

Slide 17

Slide 17 text

Developer Tools

Slide 18

Slide 18 text

Native Apps

Slide 19

Slide 19 text

Native Apps

Slide 20

Slide 20 text

New Project

Slide 21

Slide 21 text

Installed it!

Slide 22

Slide 22 text

Tools: JSHint

Slide 23

Slide 23 text

Initialize

Slide 24

Slide 24 text

package.json ready

Slide 25

Slide 25 text

Install modules!

Slide 26

Slide 26 text

Installed and Saved

Slide 27

Slide 27 text

npm tips • npm install
 installs everything from “package.json” • npm install [module_name]
 install a module locally to your project, into a “node_modules” directory • npm install -g [module_name]
 installs the module globally, useful for CLI tools • npm cache clean
 clear system wide module cache

Slide 28

Slide 28 text

npm tips • npm install [module_name] --save
 saves to “dependencies” • npm install [module_name] --save-dev
 saves to “devDependencies” • npm remove [module_name]
 remove the module from “node_modules” • npm list
 will list all the modules and its dependencies in your project

Slide 29

Slide 29 text

Basic server with express

Slide 30

Slide 30 text

Basic server with express

Slide 31

Slide 31 text

Example app with express

Slide 32

Slide 32 text

Example Project: Ghost

Slide 33

Slide 33 text

Example: Ghost

Slide 34

Slide 34 text

Example: Ghost

Slide 35

Slide 35 text

Example: fxa-js-client

Slide 36

Slide 36 text

Thank you!