PC端与Mac端的实现
随着技术的进步,现在开发 Windows PC 端和 Mac 端客户端,可选的方案要比以前多得多,既可以使用最原始的 Native 方案通过底层 API 实现,也可以选择 Electron 这种基于 Chrome 浏览器内核的方案,当然还可以采用最新的 Flutter 方案。
以下简单对比一下不同实现方案的优劣,从而可以让你根据自身的情况选出最适合的方案。
先来看 Native 方案。Native 方案的好处是,开发出的应用程序执行效率高,占用空间小,且可以针对 WebRTC 做深度定制化开发。但其劣势也明显,开发成本高(包括人员成本、时间成本等),工作量大(要针对 Windows 和 Mac 系统编写两套代码)。
Electron 方案要比 Native 方案廉价得多。由于 Electron 是基于 Chrome 浏览器的,所以只需要编写一套代码就可以在各终端上运行,且效果一致。更难得的是,Electron 方案使用的开发语言是 JavaScript,所以其开发效率是非常高的。当然它也有劣势,最大的劣势是不像 Native 那样灵活、可定制化。
Flutter 是最近才刚开始流行的技术方案,由 Google 推出。其目标是开发一套代码让所有类型的终端都可执行,并且执行效率与 Native 类似。如果这个目标真能实现的话,研发人员的工作量将大幅下降。
对于通过 WebRTC 实现 PC 端和 Mac 端实时通信应用而言,上述三种方案中 Electron 更好一些。一方面 Electron 方案目前已经是一套成熟的解决方案,被广泛应用;另一方面,其开发成本低廉,只需利用本书第 5 章中介绍的内容就可以很快实现它。
当然,具体选择哪种方案还要根据自身的条件以及业务的需求。换句话说,业务的需求才是我们选择技术路线的根本。