文章图片
【腾讯|据报道称“浏览器内核有上千万行代码”,浏览器内核真的很复杂吗?】
文章图片
文章图片
首先可以明确的是 , 浏览器是少有的大型软件系统 , 其复杂性可以媲美我们每天使用的Windows系统 。 微软甚至放弃自家的IE和edge内核 , 转而使用chrome内核 , chrome优秀是一方面 , 更重要是开发浏览器内核太复杂 , 太烧钱 。 当然微软已经不是当年的微软了!现在微软也在全力拥抱开源 , 甚至在win10里面支持内置wsl的Linux内核 。 如果说某一天我们使用的Windows系统 , 基于Linux内核开发 , 大家也不要太惊讶 。
随着微软加入chrome阵营 , chrome实力大增 , 会加速甩开其他浏览器!说不定某一天苹果也宣布使用chrome内核!从浏览器的基本功能来看 , 其核心模块有:网络请求 , 我们知道 , 目前web系统 , 都是BS模式的 , 也就是系统相关的页面 , 发布在服务器端的 。 页面解析 , 请求到页面之后 , 需要对页面进行解析 , 先认识页面 , 然后才能进行下一步工作 。 页面渲染 , 解析了页面之后 , 就可以对页面进行渲染了 。 渲染完成之后 , 我们就看到了web系统的界面了 。 这些功能 , 似乎看起来没有那么复杂!那浏览器的几千万行代码 , 到底在实现了哪些复杂的功能呢?
此外 , 现代浏览器还具备以下特点:跨平台 , 这意味着你不能简单调用操作系统的api来实现功能 , 必须考虑跨平台问题 , 还有可能要从头实现某些重要功能 。 高性能 , Google专门为Google chrome打造了高性能的V8引擎 , 来解释执行JS代码 。 如今结合nodeJS , V8引擎甚至已经在后端发力 。
高标准 , 也就是各种web标准要支持到位 , 要做到上图一样 , 360度无死角 , 才能成为优秀的浏览器 。 HTML , HTML用来描述网站页面的界面骨架 , 由一棵树形结构的HTML文档构成 , 也称为DOM树 。 在HTML中 , 记录了构成页面的各种控件及其位置 , 参数等等基本结构 。 页面加载的时候 , 是最先下载HTML并解析的 。 HTML最新版本是HTML5 , 其中加入了大量新特性 , 浏览器必须支持这些最新的HTML特性 , 才能算是一个合格的浏览器 。
CSS , CSS则是负责页面的美化装修 。 什么前景色 , 背景色 , 圆角边框 , 边框颜色 , 边框大小等等 。 基本上你能想到的界面调整参数 , CSS里面都应有尽有!这也正是浏览器的一个复杂模块 。 目前最新版本是CSS3 。 JavaScript , 界面骨架有了 , 也可以做的非常漂亮 , 尽善尽美了 。 那页面的逻辑怎么办?没错 , JavaScript就是负责前端页面的逻辑部分的 。 从最早期的前端输入校验 , 发展到如今的近乎万能 , JavaScript经历了漫长的发展 。
其中也经历了各种标准和版本 , 目前的主流版本是ES6 , 浏览器为了支持最新的JavaScript , 也需要开发巨量代码 。 WebGL , WebGL是最近几年才火爆起来的一个特性 , 他将web的渲染性能大幅提升 , 因为通过WebGL , 我们可以直接调用显卡进行渲染和计算 , 这使得在web端实现大型的三维引擎成为可能 。 比如Three.js , Cesium等等 , 为了支持webgl , 浏览器又必须进行大量开发工作 。
- 苹果|马化腾称,腾讯只是一家普通公司,这是谦虚说法还是有所顾虑?
- 百度|马化腾的一句话,腾讯市值一小时暴涨1400亿港币,马云格局还是小了
- 物联网|据说,物联网也可以称之为“一张想想的网络”,物联网世界是梦
- 传感器|称年轻,我们怎么做到经济自由?
- 李现与eStar队员合影并晒签名队服 称“感谢冠军战队的礼物”
- 腾讯研究院|构建美好数字社会,腾讯2022科技向善创新周成功举办
- 芯片|据称索尼和台积电计划在日本投资70亿美元建芯片工厂
- 恶意软件|报告称 2021 年 Linux 的恶意软件样本数量增加了 35%
- 腾讯|投出公司的总市值顶两个科创板,腾讯在给哪些企业当“后台”?
- 河南消费者协会主任就辛巴燕窝事件发声。老狗称李四拉不了。