hackference 2014 - node.js, the awesome parts

54
Hackference 2014 HACK 1 Dan Jenkins The Awesome Parts

Upload: dan-jenkins

Post on 18-Dec-2014

684 views

Category:

Technology


2 download

DESCRIPTION

The awesome parts of Node.js

TRANSCRIPT

Page 1: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

1

Dan Jenkins

The Awesome Parts

Page 2: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

2

About me

I’m Dan Jenkins I’m primarily a Node.js developer

Been working with Node since 0.4

Founder of Nimble Ape Ltd

!

Twitter @dan_jenkins Web nimbleape.com

Page 3: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

3

Node.js

Server Side Javascript

Page 4: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

4

easily build fast, scalable network applications

event-driven

lightweight and efficient

non-blocking I/O

perfect for data-intensive real-time applications that run across distributed devices

Taken from nodejs.org

Page 5: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

5

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.

Page 6: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

6

Single Threaded

Page 7: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

7

Asynchronous

Page 8: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

8

Lightweight

Page 9: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

9

Customisable

Page 10: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

10

Non-blocking I/O

Page 11: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

11

Community Driven

Page 12: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

12

How To Get It

Page 13: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

13

www.nodejs.org

Page 14: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

14

Homebrew

Page 15: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

15

Nodesource | Chris Lea

Unofficial Apt Repos

Page 16: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

16

Awesome-ness

Page 17: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

17

Readability

Page 18: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

18

Both server side & client side

Page 19: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

19

Some people run same code client side & server side

routes & templates

Page 20: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

20

Personally, it’s just less context

switching

Page 21: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

21

npm

Page 22: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

22

95 169 Packages

94 996 Thursday (-173)94 809 Wednesday (-360)94 698 Tuesday (-471)

Page 23: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

23

Impressive

Page 24: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

24

Not really…

we build apps & modules in

different ways

Page 25: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

25

It’s like comparing apples and oranges

Page 26: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

26

Modularisation

Page 27: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

27

Small, reusable code

Small modules, greater power

However, with great power, comes great responsibility

Page 28: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

28

Testability

Page 29: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

29

Moar testing mechanismsMocha Should

Chai Sinon

Nock | Hock Supertest Istanbul

JSHint | JSCS

Page 30: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

30

Rapid

Page 31: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

31

Page 32: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

32

Page 33: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

33

Learning!

Page 34: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

34

Node Schoolnodeschool.io

Page 35: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

35

Node School Events Worldwide!

Page 36: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

36

Workshop Modules

npm install -g learnyounode

Page 37: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

37

howtonodehowtonode.org

Page 38: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

38

nodebots

nodebots.io

Page 39: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

39

Community

Page 40: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

40

Node Weekly & Javascript Weekly

javascriptweekly.com

nodeweekly.com

Peter Cooper Press | @peterc

Page 41: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

41

nodeup.com @dshaw

Page 42: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

42

Mailing List

https://groups.google.com/forum/#!forum/nodejs

Page 43: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

43

Stack Overflow

node.js tag

Page 44: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

44

IRC

#nodejs

irc.freenode.net

Page 45: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

45

Node Security Projectnodesecurity.io

Page 46: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

46

Build ANYTHING

Page 47: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

47

Grunt Gulp Yo

Custom

CLI Tools

Page 48: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

48

Weberversexpress restify hapi

loopback

Page 49: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

49

Websockets

socket.io engine.io

Page 50: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

50

Client Side Code

Browserify

Page 51: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

Node-webkit Atom-shell

51

Native apps!

Page 52: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

52

Hardware & Software

Anyone can do hardware development now

Page 53: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

53

Tessel Arduino (spark core etc)

Johnny-five Beagle Bone Raspberry Pi

Xbox controllers / Playstation controllers Ar Drones     

Page 54: Hackference 2014 - Node.js, the awesome parts

Hackference 2014

HACK

54

Thanks! Questions?

Dan Jenkins

@dan_jenkins