|
Ruby |
Python |
Node.js |
| Package management |
gem
|
pip
|
npm
|
| Canonical package repo |
Rubygems
|
PyPI: Python Package Index
|
npm Registry
|
| Virtual environments |
rvm gemset
or
rbenv
|
virtualenv
+
virtualenvwrapper
|
nodeenv
|
| Dependency management |
bundle
Gemfile
|
pip
requirements.txt
|
npm
package.json
|
| Runtime management |
rvm install
|
pyenv install
|
nvm install
|
| Runtimes |
MRI
Topaz (RPython)
JRuby
REE
Rubinius
|
cPython
PyPy (RPython)
Jython
|
V8
|
Webserver interface specifications |
Rack
|
WSGI
|
JSGI (defunct)
|
| Middleware |
Rack Middleware
|
WSGI Middleware
|
Connect Middleware
|
| Web application servers |
Rack-compliant:
Passenger
Unicorn
Thin
more...
|
WSGI-compliant:
uWSGI
Gunicorn
Werkzeug
more...
|
Non-native to the
node.js culture
|
| Server-side frameworks |
Rack-compliant:
Ruby on Rails
Sinatra
more...
|
WSGI-compliant:
Django
Flask
more...
|
Meteor
Express
more...
|
| Task automation |
Rake
|
Invoke
|
Grunt
Gulp.js
|
| Remote server automation |
Capistrano
|
Fabric
|
Flightplan
Capistrano
Fabric
|
| Process monitoring & control |
God
Foreman
|
Supervisor
|
Node Foreman
node-supervisor
Forever
|
| |
Upstart
|
| Configuration management |
Puppet
Chef
|
| Containerization |
Docker
|
| Development environment automation |
Vagrant
|
| BDFLs |
Yukihiro Matsumoto 松本行弘
David Heinemeier Hansson (Rails)
|
Guido van Rossum
Adrian Holovaty (Django, Emeritus)
Jacob Kaplan-Moss (Django, Emeritus)
|
Isaac Schlueter
Ryan Dahl (Emeritus)
|
|