Opera放弃自家内核转投WebKit的背后(转)
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等竞争者已经把内核改良玩成了噱头,继续强调内核自主不说令人反感吧,起码也没有什么效果;而一款浏览器的最终表现不仅受到自身因素的影响,还受到机能和网络的制约,用户界面和体验的更新才是更加直观和见效快的选择。
本文出处:http://www.cnbeta.com/articles/226367.htm

Opera放弃自家内核转投WebKit的背后(转)的更多相关文章
- 惊喜:opera换webkit内核后完美支持SDCH压缩协议
csdn发邮件警告说再不发文章就取消我的专家头衔了.呵呵,其实我只是在csdn暴露了我的帐号密码以后不得已把csdn密码修改成一个我自己都记不住的货,所以很少上来了. 言归正传.我们从去年就在QQ空间 ...
- [转]开发者需要了解的WebKit(mark)
以下内容转自:http://www.infoq.com/cn/articles/webkit-for-developers -------------------------------------- ...
- 开发者需要了解的WebKit
2013-3-22 22:37| 发布者: sxwgf| 查看: 575| 评论: 0|来自: infoq 摘要: Paul Irish是著名的前端开发工程师,同时他也是Chrome开发者关系团队成员 ...
- WebKit HTML、CSS、JS
开发者需要了解的WebKit https://www.infoq.cn/article/webkit-for-developers 开发者需要了解的 WebKit 彭超 2013 年 3 月 18 ...
- 建站手册-浏览器信息:挪威的 Opera 浏览器
ylbtech-建站手册-浏览器信息:挪威的 Opera 浏览器 1.返回顶部 1. http://www.w3school.com.cn/browsers/browsers_opera.asp 2. ...
- 几大主流浏览器内核(Rendering Engine)
"浏览器内核",英文为"Rendering Engine",也叫"渲染引擎",作用是帮助浏览器来渲染网页的内容,将页面内容和排版代码转换为用 ...
- 浅谈三款常用软件 - Chrome、Intellij IDEA、Cygwin
作为一个每天的接触计算机的程序员,肯定也会接触形形色色的软件,不过今天在此介绍的三款软件,则是我每天都要用到的,而且我认为它们非常好用,极大的提高了我的开发效率. 1.Chrome Google的大名 ...
- 各大浏览器内核特性及对应的Browserhacks举例
1.浏览器内核指的是什么? 简化的浏览器=用户界面+渲染引擎+js解析引擎+数据存储+网络部件 而通常所说的浏览器内核指的是页面渲染引擎(rendering engine). 2.渲染引擎 The r ...
- IE、FF、Safari、OP不同浏览器兼容报告
IE.FF.Safari.OP不同浏览器兼容报告 1 浏览器内核简介 Trident IE浏览器(GreenBrowser绿色浏览器, 遨游浏览器....都是IE) Geckos Fi ...
随机推荐
- DOM扩展之Selectors API
jQuery的核心就是通过CSS选择符查询DOM文档取得元素的引用,从而抛开了getElementById()和getElementsByTagName(). Selectors API致力于让浏览器 ...
- Winform基础知识
1.关于登陆部分 this.DialogResult = DialogResult.OK; this.Close(); FrmLogin login = new FrmLogin(m_CurUser) ...
- Centos搭建SVN服务器三步曲
搭建SVN服务,有效的管理代码,以下三步可以快速搞定.1.安装 #yum install subversion 判断是否安装成功#subversion -v svnserve, version 1.6 ...
- Collection(数组、字典、集合)
Collection -NSArray和NSMutableArray +array:创建一个空数组 +arrayWithArray:从另一个数组创建新的数组 ...
- Makefile 开发环境全能管家
变量的应用: CC=gcc RM=rm EXE=main.exe OBJS=目标 伪目标的应用: .PHONY:clean 自动变量的应用: $@:表示一个规则的目标 $^:表示的是规则中的所有的先决 ...
- 在Oracle Linux上使用DTrace的相关指导
如果你使用的Oracle Linux,因为sun被Oracle收购后,Oracle Linux版本的DTrace可以直接在Oracle官网进行下载. 下载地址 http://www.oracle.co ...
- eclipse中运行项目时报Class not found的错误
环境:Groovy/Grails Tool Suite 3.1.0.RELEASE(BASED ON ECLIPSE JUNO 3.8.1).JDK1.6 运行class的main方法,或启动juni ...
- C++中的迭代器
C++STL中的迭代器 "指针"对所有C/C++的程序员来说,一点都不陌生.在接触到C语言中的malloc函数和C++中的new函数后,我们也知道这两个函数返回的都是一个指针,该指 ...
- 类似title的鼠标跟随事件
$(document).ready(function(){ // 创建一个div显示提示信息 var dropTitle = document.createElement("div" ...
- QTableWidget实用技巧(转)
http://blog.csdn.NET/mingxia_sui/article/details/7681863 在使用Qt不多的日子里,已经两次用到了QTableWidget这个控件,也慢慢的习惯和 ...