三个浏览器内核引擎

IE

JScript

Trident

Firefox

TraceMonkey(SpiderMonkey)

Gecko

Opera

Futhark

Presto

Safari(Apple)

SquirrelFish

Webkit

Chrome(google)

V8

Webkit

Konqueror(KDE)

JavaScriptCore(KJS)

Webkit


转自:http://tech.sina.com.cn/i/csj/2013-02-22/07238080189.shtml

三分天下谁争雄

  Opera使用Webkit引擎之后,浏览器内核将只剩下三家:Webkit、Trident和Gecko。

  让我们来梳理一下三大阵营的主要成员。

  Webkit:Chrome、Safari和Opera

  Trident:Internet Explorer

  Gecko:Firefox

  10年前,我们提到浏览器战争,赢家或输家都是指某个产品或品牌,比如网景或是IE。时至今日,这场战争已有了质变。Webkit背后有着苹果、谷歌这样强大的背景支撑,无论你在用Android还是iOS设备,Webkit就是网络。

  在国内,Maxthon(傲游)曾是IE的代名词,长期使用Trident内核。从傲游3开始,也使用了Webkit核心,同时兼容Trident。此外,像360、搜狗等多核浏览器产品也同时采用Webkit核心。他们各自有着基本相同的功能体验,借助Webkit的性能优势流行开来,这对Trident和Gecko的冲击无疑是巨大的。

  如果某天Webkit形成一家独大的局面,摆在微软和Mozilla面前的恐怕是一个大大的问号,是做出妥协还是按兵不动?



浏览器内核之战:孤芳自赏的创新英雄Opera

