像飞书、微信、skype、钉钉这类PC端桌面程序前后端都是用什么写的?

kidddder
  • 557

如题,公司让写一个即时聊天类的软件。参考上面的软件。通讯是用的第三方(环信?),现在想摸摸底,他们这些大厂都是用什么写的?
性能 扩展性 可移植 通用性

回复
阅读 9.9k
3 个回答

微信和钉钉后台主要是 C++ 和 Java 混合开发,PC 客户端是 CEF(就是一套壳 Chromium 浏览器)。

飞书的前身是 Lark ,后端语言多了 Golang,前端还是一样。至于飞书有没有变化我不太清楚。

Skype 后端不清楚,不过我估计大概率也是有 C++,前端是 C++(基于 Qt)。


你会发现大厂们用的基本都一样,因为底层网络通信必然绕不开 C++,至于再上层一点的封装,比如群组系统、用户体系之类的,就是各家自己选了,基本也都是 Java 啥的,国内互联网厂商标配。


PC 客户端的话可以考虑 Electron,上述厂商因为进入市场较早,那时候 Electron 还不成熟,只有更底层一些的 CEF 可以用。现在的话要技术选型的话我估计它们也会选 Electron。

后端的话你都用第三方服务了,核心部分也跟你没啥关系,爱用啥用啥吧。

  1. 前端可以考虑 web 类(electron)、winform、Java 等。(我会用 electron)
  2. 后端因为通讯用了第三方,你们要做的多半是用户管理之类的低频功能,用什么都可以。
  3. 具体大厂怎么写的,我不太确定。

前端建议使用 electron,优点:

  1. 上手难度低,基本和写网页差不多,好招人。
  2. 跨端 windows/mac/linux/web,做好分层,基本一套代码加上少量 web/pc 适配代码就可以。
    缺点是:
  3. 包体积很大。
  4. 性能稍差,体验不如 QT、原生丝滑。

因为 electron 的优点实在太明显了,飞书、钉钉、slack 基本都是这一套。

后端不同公司不一样,飞书主要是 Go 语言。
这个根据你们公司目前后端语言来就行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