4 ms·
We use Thrift a lot at my company, not just for internal communication, but for our external facing API. Larger companies like Evernote (https://dev.evernote.c
by wwarren 12y ago
We use Thrift a lot at my company, not just for internal communication, but for our external facing API.
Larger companies like Evernote (https://dev.evernote.com/doc/reference/ https://dev.evernote.com/doc/reference/) have shown that Thrift can be operated successfully at an enormous scale.
Facebook also re-forked re-open-sourced Apache Thrift (originally a Facebook project) as fbthrift: https://github.com/facebook/fbthrift https://github.com/facebook/fbthrift
- Xorlev 12y agoThe unfortunate part of public Thrift APIs is that you must either provide the IDL and hope your consumers are smart enough to work with Thrift, or you have to take the Evernote route and provide SDKs for all the languages you care to support. Admittedly, making SDKs for languages is a lot easier when codegen takes care of 80% of the work.
- lmm 12y agoMost options for an API offer you the same choice, no? If you're offering XML either you offer a wsdl and hope consumers are smart enough, or you provide SDKs for all the languages. If you're offering JSON you have to provide SDKs for all the languages, since there's not even a standard IDL.
- Xorlev 12y ago> If you're offering JSON you have to provide SDKs for all the languages, since there's not even a standard IDL. I disagree. It's best to, but if someone wants to hack together something with python/requests it's not hard to use the returned dictionary. Even with Java, we'll frequently do some requests to get representative payloads, generate models, clean them up and we're on our way. Or you could just use Map<String, Object>.