1. 程式人生 > >《Thrift官方文件》Thrift支援的語言

《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  File Memory  Pipe Socket  TLS Framed  http  zlib  JSON Multiplex Forking Nonblocking Simple Threaded ThreadPool
C++ 0.2.0 Yes Yes C++98 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes C++
C# 0.2.0 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
Cocoa 0.2.0
unknown Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Cocoa
Dlang 0.9.0 Yes 2.073.2 2.077.1 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes D
Dart 0.10.0 Yes 1.22.1 1.24.3 Yes Yes Yes Yes Yes Yes Yes Dart
Go 0.7.0 Yes 1.7.6 1.10 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Go
Haxe 0.9.3 Yes 3.2.1 3.4.4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Haxe
Lua 0.9.2 Yes 5.1.5 5.2.4 Yes Yes Yes Yes Yes Yes Yes Yes Lua
OCaml 0.2.0 4.04.0 Yes Yes Yes Yes Yes OCaml
Perl 0.2.0 Yes 5.22.1 5.26.0 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Perl
PHP 0.2.0 Yes 7.0.22 7.1.8 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes PHP
0.2.0 Yes Yes 2.7.12, 3.5.2 2.7.14, 3.6.3 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Ruby 0.2.0 Yes 2.3.1p112 2.3.3p222 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Ruby
Rust 0.11.0 Yes 1.17.0 1.21.0 Yes Yes Yes Yes Yes Yes Yes Rust
語言 何時開始支援 autoconf cmake Min Max  File Memory  Pipe Socket  TLS Framed  http  zlib  JSON Multiplex Forking Nonblocking Simple Threaded ThreadPool 公開問題
構建系統 經過測試的語言/庫版本 底層傳輸器 傳輸包裝器 協議 伺服器