Chrome 和 Chrome OS 的很多方面都是通过 Chromium 项目开源的。Google
仍然保留了一部分非开源技术。一直保持私有化的 Chrome OS 的 Camera
应用程序就是其中的一部分。现在 Google 现在将它添加到 Chromium 仓库中。

早在去年的Google I/O大会上,Google就宣布了对Chrome
OS的Linux应用程序支持。这要归功于在Linux容器中安装了GNU/Linux发行版,特别是Debian
9“Stretch”。今年早些时候,Debian项目发布了Debian
10“Buster”,但Google尚未准备好在Chromebook上升级默认的Linux容器。

浏览器内核可以分成两部分:渲染引擎(layout engineer 或者 Rendering
Engine)和 JS 引擎。最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS
引擎越来越独立,内核就倾向于只指渲染引擎。所以现在讲浏览器内核主要说的就是渲染引擎。

Chrome OS 的相机应用很简单易用,但是近年来也不断获得改进。例如:在今年
,相机可以录制视频。目前来看,Google
正在通过将一些应用开源来更快的获得新特性和相关改进。

现在,经过数月的测试和错误修复,Google准备将Debian
10“Buster”启用为Chrome OS中的默认Linux容器。

那渲染引擎又是什么呢,简单来说就是把html、css的代码变成你现在看到的页面的样子。常见的浏览器内核可以分这四种:Trident,Gecko,Webkit,Chromium/Bink。看着都很陌生,那么换个样子:IE,Mozilla
FireFox,Safari,Chrome 是不是一下子觉得熟悉多了。

在 Chromium 的 Gerrit 的源代码中可以知道 Chrome Camera
应用的那些部分是使用 JavaScript 构建的 。

根据在Chromium
Gerrit中发现的最近合并的commit,默认情况下,新的Crostini(Chrome
OS上Linux应用程序的代号)安装将获得Debian
10。该commit并未提及如何将安装了Debian
9的Chromebook迁移到较新版本,但是用户可以通过运行一些命令轻松地自己升级容器。升级到较新版本的Debian可以启用新功能,并且还将拥有更多的应用程序支持。

1. Trident

在几个月以前,Google 快速的将 Android 的 Google 相机应用移植到 Chrome OS
平台。而不是创建原生的 Chrome OS 应用 。在这种情况下,为什么 Chrome OS
Camera 开源?因为不开源,在以后可能不会在被 Chrome OS系统使用。

Chromebook对Linux应用程序的支持使得Chrome
OS对开发人员来说更加有用。Chrome OS
80还将带来其他对开发人员有用的更改,例如在未启用“开发人员模式”的情况下侧载Android应用,也就是说,使用Chromebook将可以直接构建Android应用。

说起Trident,很多人都会感到陌生,但提起IE(Internet
Explorer)则无人不知无人不晓,由于其被包含在全世界使用率最高的操作系统Windows中,得到了极高的市场占有率,从而使得Trident内核的长期一家独大。微软很长时间都并没有更新Trident内核,这导致了两个后果:一是Trident内核曾经几乎与W3C标准脱节(2005年),二是Trident内核的大量
Bug等安全性问题没有得到及时解决,然后加上一些致力于开源的开发者和一些学者们公开自己认为IE浏览器不安全的观点,也有很多用户转向了其他浏览器。

在另一次的代码提交中,准确的解释了 Chrome OS 在何时决定使用 Chrome OS
应用来代替 Android 应用。如果 Chromebook 不支持 Android
Pie,那么默认使用 Chrome OS 应用。由于 Android Pie
刚刚开始向用户推送,所以,绝大多数用户默认使用的是 Chrome 应用。

目前,Chrome OS 80仍在Canary频道中,预计将于2020年2月面向所有用户发布。

Trident内核的常见浏览器有:

(1)IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident
6.0);

(2)猎豹安全浏览器:1.0-4.2版本为Trident+Webkit,4.3版本为Trident+Blink;

(3)360安全浏览器
:1.0-5.0为Trident,6.0为Trident+Webkit,7.0为Trident+Blink;

(4)360极速浏览器:7.5之前为Trident+Webkit,7.5为Trident+Blink;

(5)傲游浏览器 :傲游1.x、2.x为IE内核,3.x为IE与Webkit双核;

