1 Star 0 Fork 0

Hiram / thrift

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
LANGUAGES.md 50.45 KB
一键复制 编辑 原始数据 按行查看 历史
Hiram 提交于 2020-04-05 21:47 . init

Apache Thrift Language Support

Guidance For: 0.13.0 | 0.12.0 | 0.11.0

Thrift supports many programming languages and has an impressive test suite that exercises most of the languages, protocols, and transports. Each build exercises a matrix of thousands of possible combinations. Each language typically has a minimum required version as well as support libraries - some mandatory and some optional. The information provided below will help you assess whether you can use Apache Thrift with your project. Obviously this is a complex matrix to maintain and may not be correct in all cases - if you spot an error please inform the developers using the mailing list, or better yet, Edit on GitHub.

Apache Thrift currently uses two build systems. The autoconf build system is the most complete and builds all supported languages, however it does not support Windows.. The cmake build system works on Linux and Windows, and has been designated by the project to replace autoconf however this transition will take quite some time to complete. During that transition, the cmake build will not support all languages.

The Language/Library Levels indicate the minimum and maximum versions that are used in the continuous integration environments (Appveyor, Travis) for Apache Thrift. Other language levels may be supported for each language, however tested less thoroughly; check the README file inside each lib directory for additional details. Note: while a language may contain support for protocols, transports, and servers, the extent to which each is tested as part of the overall build process varies. The definitive integration test for the project is called the "cross" test which executes a test matrix with clients and servers communicating across languages.

Thrift's core transport (supported by all languages) is TSocket. Thrift's core protocol is TBinary, supported by all languages except for JavaScript.

Language Since Build Systems Lang/Lib Levels (Tested) Low-Level Transports Transport Wrappers Protocols Servers Open Issues
autoconf cmake Min Max Domain  File  Memory  Pipe  Socket  TLS  Framed Header  http   zlib  Binary Compact  JSON  Multiplex Forking Nonblocking Simple Threaded ThreadPool
ActionScript 0.3.0 Yes Yes FLEX SDK 4.6 Yes Yes Yes ActionScript
C (glib) 0.6.0 Yes Yes 2.48.2 2.56.0 Yes Yes Yes Yes Yes Yes Yes Yes Yes C (glib)
C++ 0.2.0 Yes Yes C++11 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes C++
C# 0.2.0
Deprecated
use netstd
Yes .NET 3.5 / mono 3.2.8.0 .NET 4.6.1 / mono 4.6.2.7 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes C# (.NET)
Common LISP 0.12.0 Yes SBCL 1.4.x Yes Yes Yes Yes Yes Yes Yes Common LISP
Dlang 0.9.0 Yes 2.075.1 2.083.2 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes D
Dart 0.10.0 Yes 1.24.3 2.x Yes Yes Yes Yes Yes Yes Yes Dart
Delphi 0.8.0 2010 unknown Yes Yes Yes Yes Yes Yes Yes Yes Delphi
.NET Core 0.11.0
Deprecated
use netstd
Yes 2.1.4 2.2.101 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes .NET Core
.NET Standard 0.13.0 Yes .NET 4.5+, .NET Standard 2.x Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes .NET Standard
Erlang 0.3.0 Yes 18.3 20.0.4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Erlang
Go 0.7.0 Yes 1.7.6 1.11.4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Go
Haskell 0.5.0 Yes Yes 7.10.3 8.0.2 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Haskell
Haxe 0.9.3 Yes 3.2.1 3.4.4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Haxe
Java (SE) 0.2.0 Yes Yes 1.8.0_151 1.8.0_191 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Java SE
Java (ME) 0.5.0 unknown Yes Yes Yes Yes Yes Yes Java ME
Javascript 0.3.0 Yes ES5 ES6 Yes Yes Yes Yes Yes Javascript
Lua 0.9.2 Yes 5.1.5 5.2.4 Yes Yes Yes Yes Yes Yes Yes Yes Lua
node.js 0.6.0 Yes 6.x 8.x Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes node.js
node.ts 0.12.0 Yes 3.1.6 Yes Yes Yes Yes node.ts
OCaml 0.2.0 4.04.0 Yes Yes Yes Yes Yes OCaml
Perl 0.2.0 Yes 5.22.1 5.26.1 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Perl
PHP 0.2.0 Yes 7.0.22 7.2.10 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes PHP
Python 0.2.0 Yes Yes 2.7.12, 3.5.2 2.7.15rc1, 3.6.7 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Python
Ruby 0.2.0 Yes 2.3.1p112 2.5.1p57 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Ruby
Rust 0.11.0 Yes 1.17.0 1.30.0 Yes Yes Yes Yes Yes Yes Yes Rust
Smalltalk 0.2.0 unknown Yes Yes Smalltalk
Swift 0.12.0 Yes 4.2.1 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Swift
Language Since autoconf cmake Min Max Domain  File  Memory  Pipe  Socket  TLS  Framed Header  http   zlib  Binary Compact  JSON  Multiplex Forking Nonblocking Simple Threaded ThreadPool Open Issues
Build Systems Lang/Lib Levels (Tested) Low-Level Transports Transport Wrappers Protocols Servers
Go
1
https://gitee.com/gbat/thrift.git
git@gitee.com:gbat/thrift.git
gbat
thrift
thrift
e17b6bba5132

搜索帮助

53164aa7 5694891 3bd8fe86 5694891