2013年02月22日 07:23   创事记 微博  作者:老魏  
提起这款来自挪威的浏览器Opera,总令人爱恨交织 提起这款来自挪威的浏览器Opera,总令人爱恨交织

  老魏

  谭咏文和Opera软件公司属于特殊的年代,特殊的地方,但是没有任何一种解释,包括语言,音乐或者是记忆,能够说得出他在那里活过的那种感觉。那只是这个世界上一个时间的角落而已。那里,随时随地都有着疯狂的举动。那个时候流行着一种感觉:我们做的任何事情,都是对的,我们是赢家。我想,也许那也算是一种人生的赌注吧。那种不可避免的成功感,超越了老旧死板的微软。是的,我们那时动力十足。我们正赶上了那次浪潮的高峰。所以现在,当你爬上挪威陡斜的小山坡向西望时,只要你用对角度,就能望见高潮时期的那个标志——那个潮流涌来又激退的地方。

  ——改编自电影《恐惧拉斯维加斯》台词。

  浏览器是互联网永恒的故事,我们每个人都能说出好几个浏览器的名字,不过提起Opera,总会令人爱恨交织。

  他是个很出色的浏览器,来自挪威。他创造了很多新的理念,并一直努力坚持着,从不为极低的占有率所动摇。不过这次,他革了自己的命,宣布放弃自家引擎,转投Webkit。曾经的创新者未能坚守阵地,着实令无数藕粉感到遗憾。(藕粉:Opera忠实用户)

  被无视的行业创新者

  说Opera是浏览器的技术创新者一点儿也不过份。早在Opera浏览器的第一个公开发行版本中,他们就已实现了一个窗口同时打开多个网页,这便是现代浏览器中普遍流行的“标签式浏览”的前身。2001年,Opera首次实现鼠标手势控制操作,从此改变了许多人的网上冲浪方式。

  作为一家规模仅千余人的软件公司,拥有诸多功能和技术创新的浏览器,不得不说这又是个奇迹。

  浏览器是专门工具,但却不是行家的必然选择。Opera一次次的创新却没能换来市场的青睐。事实上,Opera桌面版长期保持着不到2%的全球占有率。做为起家近20年的老字号,这样的数字只能用“太囧”来形容。当然,他们并不希望永远保持这样的成绩,除了竞争对手。

  抛开几近被无视的桌面市场,在移动领域,Opera也面临众多强劲对手。ChromeMozilla FirefoxSafari正在蚕食原本属于Opera的份额。过去的两年里,Opera Mini份额面临停滞甚至缩减,已处于前狼后虎的境地。Opera想要有所突破,必须做出改变。

  技术务实与被动营销

  很少有用户去关心浏览器使用何种渲染引擎、用的什么内核。大多数用户只关心浏览器的使用体验和特征,如网页的打开速度、书签管理、插件扩展等等。

  曾有人说,Opera是窄带拨号上网时代的神器。没错,借助Opera Turbo技术和更新后的Presto渲染引擎,当时Opera的上网速度比IE和火狐从感观上似乎要快一点。

  在国内,Opera桌面用户大多是从微软IE转换过来的。与其它同类产品相比,Opera上手并不难。不过,为了适应原有的习惯,用户还是需要一些技巧和时间去打磨它。即使是专业人士,要完全掌握并熟悉Opera的设置方法,也不是件容易的事。Opera的一些高级设置并不以图形界面呈现,而是需要用户自行修改ini配置文件去实现,这无形中增加了的上手难度。而相应的社区支持上线缓慢,也阻碍了Opera在国内的流行。

  兼容性也是Opera的一个硬伤。Presto引擎的兼容性本应足够好,但是在国内大环境下,往往显得力不从心,更不用说缺乏必要插件的支持(如网银插件)。

  Opera推出的新功能、新技术并不少,几乎每一次大的更新都有惊艳的新特性出现,但是每次都是雷声大雨点小,如石沉大海一般无声无息,营销举措不给力也是事实存在。

  当然,他们并非没有努力过。在欧洲,Opera和其它同行曾经共同推动欧盟向微软施压,将“浏览器选择框”整合进微软的新一代操作系统中,使用户在开机时可以自行选择使用何种浏览器。可是,这个看似很牛的办法对Opera的份额增长并无突出贡献。

  内核阵营与竞争

  正如火狐工程总监乔纳森•南丁格尔所说:互联网需要保持敏捷和快速反应。目前,Gecko和Webkit浏览器引擎有着广泛的支持度和活跃度,流行的Gecko浏览器和Webkit内核浏览器发行版已呈百花齐放之势。Gecko和Webkit两大渲染引擎的开源特性吸引开发者不断完善,份额不断扩张。

  尤其是随着Chrome的流行,原本几乎只有Safari使用的Webkit引擎正逐渐赶超其它对手。在移动领域,Webkit是iOS平台的唯一排版引擎,借助谷歌和苹果的强大营销能力,Webkit及其各个分支目前已占据近半壁江山,有了足够与微软Trident引擎相抗衡的资本。

  反观Opera的Presto引擎,虽然版本不断更新,但市场份额实在太低,耗费大量人力财力去维护,难免有自娱自乐的嫌疑。闭源的特性也把开发者拒之门外,Presto成了一朵孤芳自赏的奇葩。

  对于Opera来说,放弃封闭的Presto转投Webkit或许是最后的赌注。首先,开放的Webkit可以让Opera直面移动互联网竞争,专注支持Android和iOS平台,开发优秀体验的产品。其次,Opera全系列产品采用Webkit内核,不仅减少了开发者的代码维护量,降低成本,也将令最终用户受益,例如兼容性问题有可能从此消失。

  当然,Presto并非没有存在的必要,笔者认为Opera将Presto开源也许会比现在活的更好。

  顺便说一句,Opera 12.14也许是Presto核心的收官之作,感兴趣的看官可在此下载(http://down.tech.sina.com.cn/content/1365.html)。

  三分天下谁争雄

  Opera使用Webkit引擎之后,浏览器内核将只剩下三家:Webkit、Trident和Gecko。

  让我们来梳理一下三大阵营的主要成员。

  Webkit:Chrome、Safari和Opera

  Trident:Internet Explorer

  Gecko:Firefox

  10年前,我们提到浏览器战争,赢家或输家都是指某个产品或品牌,比如网景或是IE。时至今日,这场战争已有了质变。Webkit背后有着苹果、谷歌这样强大的背景支撑,无论你在用Android还是iOS设备,Webkit就是网络。

  在国内,Maxthon(傲游)曾是IE的代名词,长期使用Trident内核。从傲游3开始,也使用了Webkit核心,同时兼容Trident。此外,像360、搜狗等多核浏览器产品也同时采用Webkit核心。他们各自有着基本相同的功能体验,借助Webkit的性能优势流行开来,这对Trident和Gecko的冲击无疑是巨大的。

  如果某天Webkit形成一家独大的局面,摆在微软和Mozilla面前的恐怕是一个大大的问号,是做出妥协还是按兵不动?

  季节更迭,浏览器的故事还将继续。



Opera放弃自家内核转投WebKit的背后

2013-02-16 14:04:23  3377 次阅读  稿源:tech2ipo  0 条评论
Opera在2月13日宣布用户突破3亿, 并且带着这3亿用户投入WebKit阵营,自家的Presto内核将会走入历史。Opera为什么选择在现在这个时间点放弃自有内核?之前Opera的坚持自主研发一直被看作是企业的一个亮点,转变成一个壳方案公司对Opera意味着什么呢?

甩掉历史包袱,时机已经成熟

Presto长期在各种浏览器引擎评比中参数占优,被公认为一款轻量级,优化充分,速度快效率高的好内核。不过Presto是商业引擎,与开源的WebKit和经过谷歌加持的Chromium系列相比毫无推广上的优势。

近年来使用Presto的除Opera自己以外,只剩下任天堂NDS、Wii以及诺基亚770的内置网络浏览器。

任天堂已经在3DS中放弃了Opera浏览器合作,选用了日本本土企业开发的NetFront内核,它同时也是PSP的网络浏览器内核。至于诺基亚,早在S60开始普及时就没有Opera什么事了。所以Presto商业授权的历史包袱,现在已经被逐渐甩掉。

去年以来Opera已经在逐步削减自有内核OEM授权在营收中所占比重,2012Q4财报显示,移动OEM营收同比下降了89%,在总营收占比已经接近0%。

目前Opera将智能电视机顶盒的浏览器内置作为OEM的下一个大方向,尽管设备OEM总营收同比下降2%,不过授权收入同比增长了75%。

换内核不会导致用户流失

按照最新统计,Opera总用户突破3亿,从财报我们可以看出Opera现有产品线的用户分布,其中针对内核而言最重要的一个数字就是手机用户突破2.3亿,其中功能手机用户1.5亿

Android和iOS平台的浏览器可以非常轻易地转换内核,倒不如说采用WebKit以后更新比现在要更加方便。而功能手机主要安装的Opera Mini本来就不支持现代网页标准,也无法获得升级,放任其停留在现有版本即可,这也就意味着一半的Opera用户根本不会受到换内核的影响,只是停止了对他们的技术支持

对于另外一半用户,主动或被动更新可以让用户无缝升级到新版本,嵌入式设备的浏览器也可以通过升级固件的方式获得更新。

各种用户群中相对受影响最大的是桌面用户,但影响也很轻微。一部分无法自动升级的用户,随着开发者放弃对Presto内核的适配,未来用旧版访问这些网站也许会有错位。但Presto至今对HTML5和CSS3支持都很完整,因此这个错位只是存在理论上的可能性。

按照这样的估计,除了一些Web开发者会因为不必安装Opera测试而卸掉以外,换内核不太可能导致用户流失。

新内核对最终用户必将是利大于弊的,尤其是在移动端收购SkyFire以后,可以期待iOS版Opera的表现将更占优势。不要忘记SkyFire最早上市的时候,是首款让iOS支持Flash浏览的浏览器,现在在国际市场也是独苗(国内可以用UC看Flash)。

壳公司Opera向黑客精神告别

现在Opera功能手机用户就是1.5亿,但2011年底Opera Mini月活跃用户就已经是1.4亿的水平。这显示出Opera现代浏览器的市场扩张遇到了瓶颈。

Opera的很多工程师原是黑客出身。鼠标手势、页面缩放、快速拨号、多标签浏览等功能不断被其他浏览器借用,但作为一家有着黑客精神的小公司,Opera没有为这些革新申请过专利。没有专利门槛的保护,Opera只有保持自身不断地创新,才能获得持续的增长。

Opera无条件放弃Presto,并没有要求WebKit的更新采纳自己的贡献,融合一部分自己的内核,其实意味着之前的这些创新都化作了沉没成本。

16年多以来,Opera一直作为一家独立的浏览器技术提供商顽强的生存下来,并在大公司加入竞争的前提下一直保持着自有内核的更新,为此投入了大量的人力物力。而自有内核授权收入减少到只是象征性的水平,其存在意义也遭到内外不断的质疑。

Opera并不臃肿,百多人的工程师就足以决定全球3亿人用的浏览器长什么样,是一家完美的小公司。现在的财报其实已经足够养活所有员工前途无忧。但这次决定砍掉工程师们的长期心血,说明公司的天平已经从“改变世界”向“赚更多钱”倾斜。

Opera内部也期待通过本次内核切换,将解放出来的程序员们安排到改善浏览器用户体验的岗位上,“比如把老旧的书签和历史管理器装点一下,或者设计下一代的启动页面。”

也许Opera在中国的本地化运作会为如何做好一个“壳”公司提供有效的借鉴。中国的手机浏览器市场呈现过饱和竞争,比的更多是营销而不是技术。我之前也提到过,UC海豚QQ等竞争者已经把内核改良玩成了噱头,继续强调内核自主不说令人反感吧,起码也没有什么效果;而一款浏览器的最终表现不仅受到自身因素的影响,还受到机能和网络的制约,用户界面和体验的更新才是更加直观和见效快的选择。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WPF(Windows Presentation Foundation)是微软开发的用于创建Windows桌面应用程序的框架。WPF本身并不直接支持使用Chrome内核,因为Chrome内核是Google开发的用于浏览器的渲染引擎,与WPF的桌面应用开发无直接关系。 然而,我们可以通过使用第三方工具或库来在WPF应用程序中嵌入Chrome内核,从而实现使用Chrome内核的功能。以下是其中一种常见的方法: 使用CefSharp库:CefSharp是一个开源的.NET封装库,它允许WPF应用程序嵌入Chrome浏览器的功能。要使用CefSharp,可以按照以下步骤进行操作: 1. 从nuget包管理器中安装CefSharp.Wpf库。 2. 在XAML代码中添加一个WebBrowser控件,可以使用`<cefSharp:ChromiumWebBrowser/>`来替代原生的WebBrowser控件。 3. 在代码中引用CefSharp的命名空间,例如`using CefSharp.Wpf;` 4. 使用ChromiumWebBrowser控件的方法和事件来实现类似于Chrome浏览器的功能。 使用CefSharp库,我们可以在WPF应用程序中实现类似于Chrome浏览器的功能,包括加载和显示网页、处理JavaScript和浏览器事件等。 需要注意的是,集成Chrome内核可能会增加应用程序的体积和复杂度,并且由于Chrome内核的更新频率较高,可能需要定期更新使用的CefSharp库以保持与最新版本的Chrome内核兼容。 总之,虽然WPF本身不直接支持使用Chrome内核,但通过使用第三方库或工具,如CefSharp,我们可以在WPF应用程序中嵌入Chrome内核的功能,实现类似于Chrome浏览器的体验。 ### 回答2: WPF是指Windows Presentation Foundation,是一种用于创建用户界面的开发框架。WPF默认使用自己的渲染引擎来显示界面,而不是使用Chrome内核。要在WPF应用程序中使用Chrome内核,可以通过以下几种方式实现: 1. 使用第三方库:可以使用一些第三方库来嵌入和使用Chrome内核。常用的库包括CefSharp和Awesomium等。这些库允许您在WPF应用程序中创建一个浏览器控件,该控件使用Chrome内核来显示网页内容。 2. 使用WebBrowser控件:WPF中内置了一个名为WebBrowser的控件,它可以嵌入和显示Web页面。默认情况下,WebBrowser控件使用的是Internet Explorer内核,但您可以通过设置注册表中的相应项来将其切换为Chrome内核。 3. 使用Chromium Embedded Framework(CEF):CEF是一个开源项目,它允许开发者将Chrome浏览器引擎集成到他们的应用程序中。您可以使用CEF来创建一个Windows窗口,并在该窗口中显示包含Chrome内核的网页。 无论使用哪种方法,您都需要先确保已安装Chrome浏览器或相应的Chromium版本,以获得所需的Chrome内核支持。然后,根据您的需求选择合适的方法来嵌入和使用Chrome内核,以实现在WPF应用程序中显示和操作网页内容的功能。 ### 回答3: WPF(Windows Presentation Foundation)是一种用于创建Windows应用程序的技术,其默认使用的是基于Internet Explorer的WebBrowser控件来显示Web内容。但是,如果想要在WPF应用程序中使用Chrome内核,需要进行一些额外的步骤。 首先,需要添加一个名为CefSharp的第三方库,它是一个基于Chrome开源项目Chromium的.NET封装库。可以通过NuGet包管理器安装CefSharp库,然后在项目中添加对CefSharp的引用。 安装完成后,可以在XAML中添加一个名为ChromiumWebBrowser的控件,该控件将使用Chrome内核来显示Web内容。例如: ``` <Window x:Class="WpfApp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf" Title="WPF with Chrome" Height="450" Width="800"> <Grid> <cefSharp:ChromiumWebBrowser Name="chromeBrowser" Address="https://www.example.com"/> </Grid> </Window> ``` 在代码中,可以使用以下方法来加载和显示Web内容: ```csharp using CefSharp; public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); chromeBrowser.FrameLoadEnd += ChromeBrowser_FrameLoadEnd; } private void ChromeBrowser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e) { if (e.Frame.IsMain) { // Web内容加载完成后的处理逻辑 } } } ``` 以上代码中,通过订阅FrameLoadEnd事件来获取Web内容加载完成后的通知,可以在事件处理逻辑中进行一些自定义操作。 综上所述,通过使用CefSharp库,我们可以在WPF应用程序中使用Chrome内核来显示Web内容,实现更丰富和高效的Web浏览体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值