(6)搜狗高速浏览器:1.x为Trident,2.0及以后版本为Trident+Webkit;

Google 将 Chrome OS Camera 开源,对于Chrome OS Camera
开发新功能时,能够更好的和 Chrome OS 底层代码联调。更容易开发 Chrome OS
Camera 的新功能。

2. Gecko

现在,由于代码开源,其他开发者也将投入到 Chrome OS Camera
开发中,具体如何还需要日后观察。

Netscape6开始采用的内核,后来的Mozilla FireFox (火狐浏览器)
也采用了该内核,现在主要由Mozilla基金会进行维护。Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐。

(文/开源中国)    

事实上,Gecko引擎的由来跟IE不无关系,前面说过IE没有使用W3C的标准,这导致了微软内部一些开发人员的不满;他们与当时已经停止更新了的
Netscape的一些员工一起创办了Mozilla,以当时的Mosaic内核为基础重新编写内核,于是开发出了Geckos。不过事实上,Gecko
内核的浏览器仍然还是Firefox (火狐)
用户最多,所以有时也会被称为Firefox内核。此外Gecko也是一个跨平台内核,可以在Windows、
BSD、Linux和Mac
OS X中使用。

3. Webkit

苹果公司的内核,也是苹果的Safari浏览器使用的内核。
Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开放源代码。在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。

常见的WebKit内核的浏览器:Apple
Safari(Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android默认浏览器,

4. Chromium/Bink

2008 年,谷歌公司发布了 chrome 浏览器,浏览器使用的内核被命名为
chromium。

chromium fork 自开源引擎 webkit,却把 WebKit
的代码梳理得可读性提高很多,所以以前可能需要一天进行编译的代码,现在只要两个小时就能搞定。因此
Chromium 引擎和其它基于 WebKit
的引擎所渲染页面的效果也是有出入的。所以有些地方会把 chromium 引擎和
webkit 区分开来单独介绍,而有的文章把 chromium 归入 webkit
引擎中,都是有一定道理的。

谷歌公司还研发了自己的 Javascript 引擎,V8,极大地提高了 Javascript
的运算速度。

chromium 问世后,带动了国产浏览器行业的发展。一些基于 chromium
的单核,双核浏览器如雨后春笋般拔地而起,例如
搜狗、360、QQ浏览器等等,无一不是套着不同的外壳用着相同的内核。

然而 2013 年 4 月 3 日,谷歌在 Chromium Blog 上发表
博客,称将与苹果的开源浏览器核心 Webkit 分道扬镳,在 Chromium 项目中研发
Blink 渲染引擎(即浏览器核心),内置于 Chrome 浏览器之中。

webkit 用的好好的,为何要投入到一个新的内核中去呢?

Blink 其实是 WebKit 的分支,如同 WebKit 是 KHTML 的分支。Google 的
Chromium 项目此前一直使用 WebKit(WebCore)
作为渲染引擎,但出于某种原因,并没有将其多进程架构移植入Webkit。

后来,由于苹果推出的 WebKit2 与 Chromium 的沙箱设计存在冲突,所以
Chromium 一直停留在 WebKit,并使用移植的方式来实现和主线 WebKit2
的对接。这增加了 Chromium 的复杂性,且在一定程度上影响了 Chromium
的架构移植工作。

基于以上原因,Google 决定从 WebKit 衍生出自己的 Blink 引擎(后由 Google
和 Opera Software 共同研发),将在 WebKit
代码的基础上研发更加快速和简约的渲染引擎,并逐步脱离 WebKit
的影响,创造一个完全独立的 Blink 引擎。这样以来,唯一一条维系 Google
和苹果之间技术关系的纽带就这样被切断了。

这里顺便介绍下Chrome和Chromium两个浏览器的区别——Chromium浏览器是谷歌为发展自家的浏览器Chrome而开启的计划,所以Chromium相当于Chrome的工程版或称实验版(尽管Chrome自身也有β版阶段),新功能会率先在Chromium上实现,待验证后才会应用在Chrome上。Chromium一天最多可以更新十几二十个版本,实验性的新特性都会现在这里放出,但是Chromium本身其实并不稳定;而Chrome总共有四个更新分支:Canary、Dev、Beta、Stable,稳定性依次增强。