
开发一款浏览器内核需要学习哪些方面的知识
推荐于2016-12-02 · 知道合伙人互联网行家
关注

展开全部
到底是开发浏览器,还是开发浏览器内核?
如果是前者,那么 C# 一般就是用 Webbrowser 或继承重写它,了不起再多个 Webkit,剩下的都是功能上的问题了。
如果是后者,放弃 C# 乃至 .NET 框架吧!浏览器内核和系统内核一样,需要用 C/C++ 来开发。目前世界上只有4种主流的内核,Trident(IE)、Gecko(Firefox)、KHTML、WebKit(Chrome),还有些小众的,比如Presto(Opera)之类的,就不罗列了,但是很遗憾的是,即使是“小众”国内也没有一款(我指的是可以真正投入使用的,你可能会说 UC 那个所谓的“自主研发”内核,它是参照 WebKit 和 KHTML 两个开源项目该改写的,并非真正的“自主”)!
如果是真的是内核开发,那涵盖的知识领域范围太广了,大概的知识:
● 精通 C/C++。
● 对HTML、CSS、XML有深刻的理解,因为要根据这些内容生成网页结构。
● 对程序绘图、数字成像要有极高的造诣,能根据HTML、CSS、IMAGE生成相应页面。
● 精通HTTP、HTTPS、FTP等协议。
● 掌握W3C规范。
● 能对javascript虚拟运行环境解释。
所以,全世界真正有能力开发内核就那么几家大公司,而且都不是一个人完成的,国内的浏览器公司全都是在用人家的内核加以封装。
如果是前者,那么 C# 一般就是用 Webbrowser 或继承重写它,了不起再多个 Webkit,剩下的都是功能上的问题了。
如果是后者,放弃 C# 乃至 .NET 框架吧!浏览器内核和系统内核一样,需要用 C/C++ 来开发。目前世界上只有4种主流的内核,Trident(IE)、Gecko(Firefox)、KHTML、WebKit(Chrome),还有些小众的,比如Presto(Opera)之类的,就不罗列了,但是很遗憾的是,即使是“小众”国内也没有一款(我指的是可以真正投入使用的,你可能会说 UC 那个所谓的“自主研发”内核,它是参照 WebKit 和 KHTML 两个开源项目该改写的,并非真正的“自主”)!
如果是真的是内核开发,那涵盖的知识领域范围太广了,大概的知识:
● 精通 C/C++。
● 对HTML、CSS、XML有深刻的理解,因为要根据这些内容生成网页结构。
● 对程序绘图、数字成像要有极高的造诣,能根据HTML、CSS、IMAGE生成相应页面。
● 精通HTTP、HTTPS、FTP等协议。
● 掌握W3C规范。
● 能对javascript虚拟运行环境解释。
所以,全世界真正有能力开发内核就那么几家大公司,而且都不是一个人完成的,国内的浏览器公司全都是在用人家的内核加以封装。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询