浏览器插件为什么会消失,取而代之的是什么

浏览器插件即将被淘汰。苹果的iOS从来不支持插件,Flash在Android上早已停止使用,新版IE for Windows8也不支持大多数插件。Chrome很快就会屏蔽传统的NPAPI浏览器插件。

网络不会倒行逆施,不会失去功能。浏览器插件正在消失是有充分理由的,一旦它们消失,网络将会变得更好。浏览器开发人员正在将插件功能集成到浏览器中。

请注意,这不适用于扩展或附加组件,只适用于在Flash、Silverlight和极不安全的Java插件等网站上运行的插件。

为什么要创建浏览器插件

浏览器插件在创建时非常必要。当时,浏览器相当不成熟。更糟糕的是,浏览器开发最终陷入停滞。微软的Internet Explorer6是在2001年发布的,大约在Windows XP最初发布的时候。由于微软“赢得”了浏览器之战并处于领先地位,他们决定将他们的开发人员从Internet Explorer中撤出,并完全停止开发IE。Internet Explorer的下一个版本IE7于2006年发布,距今已有五年多的时间。IE7,甚至8年后于2009年发布的IE8,都是对IE6的一个相当小的改进。

相关:为什么这么多极客讨厌IE浏览器?

五年多来,大多数网络用户的浏览器开发一直停滞不前。这种缓慢的浏览器开发为插件开发人员创造了巨大的机会。Adobe的Flash Player进行了扩展,包括对视频播放、动画和其他功能的支持。微软开发的Silverlight于2007年发布,以提供流媒体和动画支持--它基本上是微软的Flash竞争对手。

还创建了其他插件来填补Web浏览器中的漏洞。Unity插件提供3D图形支持,Google Voice and Video插件允许Google的Hangout和Talk服务访问系统的麦克风和网络摄像头,等等。

甚至在Internet Explorer6停滞不前的早期,浏览器插件就被用来为网络浏览器添加浏览器本身没有的功能。如果你已经在网络上呆了足够长的时间,你会记得去一个在线视频播放页面,你可以选择使用Windows Media Player、QuickTime或RealPlayer来播放视频。这三个不兼容的插件都是向Web添加视频播放的不同方式。浏览器没有内置的播放视频的方式,也没有一个网络范围的视频播放标准。我们最终对Flash进行了标准化,现在我们正在远离它。

为什么浏览器插件不好

浏览器插件已被证明是Web的一个问题。以下是它们最大的一些问题:

相关:Java既不安全又糟糕,是时候禁用它了,下面是如何禁用它的

安全性:事实证明,浏览器插件比浏览器本身更不安全,而Flash和Java是网络上一些最大的攻击载体。每个人都有相同的Flash或Java插件,无论他们使用什么浏览器或操作系统,这一事实加剧了这一问题。这意味着对插件的攻击应该跨每个浏览器和操作系统工作。 没有沙箱:安全问题变得更糟,因为使用NPAPI(Netscape Plugin Application Programming Interface)或ActiveX编写的传统浏览器插件没有沙箱。他们拥有对整个用户帐户及其操作系统权限的完全访问权限。插件上的一个洞允许访问整个操作系统。同时,浏览器在沙盒中呈现网页,这更难逃脱。Chrome的新的Pepper API(PPAPI)沙盒插件,新版本的Flash for Chrome使用的是这个Pepper API而不是NPAPI。 跨平台问题:插件是由单个供应商创建的,这意味着只有一个实现,并且它只在供应商支持的平台上运行。例如,假设您想在Linux上观看Netflix-您不能以一种受支持的方式来实现这一点,因为微软不提供Linux版的Silverlight。或者,假设你想在你的iPad上玩一些Flash游戏--你也不能这样做,因为Adobe Flash不能在iOS上运行。在这两种情况下,Linux开发人员或苹果开发人员都无法编写自己对Silverlight或Flash的支持。它不像Web标准那样是一个开放标准,在Web标准中,您可以由不同的人实现多个实现。 稳定性:插件也是导致崩溃的主要原因,特别是当它们的崩溃导致整个Web浏览器瘫痪的时候。谢天谢地,由于Chrome的沙盒和Firefox的插件隔离,如今崩溃的插件只会自己崩溃。浏览器开发人员无法修复这些崩溃;他们必须依赖插件开发人员来修复它们。如果某个版本的插件崩溃了,您不能简单地切换到另一个版本--只有一个选择。

在安全性和使插件在不同的移动和桌面平台上很好地工作之间的斗争中,插件正在失宠也就不足为奇了。它们也是Web浏览器的外来对象-它们呈现内容的方式不同,不能像标准HTML代码那样与网页集成。

什么将取代浏览器插件

在网络的早期,插件允许功能并行开发和竞争-见证了所有不同的视频回放插件。它们还允许第三方在网络浏览器开发停滞时添加新的网页功能。

我们现在处于一个更加健康的环境中,拥有快速的浏览器开发和网络标准。我们面临着各种各样的网络浏览器之间的竞争,甚至连微软也在试图以一种他们过去从未尝试过的方式来遵守网络标准。

相关:你还不知道你的网络浏览器可以做的10件事

实现的许多功能插件现在都是以内置浏览器功能的形式引入的。其中许多已经实现,而有些还在开发中。以下是取代最流行插件的内容:

Flash:Flash有很多不同的用途,包括视频播放和动画。Flash已经被HTML5视频淘汰,因为像YouTube这样的网站正在透明地使用更多的HTML5视频而不是Flash。在动画方面,许多HTML5的新功能正在填补曾经需要Flash的地方。 Java:Java已经被逐步淘汰,因为Web页面上的Java applet已被证明是不安全的,因为该插件的安全性等同于瑞士奶酪。Java本质上提供了一种将整个程序嵌入到网页上的方法,但这并没有很好地发挥作用。 Silverlight:微软将终止对Silverlight的开发,目前Silverlight仅用于少数网站的视频播放。最大的Silverlight用户Netflix正在转向HTML5视频播放。 Unity 3D:Unity 3D插件允许在网页上嵌入3D游戏。多亏了WebGL,网页上的3D图形现在不需要任何插件就可以实现。 Google Earth插件:Google的Google Earth插件已经被替换。您可以使用WebGL在Google地图中查看完整的3D Google Earth场景。 谷歌语音和视频:Hangout和Google Talk通话仍然需要谷歌语音和视频插件。它将被用于插件式免费实时音频和视频通信的WebRTC标准所取代。

随着插件功能被整合到浏览器本身,我们最终将拥有一个更安全、更强大的Web。插件目前仍然是必要的,但它们已经过时了。它们曾经非常有用,但我们正在超越它们。

Flash插件还将存在一段时间,因为它仍在广泛使用,但所有其他插件都处于无关紧要的边缘。由于没有Flash支持的移动平台,即使是Flash也变得越来越不重要。这对大多数插件开发者来说都没什么问题--Adobe已经开发了可以导出到HTML5而不是Flash的工具,甲骨文可能希望极不安全的Java插件消失,不要再玷污他们的安全记录,微软也不再有兴趣将Silverlight作为Flash的竞争对手。

相关文章