您當(dāng)前的位置是:  首頁 > 新聞 > 國內(nèi) >
 首頁 > 新聞 > 國內(nèi) >

開發(fā)WebRTC使用什么語言?

2016-10-17 09:56:31   作者:james.zhu   來源:   評論:0  點擊:


  工欲善其事,必先利其器。通常一提到WebRTC,大家潛意識中就是javascript,可能很多人認為webrtc 僅需要javascript。No,NO。事實上需要多種語言來實現(xiàn)不同的環(huán)境。
\
  關(guān)于使用什么樣的語言,我們不好一下子解釋明白,讓我們看看這個圖,從環(huán)境中學(xué)習(xí)吧。
\
  這里包括了服務(wù)器端的應(yīng)用和客戶端的應(yīng)用。我們一個一個地聊。
  看看web app 吧
  Web app
  這也是大部分用戶想到的webrtc 應(yīng)用,通過瀏覽器運行,當(dāng)然包括了html和通常所說的。
\
  移動端 app
  當(dāng)涉及到移動端 app的話,這里有兩種方式來實現(xiàn)webrtc。 一種就是我們剛才說的Java Script
  最常見的方式是把webrtc嵌入在app的環(huán)境中,編譯成一個SDK。SDK采用的語言包括?
  • C, C++
  • Java 支持安卓的環(huán)境開發(fā)
  • Objective-C 或者 Switft 支持蘋果的 iOS 開發(fā)
  當(dāng)然也有人使用 C#,通過Xamarin開發(fā)。
\
  Embedded app
  嵌入式的設(shè)備是一個比較有意思的應(yīng)用場景。很多情況下,可能因為很多原因,用戶需要把WebRTC 嵌入到其他的設(shè)備中。兩種常用的開發(fā)語言:
  • C, C++ 如果用戶經(jīng)常看看 webrtc.org 的代碼,你就會發(fā)現(xiàn)這些代碼可以直接使用,方便!
  • 其他語言可以支持 WebRTC 協(xié)議的,Go 浪 是否值得試試。
  當(dāng)然大部分環(huán)境下,C 語言是最合適的開發(fā)語言。
  TURN server
\
  STUN 和 TURN 服務(wù)器端是必須的。大部分情況下,你不需要在這些服務(wù)器端做任何修改,當(dāng)然也不會做重新編譯。使用僅僅是使用它。這里無需其他開發(fā)語言介入。大部分開源項目最受歡迎的語言還是C 語言。木得選。
  Media server
\
  媒體服務(wù)器有非常大的區(qū)別,我們目前大部分情況下討論的是幾個開源的webrtc 媒體服務(wù)器Jitsi/Kurento和后來的Kurento/Janus。 當(dāng)然 kuento 被收購就不提了,傷心!
  媒體服務(wù)器選擇的語言根據(jù)平臺的不同有所不同。Jitsi 是基于Java。Kurento 是基于C/C++,還有前端語言Java或者Node.js。Janus 大部分使用C 語言。
  媒體服務(wù)器通過REST 接口或者Websocket來和終端進行通信,你可以使用任何你喜歡的語言來開發(fā)。當(dāng)然目前最受歡迎的就是Node.js。
  App/Signaling server
\
  信令服務(wù)器用來實現(xiàn)移動app, web app 或者嵌入式app的信令管理和通信。它負責(zé)TURN服務(wù)器的處理,管理用戶密碼,以便來控制媒體服務(wù)器。
  答案還是非常簡單,使用你自己喜歡的語言來開發(fā),例如:
  • Node.js
  • Java
  • PHP
  • Erlang
  • Ruby 和 Python
  • Net
  總之一句話,按照自己的喜好,使用什么語言方便就使用方便就使用什么語言。
  當(dāng)然最后看看PortSIP 的WebRTC 網(wǎng)關(guān),肯定有驚喜!
\

專題