Note that there are some explanatory texts on larger screens.

plurals
  1. PONeed a better language/frameworks doing RESTful webservices
    text
    copied!<p>I'm developing out replacements for our company's web service stack. </p> <p>The current stack was developed using SOAP and had some REST endpoints manually hacked in. It's a maintenance nightmare. </p> <p>I can use any language, tech, and framework as long as it it fits the goal. </p> <p>Requirements are: </p> <ul> <li>easy for serving up RESTful services </li> <li>uses an MVC model</li> <li>supports injecting middle layers to do authentication (OAuth and Basic Auth) around calls (preferably in a declarative way)</li> <li>makes it easy to do JSON, JSONP, and Plain ol' XML (Simple XML) type serialization of the return data</li> <li>preferably has built in caching control and built in E-Tags support</li> <li>preferably using a statically typed language but this doesn't matter if the amount of code I have to write is dramatically less</li> <li>it would be awesome to have a framework that supports doing microthreaded/epoll type HTTP handling so I can easily support HTTP long polling, but this isn't a requirement </li> </ul> <p>So far I've looked at:</p> <ul> <li>.NET (C#) <ul> <li>ASP.NET MVC (simple MVC framework, would have to add the missing pieces manually to fit my requirements)</li> <li>Monorails (simple MVC framework, less supported)</li> <li>WCF (unfortunately it takes a lot of overriding to force it into submission to work nicely for consumption on clients not using WCF themselves)</li> </ul></li> <li>Python <ul> <li>Pylons (top of my list right now, but it lacks easy XML serialization)</li> <li>DJango (more traditional web framework than REST framework)</li> </ul></li> <li>Scala (still new but big startups are using it)</li> <li>Ruby on Rails (doesn't scale the way I like)</li> </ul> <p>Any other ideas or thoughts? </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload