Thrift-like API generator for client and server