为什么 VSCode 不用 Qt 而要用 Electron?
在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Qt 的资料从专业入门到高级教程」,
点个关注在评论区回复"888"之后私信回复"888",全部无偿共享给大家!!!
Qt和electron的版权问题。Qt是商业授权的,而electron是MIT协议的。
前者要求如果软件是有商业目的的就需要授权,不授权的话对方就可以起诉你(Qt是由公司开发的,这家公司先被诺基亚收购,然后2012年,还被Digia收购了)。
后者则宽松很多,electron允许其他使用、复制、修改、合并、出版发行、散布、再授权及贩售软件及软件的副本。而且还能将其改为别的授权条款(也就是不必和electron一样使用MIT协议)。
而开发者只需要在软件和软件的所有副本中包含版权声明和许可声明即可。
对于微软这种大公司而言,选择更加宽松的electron肯定比Qt安全,虽然VSCode免费使用的,但VSCode并不是开源的,微软开源的是vscodium(vscode是在vscodium上加了点自己的东西,有点类似谷歌的Chrome和chromium),VSCode也是有商业版权的,所以使用Qt的话要去跟Qt扯皮,所以微软会尽量避免使用这种框架。
另外就像别的回答提到的,vscode脱胎于JavaScript开发的网页编辑器 Monaco,所以他也只能用JavaScript进行开发。微软虽然用不了Qt但它自己也有很多很不错的C++库和C#库,但这些都不是JavaScript的,所以用不了,只能去用electron库。
最后,使用JavaScript不是很好嘛?开发插件会很快,VSCode丰富的插件生态不就得益于此?
性能?使用JavaScript的VSCode的打开速度虽然没有其他语言快,但也不慢了,起码比IDEA这种快得多