rapid application with node.js

19
A Love Story: Presented in II acts Shane Hansen Software Engineer Whitane Technologies, LLC

Upload: shane-hansen

Post on 06-Dec-2014

6.266 views

Category:

Documents


1 download

DESCRIPTION

Rapid Application Development with Node.js. Presentation from the Utah Open Source Conference describing node.js and how it can be used for rapid application development.

TRANSCRIPT

  • 1. A Love Story: Presented in II acts Shane Hansen Software Engineer Whitane Technologies, LLC

2. Shane Hansen Utah based Software Engineer Likes it when things are easy 3.

  • Rapid Development Frameworks are important because they:
    • Encourage exploration
    • Decrease costs associated with each iteration
    • Decrease time to market

4. 5.

  • The web is doing I/O wrong
  • Serial I/O is bad for business
  • Facebook knows this (tornado)

6.

  • We need to start thinking like this
  • But how can we parallelize?

7.

  • Fork worker processes, free up the main process
  • Postgres does it so it cant be all bad
  • Processes cant share data except through expensive IPC mechanisms.
  • Variations cgi/preforking/fastcgi

8.

  • Run jobs in separate thread of execution
  • MySQL does it so it cant be all bad
  • Threads can share data easily
  • Deadlocking, thread safety, other headaches.

9.

  • Event driven
  • memcached does it, so it cant be all bad
  • One address space, One thread, no headaches
  • Sucessors (epoll/kqueue) are the basis for solving the C10K problem.
  • Paired with event loops
  • Node does this.

10. 11.

  • The language you love to hate
  • Lisp in cs clothing anonymous functions, closures.
  • Culture of asynchnonous, callback driven code patterns
  • Google made it fast. Like really fast.
  • Node does this too.

12. 13. 14.

  • 2k+ projects on github
  • 500+ packages available in npm
  • Database drivers
  • Web frameworks
  • Worker threads
  • Parsers
  • Testing frameworks
  • Payment gateway integrations
  • Web analytics

15. Want cruft free url routing? 16. Wantto use web sockets now? 17. Want truly real time analytics? Gilt.com does. 18. Want to make some money as an amazon affiliate? 19. Want to leverage existing javascript frameworks?