客户端浏览器兼容性探讨-阿里云开发者社区

开发者社区> 阿里云GTS能力中心-浩鲸智能> 正文
登录阅读全文

客户端浏览器兼容性探讨

简介: 客户端浏览器兼容性探讨

全球五大内核提供商

内核

代表浏览器

是否更新状态

Blink

Chrome

Webkit

Safari

Gecko

Firefox

Presto

Opera

Trident

IE

极缓


内核及浏览器介绍

Blink是基于webkit再开发的内核,也是公认的最强浏览器内核,相对于原有的webkit它的优势也级为明显

  • 简洁:对引擎内部而言,未添加多余的解释,对前沿及时的接受和版本迭代速度最快
  • 稳定:对应代码解译,很少会遇到其崩溃或者跑偏的情况
  • 可扩展性高:这方面主要体现在插件上,提供了很多人性化的定制接口


Ubuntu是一个老牌浏览器内核,开发程度高切非常稳定,可以说Ubuntu是最稳定的内核,但相对来说Ubuntu对于复杂网页的加载有效率问题


Webkit被应用在许多浏览器上,其中最为出色的就是Safari,毕竟是原厂打造,安全稳定,但其主要功能集中在mac上,不受IE、Firefox等内核的约束,也就是说,不考虑其他浏览器限制、解译,较为独立,而其他浏览器厂商如果集成webkit引擎时,或多或少都会有功能缺失问题,使用起来极为不便


Trident内核主要使用在我们在WIndows系统中的IE浏览器中,由windwos系统捆绑销售


Presto内核特点就是渲染速度的优化达到了极致,然而代价是牺牲了网页的兼容性,目前由于市场选择问题,PC端Presto已废弃,仅存于市场上在的应用只在部分手机平台上

其他浏览器

除以上各大内核厂商提供给的浏览器外,还要很多有不是市场占有率的浏览器,首先按照市场规律来看最常用的内核就是Webkit。

Blink是从 WebKit 直接复制出一个版本出来,然后将与chromium 无关的 Ports 全部移除掉,将代码结构重新整理,就目前而言,很多Blink 的渲染和WebKit 是一样,但是,以后两者将各自走不同的路(WebKit当年也是以同样的方式来从KHTML中复制出来)BLINK内核就是谷歌公司,针对WEBKIT内核,做的修订和精简。去掉了几十万行的没用的复杂代码,让效率更高。然后针对未来的网页格式,做了进一步优化,和效率提升的处理。所以BLINK内核可以看成是WEBKIT的精简高效强化版。

Blink不再是WebKit

目前市场占有率接近一半的Chrome浏览器指的是Chromium稳定版,而类似360和QQ这样的浏览器也是基于Chromium的再开发。这里特别备注下微软最新版本的Edge同样基于Chromium,同样未来两者很可能各自走不同的路。

兼容性优先级

就目前市场占有率的情况来看应该优先支持Chromium(Chrome浏览器,Blink内核),Chrome也是开发人员在开发时被要求使用的浏览器,而对于360、QQ这样的多核浏览器,在框架制定时,添加默认解译内核meta标签,尽可能的使用Blink内核(webkit内核);

对于Webkit、Gecko内核的浏览器(Safari、firefox)充分考虑任务兼容问题,对开发人员明确提出开发时需要的兼容性,如果在开发中发现部分功能无法同时满足,就兼容性方面需要与PD、UED、测试沟通商议解决方案(Safari需mac设备);

对于360、QQ这样在浏览器解译上进行了部分修改,无法完全兼容的情况,需测试人员在测试中提出,并根据任务量迭代安排;

对于Presto、Trident不建议考虑兼容问题,Opera已经放弃Presto内核,而根据微软的官方说法,“Microsoft 建议使用 Microsoft Edge 作为默认浏览器并且支持 Internet Explorer 11 实现后向兼容性”

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云GTS能力中心(浩鲸智能),从交付的视角探讨数字化转型过程中大型软件开发实践、以及阿里云产品在各行业被集成的案例分享、技术沉淀等内容。敬请关注!

官方博客
官网链接