微软本来就不在意浏览器开源,虽然firefox要求开源,但微软对edge的目标是占有市场,闭源并不是必须的。所以因为开源协议原因放弃firefox并不是核心的理由。
因为微软在浏览器上的真正对手是chrome,而在浏览器上微软已经渐渐干不过谷歌了,谷歌已经控制了生态
微软如果用ff,不会有任何变化,谷歌大不了对待ff如同对待edge一样,继续打个落花流水,所以微软最方便的做法就是用魔法打败魔法,把cef拿来,开个分支开发自己的edge,服务全部改成微软自家的
浏览器的基本组成是GUI和html解析引擎。后来js在网页中的作用越来越大,所以js引擎也被单独拎出来。目前的edge,这三样大概就是win32 API包括mfc wpf这一套东西,edgeHTML, 和chakra
chrome的html解析引擎是webkit fork出来的blink。js引擎是v8。而GUI框架它是在哪个操作系统上就用那个操作系统的主流框架,比如在mac上就是Cocoa,在linux上就是gtk,windows它基于win32 API开发了一个自己的框架
Firefox的html引擎是gecko,js是spidermonkey,GUI是XUL,XUL是一个基于各平台得底层api开发的一个高层的跨平台的图形界面框架,所以还有好些软件是用XUL来做自己的界面。而且XUL和gecko spidermonkey耦合得挺深,要用基本上就都要用。
性能什么的算一部分原因但没说到点子上最根本的原因是chromium主要使用BSD许可,Firefox(Geock)使用MPL2.0,Microsoft一个商业公司当然选择闭源
因为edge大家都是用来下载cr了,那就算是换ff也摆脱不了用ff下载cr的命运,所以干脆一步到位帮用户把cr下载好算了。所以微软不是选择了cr,微软只是单纯地抛弃了edge而已。至于为什么选择cr,因为选择ff才需要理由。
其实简单来说,还是哪个产品对用户的吸引力更强烈才是最重要,用户对YouTube需求比较强烈,他就可能因为谷歌在YouTube上对微软浏览器的限制本身可能存在一些不足,同时用户的吸引不是很强,因而导致用户放弃使用,假如用户离不开Windows,不可或缺,然后微软做一些限制..........TG:li9047