《Thrift官方文档》Thrift支持的语言
Apache Thrift 支持语言
最后修改时间: 2018-03-06
Thrift支持多种编程语言,它具有一组引人注目的测试套件,展示了大量案例用法,这些案例包含了在不同语言、协议、传输器的数千种可能组合中的大多数。对每种语言,一般有一个Thrift所需的最低版本和支持类库,有些库是必需的、有些是可选的。下面的信息可以帮你评估能否在你的项目中使用Thrift。很明显,要维护这样一个矩阵是很复杂的,在某些情况下信息可能不准确。如果你发现有错误,请通过邮件列表告知我们。
Apache Thrift具有两种可选的构建系统。autoconf
是目前最完备的构建系统,被用于构建所有支持的语言。cmake
构建系统是为了取代autoconf
而设计的,只不过这种替换需要相当长的时间才能完成。
“语言/库版本”一栏标明了在Apache Thrift持续集成环境(Appveyor, Travis)下测试通过的最低和最高版本。每种语言的其它版本,虽然未经全面的测试,但也有可能被支持,更多详情可查阅每种语言lib目录下的README文件。请注意,尽管Thrift可能包含了对某种语言的协议、传输器和服务器的支持,但在整个构建过程中,它们可能并未经过同等的测试。项目最终的集成测试称为“交叉”测试,它会执行由跨语言的客户端和服务器相互通信而构成的测试矩阵。
语言 | 何时开始支持 | 构建系统 | 经过测试的语言/库版本 | 底层传输器 | 传输包装器 | 协议 | 服务器 | 公开问题 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
autoconf | cmake | Min | Max | Domain | File | Memory | Pipe | Socket | TLS | Framed | http | zlib | Binary | Compact | JSON | Multiplex | Forking | Nonblocking | Simple | Threaded | ThreadPool | |||
ActionScript | 0.3.0 | ![]() |
![]() |
ActionScript 3 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ActionScript | |
C (glib) | 0.6.0 | ![]() |
![]() |
2.48.2 | 2.54.0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
C (glib) |
C++ | 0.2.0 | ![]() |
![]() |
C++98 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
C++ | |
C# | 0.2.0 | ![]() |
![]() |
.NET 3.5 / mono 3.2.8.0 | .NET 4.6.1 / mono 4.6.2.7 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
C# (.NET) |
Cocoa | 0.2.0 | ![]() |
![]() |
unknown | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Cocoa | |
Common Lisp | 0.12.0 | ![]() |
![]() |
SBCL 1.4.5 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Common Lisp | |
Dlang | 0.9.0 | ![]() |
![]() |
2.073.2 | 2.077.1 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
D |
Dart | 0.10.0 | ![]() |
![]() |
1.22.1 | 1.24.3 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Dart |
Delphi | 0.8.0 | ![]() |
![]() |
2010 | unknown | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Delphi |
.NET Core | 0.11.0 | ![]() |
![]() |
2.1.4 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
.NET Core | |
Erlang | 0.3.0 | ![]() |
![]() |
18.3 | 20.0.4 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Erlang |
Go | 0.7.0 | ![]() |
![]() |
1.7.6 | 1.10 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Go |
Haskell | 0.5.0 | ![]() |
![]() |
7.10.3 | 8.0.2 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Haskell |
Haxe | 0.9.3 | ![]() |
![]() |
3.2.1 | 3.4.4 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Haxe |
Java (SE) | 0.2.0 | ![]() |
![]() |
1.8.0_151 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Java SE | |
Java (ME) | 0.5.0 | ![]() |
![]() |
unknown | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Java ME | |
Javascript | 0.3.0 | ![]() |
![]() |
unknown | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Javascript | |
Lua | 0.9.2 | ![]() |
![]() |
5.1.5 | 5.2.4 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Lua |
node.js | 0.6.0 | ![]() |
![]() |
6.x | 8.x | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
node.js |
OCaml | 0.2.0 | ![]() |
![]() |
4.04.0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
OCaml | |
Perl | 0.2.0 | ![]() |
![]() |
5.22.1 | 5.26.0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Perl |
PHP | 0.2.0 | ![]() |
![]() |
7.0.22 | 7.1.8 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
PHP |
Python | 0.2.0 | ![]() |
![]() |
2.7.12, 3.5.2 | 2.7.14, 3.6.3 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Python |
Ruby | 0.2.0 | ![]() |
![]() |
2.3.1p112 | 2.3.3p222 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Ruby |
Rust | 0.11.0 | ![]() |
![]() |
1.17.0 | 1.21.0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Rust |
Smalltalk | 0.2.0 | ![]() |
![]() |
unknown | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Smalltalk | |
语言 | 何时开始支持 | autoconf | cmake | Min | Max | Domain | File | Memory | Pipe | Socket | TLS | Framed | http | zlib | Binary | Compact | JSON | Multiplex | Forking | Nonblocking | Simple | Threaded | ThreadPool | 公开问题 |
构建系统 | 经过测试的语言/库版本 | 底层传输器 | 传输包装器 | 协议 | 服务器 |
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Thrift官方文档》Thrift支持的语言
借博主宝地一用,给大家推荐一个最近很火的接口管理工具apipost,很好用,有时间可以试试