Currently i have a setup where my clients (web apps, iOS app etc) talks to my backend API .NET web app (Nancy) via REST calls. Nothing special.
I now have a requirement
Apache Thrift was designed to communicate with high efficiency. It was developed by Facebook (now open source), and an implementation is available for C#.
Google developed the highly efficient protocol buffers serialization mechanism. Protocol buffers does not include RPC (remote procedure call) but can be used to send data over a variety of transport mechanisms. It is also available for C# (project by SO's own Marc Gravell).