Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Node.js and Ruby on Rails

Avatar for Adam Daniel Adam Daniel
September 12, 2012

Node.js and Ruby on Rails

A look at how you build applications in Node.js in a similar fashion to Ruby on Rails. Looks at the tools and libraries available to mimic some of the functionality of the Rails framework.

Avatar for Adam Daniel

Adam Daniel

September 12, 2012
Tweet

Other Decks in Programming

Transcript

  1. adam daniel (@fritzthemonkey) technology director at hyperquake > first professional

    gig in 1997 using MS Access 97 - netted about $2000 > early contributor to pear - started the html package (html_quickform) > consultant w/ sogeti for years - primarily php and java > been at hyperquake 5 1/2 years
  2. node.js vs ruby on rails "... a comparison of building

    the same website using Node.js and Ruby on Rails. This talk will cover how you have to think differently for the two technologies."
  3. ruby on rails !== node rails = ruby + framework

    + tools ? = node + framework + tools
  4. framework + tools > package and dependency management > build

    system > model/view/controller > scaffolding
  5. tools: package management gem/bundler <=> npm $ gem query $

    gem install $ gem uninstall $ gem query -l Gemfile $ npm search $ npm install $ npm remove $ npm ls package.json
  6. tools: build system rake <=> grunt "Grunt is a task-based

    command line build tool for JavaScript projects." concat - Concatenate files. init - Generate project scaffolding from a predefined template. lint - Validate files with JSHint. min - Minify files with UglifyJS. qunit - Run QUnit unit tests in a headless PhantomJS instance. server - Start a static web server. test - Run unit tests with nodeunit. watch - Run predefined tasks whenever watched files change. > currently 108 community plugins > jake is another popular build system
  7. mvc and scaffolding rails <=> railway "Railway is the Node.JS

    MVC framework based on ExpressJS, fully ExpressJS-compatible. It allows you to build web applications in a similar manner as in Ruby On Rails." > Full MVC+H stack > Resource-based routing > JugglingDB ORM > Multi-locale support > Coffee-script support > Generators for model, controller, scaffold > Testing: nodeunit, cucumis, code coverage reporting > Debugging: railway console > Extensions
  8. links npm - http://npmjs.org grunt - http://gruntjs.com jake - https://github.com/mde/jake

    express - http://expressjs.com railway - http://railwayjs.com tower - http://towerjs.org geddy - http://geddyjs.org