《Thrift官方文件》Thrift支援的語言
阿新 • • 發佈:2018-12-22
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 | C++98 | C++ | |||||||||||||||||||||
C# | 0.2.0 | .NET 3.5 / mono 3.2.8.0 | .NET 4.6.1 / mono 4.6.2.7 | |||||||||||||||||||||
Cocoa | 0.2.0 | unknown | Cocoa | |||||||||||||||||||||
Dlang | 0.9.0 | 2.073.2 | 2.077.1 | D | ||||||||||||||||||||
Dart | 0.10.0 | 1.22.1 | 1.24.3 | Dart | ||||||||||||||||||||
Go | 0.7.0 | 1.7.6 | 1.10 | Go | ||||||||||||||||||||
Haxe | 0.9.3 | 3.2.1 | 3.4.4 | Haxe | ||||||||||||||||||||
Lua | 0.9.2 | 5.1.5 | 5.2.4 | Lua | ||||||||||||||||||||
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 | ||||||||||||||||||||
0.2.0 | 2.7.12, 3.5.2 | 2.7.14, 3.6.3 | ||||||||||||||||||||||
Ruby | 0.2.0 | 2.3.1p112 | 2.3.3p222 | Ruby | ||||||||||||||||||||
Rust | 0.11.0 | 1.17.0 | 1.21.0 | Rust | ||||||||||||||||||||
語言 | 何時開始支援 | autoconf | cmake | Min | Max | File | Memory | Pipe | Socket | TLS | Framed | http | zlib | JSON | Multiplex | Forking | Nonblocking | Simple | Threaded | ThreadPool | 公開問題 | |||
構建系統 | 經過測試的語言/庫版本 | 底層傳輸器 | 傳輸包裝器 | 協議 | 伺服器 |