Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I have no real experience with PHP, but I've done plenty of Python back-end web services consumed by front-end clients in a variety of languages and environment. SOAP is the only technology, out of those I've tried, that has mostly left a sour taste in my mouth -- too much "ceremony"/overhead. (Back in the far past I also tried Corba and, as soon as I was trying to interoperate among independed implementations for different languages, the feeling wasn't all that different;-).</p> <p>XML-RPC, JSON, and protocol buffers, all proved quite usable for me.</p> <p>Protocol buffers is what we normally use within Google, and I'm not sure what you find so under-documented about them -- please ask specific questions and I'll see what I can do to make our documentation better, officially or unofficially! Their main advantage is that they're so "tight" on the wire -- minimal overhead with maximum flexibility. JSON is great, too -- and not just for ease of use in Javascript clients, either: sometimes I've used it as the default format for communication among different languages, too, when no JS was involved at all!</p> <p>Once you have your web app set up to emit (say) a protocol buffer, it's not hard <em>at all</em> to make it able to emit XML or JSON on request - one ?outputformat=JSON extra parameter in the GET request is all it takes, and picking the right output serializer is trivially easy (in Python, but, I'm sure, in PHP as well).</p> <p>"Getting strongly typed objects" on your C# end is, in my view, a job you can best do in a C# layer on your end. No direct experience with that, but, for example, I <em>have</em> wrapped reception of protocol buffers in C++ into factory classes that spewed out perfectly formed and statically typed objects (or raised exceptions when the incoming data was not semantically correct); I know it wouldn't be any harder for JSON or XML, and I very much doubt it would be any harder for Java, C#, Python if you cared, or any other language that's any use at all in the real world!-)</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