CS应用,即桌面应用,相比BS应用,开发相对麻烦些,需要兼顾各种终端,Windows和Mac还好,国产化的终端就得兼容各种各样的国产系统和CPU类型。
既然是做CS应用,那么也就可以调用系统调用,应用、文件操作、硬件设备、插件等。不再需要考虑web安全限制,也不用适配各种浏览器。
做桌面应用,可以用原生应用和混合应用。
原生应用
如果是要求好的性能效果,且C++的开发人员足够,那么用C++写CS应用是很合理的。
不过从零开始自己搭建C++,整个开发流程,各种所需模块都要自己尝试,是比较复杂且容易犯错的。这很好理解,即便是自己做个web应用,不使用任何框架,那就知道多麻烦了。
也可以使用QT,跨平台C++图形用户界面应用类库框架,这框架已经非常成熟,受众也广。这样可以避免自己试错,使用成熟的开发流程和依赖模块。
但是,即使有QT这种框架,写起界面来还是不方便,至少没有web容易迅速。
混合应用
使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。常用的有Electron和NW.js。
Electron
NW.js
本质就是NodeJS+Chromium结合作为容器。NodeJS的集成,就使得你可以使用npm上的任何库,这是极大的便利;Chromium内核,可以装载web页面,不需要考虑浏览器兼容。