Supported Languages And Platforms
Mongrel2 uses ZeroMQ and by using that it supports a ton of programming languages and platforms, but more importantly supports them all in the same way with the same configuration.
Mongrel2 fans have written quite a few handlers already for many different languages. Here's the list of currently supported languages and platforms, in alphabetical order:
- C++: mongrel2-cpp
- C: mongrel2chandler
- Clojure: ring-mongrel2-adapter
- Common Lisp: cl-mongrel2 and m2cl
- Scheme: Mongrel2 for Chicken Scheme
- Haskell: web-mongrel2
- Java: MoJaHa and Mongrel2J
- Lua: mongrel2-lua
- .NET: m2net
- PHP: m2php
- Perl: Plack-Handler-Mongrel2 and AnyEvent-Mongrel2
- Python: wsgid and Mongrel2-WSGI-Handler (old?)
- Ruby: m2r and rack-mongrel2
- Node.js: m2node.
- Nim: nim-mongrel2
Mongrel2 works with man WSGI, Rack, Plack and similar framework middleware systems, so most framework should operate with it out of the box. In addition to that, there's Mongrel2 specific frameworks that don't require any middleware and take advantage of Mongrel2 new protocol features:
- Tir is a Lua framework written to show how to do direct frameworks with Mongrel2.
- Strelka is a full-featured Ruby framework.
- Brubeck is an asynchronous, non-blocking web framework written in Python.
- Bamboo is a Tir derivative with a bunch more features.
- Photon is a PHP framework similar to Tir and way faster than PHP.
It is very easy to create a handler, you should read the manual about handlers for information on writing one for your language.