Node.js @ Art.sy      Craig Spaeth      @craigspaeth      craig@art.syWednesday, December 7, 2011
e Story     » Started off typical Rails MVC     » Evolving into a ick-Client app using Rails MVC + API + Backbone.js     ...
Why Node?     » Because it’s cool.                              New Kids on the Block circa 1980-somethingWednesday, Decem...
Why Node?     » Because it’s cool.     » It’s plenty lightweight for a thin-server + thick-client structure     » It t’s n...
How Art.sy Uses Node (As a Server)     » Authenticates with Art.sy’s API     » Stores access token in session     » Serves...
How Art.sy Uses Node (As a Dev. Environment)      PRE-PROCESSORS     » Coffeescript           Prettier version of Javascrip...
How Art.sy Uses Node (As a Dev. Environment)      PRE-PROCESSORS                              CoffeescriptWednesday, Decemb...
How Art.sy Uses Node (As a Dev. Environment)      PRE-PROCESSORS                              JadeWednesday, December 7, 2...
How Art.sy Uses Node (As a Dev. Environment)      PRE-PROCESSORS                              StylusWednesday, December 7,...
How Art.sy Uses Node (As a Dev. Environment)      PRE-PROCESSORS     » Compiles assets on page refresh in development & pu...
How Art.sy Uses Node (As a Dev. Environment)      TESTING     » Test server-side & client-side javascript using Jasmine-no...
How Art.sy Uses Node (As a Dev. Environment)      TESTING     » Zombie.js = super fast & painless acceptance tests     » E...
Setting Up Node for Production     » Heroku for hosting     » Amazon CDN for assets     » Cake tasks & Jenkins for Continu...
ank you.      Craig Spaeth      @craigspaeth      craig@art.syWednesday, December 7, 2011
Upcoming SlideShare
Loading in …5
×

Node at artsy

2,968 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,968
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
10
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Node at artsy

  1. 1. Node.js @ Art.sy Craig Spaeth @craigspaeth craig@art.syWednesday, December 7, 2011
  2. 2. e Story » Started off typical Rails MVC » Evolving into a ick-Client app using Rails MVC + API + Backbone.js » Our main repo is growing into a giant beast... lets decouple into separate Node Apps MODEL API NODE PROXY BACKBONE.JSWednesday, December 7, 2011
  3. 3. Why Node? » Because it’s cool. New Kids on the Block circa 1980-somethingWednesday, December 7, 2011
  4. 4. Why Node? » Because it’s cool. » It’s plenty lightweight for a thin-server + thick-client structure » It t’s nicely as a proxy server being non-blocking and all » Languages that can be used on the client and server (Javascript, Coffeescript, Jade, Haml.js, etc.) » Lots of great tools for client-side development and testing » Heroku already supports itWednesday, December 7, 2011
  5. 5. How Art.sy Uses Node (As a Server) » Authenticates with Art.sy’s API » Stores access token in session » Serves up the initial page » Acts as a proxy server to our APIWednesday, December 7, 2011
  6. 6. How Art.sy Uses Node (As a Dev. Environment) PRE-PROCESSORS » Coffeescript Prettier version of Javascript » Jade Feature rich template engine for the client and server » Stylus & Nib Stylesheets made awesomeWednesday, December 7, 2011
  7. 7. How Art.sy Uses Node (As a Dev. Environment) PRE-PROCESSORS CoffeescriptWednesday, December 7, 2011
  8. 8. How Art.sy Uses Node (As a Dev. Environment) PRE-PROCESSORS JadeWednesday, December 7, 2011
  9. 9. How Art.sy Uses Node (As a Dev. Environment) PRE-PROCESSORS StylusWednesday, December 7, 2011
  10. 10. How Art.sy Uses Node (As a Dev. Environment) PRE-PROCESSORS » Compiles assets on page refresh in development & pushes to a CDN in production » .gitignore directory where assets are compiled » Coffeescript & Jade on the client & server » It’s like you wouldn’t even know Javascript/HTML/CSS existed ;)Wednesday, December 7, 2011
  11. 11. How Art.sy Uses Node (As a Dev. Environment) TESTING » Test server-side & client-side javascript using Jasmine-node » Independently test client-side models without a browserWednesday, December 7, 2011
  12. 12. How Art.sy Uses Node (As a Dev. Environment) TESTING » Zombie.js = super fast & painless acceptance tests » Easily mock API responses with a simple node serverWednesday, December 7, 2011
  13. 13. Setting Up Node for Production » Heroku for hosting » Amazon CDN for assets » Cake tasks & Jenkins for Continuous IntegrationWednesday, December 7, 2011
  14. 14. ank you. Craig Spaeth @craigspaeth craig@art.syWednesday, December 7, 2011

×