I plan to write web app which will work mostly on client side (AJAX) and RESTfully communicate with server using JSON and have another client which will use XML (or eventually JSON too). This app will have client authentication but is rather simple and small.
Which is better choice for this RESTfully web service: WCF or ASP.NET MVC?
The right answer is probably: It depends.
If you're already familiar with one of the technologies, then maybe you should use that one, but I'd rather use ASP.NET MVC.
I am now going to mention two articles by Omar Al Zabir
If you want to go down the ASP.NET MVC route then read this: http://www.codeproject.com/Articles/233572/Build-truly-RESTful-API-and-website-using-same-ASP
If you're going to use WCF then read this about improving scalability: http://www.codeproject.com/Articles/234085/Fixing-WCF-to-build-highly-scalable-async-REST-API
The cool thing about using MVC is that you can write a RESTful app and expose a RESTful API all with the same code.
EDIT: Just to clarify, the MVC RESTful project DOES support GET, PUT, POST, DELETE, so it really is truly RESTful. See the documentation here: http://code.msdn.microsoft.com/Build-truly-RESTful-API-194a6253
specifically this bit: