My favorites | Sign in
Project Home Downloads Wiki Source
Search
for
ByLanguage  
REST Frameworks by language.
Updated Nov 11, 2011 by lau...@cs.luc.edu

Introduction

This page lists REST frameworks categorized by supported languages.

Details

Framework RMM conneg*conditional**cache***JavaJAX-RS.NETRubyPythonPerlPHPErlangJavaScriptClojureScalaHaskell
ActiveResource ? ? Yes
BlueEyes ? ? ? ? Yes
Bowler ? ? ? ? Yes
compojureREST ? Yes Yes
Crochet ? ? ? ? Yes
Django REST framework ? Yes Yes Yes Yes
Exyus 3[1] Yes Yes Yes Yes
FRAPI 3[2] Yes Yes Yes
Jersey 2 Yes Yes Yes
MindTouchDream ? ? Yes
OpenRasta ? ? Yes
Pinky ? ? ? ? Yes
Recess ? Yes Yes
Resauce ? ? Yes
Resourceful ? Yes Yes Yes Yes
RESTEasy ? Yes Yes Yes Yes Yes
Restfulie 3 Yes Yes Yes Yes Yes Yes
Restish ? Yes Yes ? Yes
REST in Akka? ? ? ? Yes
REST in HAppS ? ? ? ? Yes
REST In Lift ? ? ? ? Yes
REST In Python ? ? Yes
REST In WCF? ? Yes
Restlet ? Yes Yes Yes
Persevere 3 Yes Yes Yes
Piston ? Yes Yes Yes Yes
Scalatra ? ? ? ? Yes
Sinatra 2 Yes Yes Yes
Snooze ? ? Yes
spray ? ? ? ? Yes
Taimen 2 Yes Yes Yes
TastyPie ? Yes Yes Yes Yes
Unfiltered ? ? ? ? Yes
VRaptor ? ? ? ? Yes Yes
Webmachine 2 Yes Yes Yes Yes
Yesod ? ? ? ? Yes

* conneg = Content Negotiation for Media Types, understanding and using the Accept-* headers

** conditional = Conditional requests on the client side, using Last-Modified and ETag headers, providing support for 304 Not Modified response. Server side support to conditional requests: providing both headers and 304 when required.

*** cache = Caching support on the client side (used for conditional requests and expiration policies through cache headers)

[1] Exyus does not automatically generate hypermedia links but developers have full control over representations via XSLT transformations

[2] FRAPI does not automatically generate hypermedia but instructs users on how to have full control over their representation.

Comment by jlou...@gmail.com, May 14, 2010

Hi there,

The Restlet Framework has full support for conditional methods and caching control in its version 2.0. See this mapping document: http://wiki.restlet.org/docs_2.0/13-restlet/27-restlet/324-restlet/130-restlet.html

Restlet also offers a GWT edition, that compiles into JavaScript?. Therefore, Restlet clients can run inside browsers as well.

Thanks for updating your matrix!

Best regards, Jerome

Comment by jbren...@gmail.com, Aug 24, 2010

Could you please add RESTx (http://restx.org)? It is multi lingual (Java, Python, server-side JavaScript?): RMM: 3, conneg: Yes. Caching and conditional support on the roadmap.

Comment by jbren...@gmail.com, Aug 24, 2010

Oh, and one more thing about RESTx: It also auto-generates hypermedia descriptions of APIs and allows the creation of RESTful web services without coding.

Comment by aminu...@gmail.com, Sep 15, 2010

Please add CherryPy?. It has conneg, conditional, and cache support, and runs on Python. It is an HTTP framework (not a REST one per se), so it's difficult to assign it an RMM index. It supports arbitrary verbs and media types, so it doesn't put any obstacles in the way of levels 2 and 3. But it doesn't have them baked in, either.


Sign in to add a comment
Powered by Google Project Hosting