您当前的位置是:  首页 > 新闻 > 国内 >
 首页 > 新闻 > 国内 >

开发WebRTC使用什么语言?

2016-10-17 09:56:31   作者:james.zhu   来源:   评论:0  点击:


  工欲善其事,必先利其器。通常一提到WebRTC,大家潜意识中就是javascript,可能很多人认为webrtc 仅需要javascript。No,NO。事实上需要多种语言来实现不同的环境。
\
  关于使用什么样的语言,我们不好一下子解释明白,让我们看看这个图,从环境中学习吧。
\
  这里包括了服务器端的应用和客户端的应用。我们一个一个地聊。
  看看web app 吧
  Web app
  这也是大部分用户想到的webrtc 应用,通过浏览器运行,当然包括了html和通常所说的。
\
  移动端 app
  当涉及到移动端 app的话,这里有两种方式来实现webrtc。 一种就是我们刚才说的Java Script
  最常见的方式是把webrtc嵌入在app的环境中,编译成一个SDK。SDK采用的语言包括?
  • C, C++
  • Java 支持安卓的环境开发
  • Objective-C 或者 Switft 支持苹果的 iOS 开发
  当然也有人使用 C#,通过Xamarin开发。
\
  Embedded app
  嵌入式的设备是一个比较有意思的应用场景。很多情况下,可能因为很多原因,用户需要把WebRTC 嵌入到其他的设备中。两种常用的开发语言:
  • C, C++ 如果用户经常看看 webrtc.org 的代码,你就会发现这些代码可以直接使用,方便!
  • 其他语言可以支持 WebRTC 协议的,Go 浪 是否值得试试。
  当然大部分环境下,C 语言是最合适的开发语言。
  TURN server
\
  STUN 和 TURN 服务器端是必须的。大部分情况下,你不需要在这些服务器端做任何修改,当然也不会做重新编译。使用仅仅是使用它。这里无需其他开发语言介入。大部分开源项目最受欢迎的语言还是C 语言。木得选。
  Media server
\
  媒体服务器有非常大的区别,我们目前大部分情况下讨论的是几个开源的webrtc 媒体服务器Jitsi/Kurento和后来的Kurento/Janus。 当然 kuento 被收购就不提了,伤心!
  媒体服务器选择的语言根据平台的不同有所不同。Jitsi 是基于Java。Kurento 是基于C/C++,还有前端语言Java或者Node.js。Janus 大部分使用C 语言。
  媒体服务器通过REST 接口或者Websocket来和终端进行通信,你可以使用任何你喜欢的语言来开发。当然目前最受欢迎的就是Node.js。
  App/Signaling server
\
  信令服务器用来实现移动app, web app 或者嵌入式app的信令管理和通信。它负责TURN服务器的处理,管理用户密码,以便来控制媒体服务器。
  答案还是非常简单,使用你自己喜欢的语言来开发,例如:
  • Node.js
  • Java
  • PHP
  • Erlang
  • Ruby 和 Python
  • Net
  总之一句话,按照自己的喜好,使用什么语言方便就使用方便就使用什么语言。
  当然最后看看PortSIP 的WebRTC 网关,肯定有惊喜!
\

专题