欢迎访问芦艺网!

Web平台的过去和未来

本文作者迈克尔·布莱夫(Michael Bleigh)是静态Web托管平台即服务公司Divshot的联合创始人兼CEO。他的Twitter帐号是@mbleigh。作为一个Web开发者,看到这篇文章还是小小激动了一下。毕竟还是希望Web有一个美好的前景。而且我自己也是认为在很长一段时间内,Web技术还是难以替代的。至少目前看来应该在10年以上。

the-past-and-future-of-web

作为一个开发者,我会不由自主地对宣称Web将死的文章进行驳斥。对于一些人而言,预言下一个技术潮流的到来并宣布现在技术已死,并不是异乎寻常或突如其来的事情。然而,尽管过去几年移动行业出现了爆发式增长,但在可预见的未来,Web仍然会是一个占据主导地位的软件平台。

首先,我所说的Web是指,能在浏览器上访问的HTML内容。Web更泛泛的定义可能还包括几乎所有原生移动应用当前使用的HTTP API。根据这一定义,Web根本没有竞争对手。

为何是Web呢?

原生应用在Web出现前很久便已存在。那为何Web会逐渐成为一个如此强大的软件发布平台呢?即便是在IE6的时代,Web也因多个重要优势而在竞争中占据上风:

无需安装。若想使用Web应用,你只需在网页浏览器中访问其URL即可。无论是什么样的操作系统,每一个用户都可以在几秒钟内访问Web应用。
始终是最新的。无需安装就没有升级过程。每次你访问Web应用,都会免费获得具有最新数据的最新版本。
跨平台。由于Web是依据开放标准建立的,所以每个人都可以开发Web浏览器。Web目标是成为真正的“一次编写随处可用”的软件。
网络效应。Web应用无需获得准许也可以将彼此联系在一起。每一个链接可以像其他链接那样工作。由于URL在全世界都可以分享,“如病毒般迅速传播”的概念才会存在。
足够快。在桌面端,硬件进步往往会让设备的运行速度越来越快,最终导致一个转折点:对于大多数软件而言,Web应用在大多数时候都够快。它们在功能上相当于原生应用。
得益于上述优势,Web应用遇到了软件历史上门槛最低的进入壁垒,以及不容错过的机遇。作为一种发布文件的渠道,Web不久即发展成为一个能量更大的东西:应用平台。

随着时间的推移,Web作为软件的能力越来越突出。跨平台JavaScript库让开发者能制作出更具交互式的页面。AJAX允许浏览器在不加载页面的情况下,可以发送和接收新数据。随着自身的不断转变,CSS简化了应用式界面的制作。Web技术始终在发生着改变,以满足用户和开发者的需要。

移动、移动、移动

随着App Store商店的迅速崛起,我们很容易忘了2007年苹果最初的“应用”计划也完全是围绕Web展开的。虽然许多事情的发展是因为苹果向原生第三方应用的转移,但最主要的原因还是与性能相关的用户体验。我们简要谈一下这个问题。

App Store商店给原生应用的发布带来了巨大的改进,对于最终的用户而言,安装和升级应用突然间变得像访问网站一样容易。App Store商店还提供了单一的集中支付机制(永远不要低估已存信用卡数据的力量!)。这些因素最终导致许多人将移动应用商店看作是Web有力的竞争对手,或是取代Web的工具。

随着智能手机在全球的渗透速度超过PC,Web最终遇到了实力相当的竞争对手了吗?现在到了它将火炬传递到更年轻一代原生应用手中的时候了吗?

还没有。

王位觊觎者

这并不是开放的Web第一次棋逢对手。在上世纪90年代中期,美国在线(AOL)拥有了庞大的“有围墙的内容花园”。作为当时美国最大的互联网服务提供商(ISP),他们将完整的服务提供给了生活在“花园”中的用户。今天,美国在线是一家内容服务商,旗下资产(包括TechCrunch)都采用开放的Web。Web赢了。

Flash曾经就像是开发者和用户的“面包”,提供了HTML所不能提供的功能,如视频、动画、声音和互动性。当时97%的浏览器都安装了Flash插件。今天,只有14%的网站安装了Flash,而高峰时则超过了50%。Web又赢了。

Web在软件领域的主导地位总是受到新技术的挑战,一开始,许多新技术会在某一个方面比Web更具优势。但Web平台具有一种“超能力”,那就是不断进化。正如杰森·科特克(Jason Kottke)在2007年所写,“在一个竞争性市场,从长期来看,开放和凌乱胜过封闭和控制。”

回报更快

2010年7月22日是Web平台历史上最重要的日子之一。那一天,谷歌Chrome宣布每六周将推出一个重要Chrome更新。当时Chrome的版本是5.0,而现在则是34.0。2011年,Mozilla效仿谷歌的做法,面向Firefox浏览器推出了一个相似的计划。更快的更新周期,加上“发布版本”(release channel)概念(只要用户愿意就能提前试用新功能),永远地改变了Web开发格局。

考虑到IE7是在IE6发布五年后推出的,Chrome将正常更新周期提升了40倍。无独有偶,一套名为“HTML5”的浏览器技术也在同一时期从零起步,最终成了无所不在的技术。浏览器厂商必须不断改进其平台,否则会被日益挑剔的用户所抛弃。

今天,Web技术发展的最大障碍不是微软,而是苹果。在iOS平台上,苹果强迫第三方浏览器必须采用更慢的JavaScript引擎,结果让第三方浏览器“自废武功”。该公司还强迫开发者在iOS平台上推出替代性浏览器引擎。虽然令人沮丧,但这也是传统科技企业遏制那些威胁其地位的创新的常见做法。更好的浏览器意味着苹果封闭的iOS平台将面临更大的威胁。

不仅仅是文档查看器

现代浏览器本身就是操作系统。浏览器技术现已达到或超出原生应用几乎所有优势。以下即是几个例证:

实时/推送信息。过去,在页面上载以后,如果没有获得新的要求,将数据发送给浏览器是不可能的。今天,Server-Sent Events和Web Sockets让这个过程变得更为直接,而GoInstant、Firebase和PubNub等服务则令其显得没有价值。
富媒体。大多数人都熟悉HTML5视频标签。现在我们还有许多途径去访问网络摄像头和麦克风,建立点对点视频通讯,甚至直接从浏览器上处理语音输入。
线下访问。Web应用也可以在线下运行,保存数据变动,一旦有网络信号就能同步数据,就像原生应用一样。
设备意识。现代移动浏览器可以访问设备方位、加速计、GPS地理位置以及网络连接等信息。
随着新使用实例的出现,问题不再是Web是否能支持新技术,而是何时可以支持新技术。

表现焦虑

对于许多预言Web末日来临的人来说,表现是唯一值得考量的问题。他们高呼,“Web可能永远不会像原生应用那么快!”他们是对的。但Web大可不必像原生应用那么快,只要足够快就行了。

一个常被引用的案例就是,Facebook放弃HTML5恰恰说明Web本身不够快。这种说法具有多个漏洞:

传闻是最不可靠的证据。即便在那个时候,也有人宣称HTML5的问题在于执行,而不是概念。
Facebook打造原生应用意义重大,即便此举对用户体验的改善不大。Facebook完全有能力招募大量开发人员支持每一个平台的发展。大多数公司就不那么幸运了。
这件事发生在大概两年前,而且还是在第15个Chrome更新周期以前。Web技术发生了快速变化。
asm.js等最新发展正将Unreal、Unity等高端游戏引擎引入浏览器。硬件快速改变让平稳的动画和过渡成为现实,即便是在移动端。与三年前相比,你今天在浏览器上所能做的事情感觉很神奇。

如果你正在开发图形密集游戏或视频/图像处理软件,一定要开发原生应用。但对于绝大多数应用来说,跨平台原生性就像是套在开发者脖子上的十字架。开发者的确对软件平台的统治力具有举足轻重的作用。

开发者、开发者、开发者

用户先对应用的功能提出要求,然后由开发者来实现。相比其他任何平台,Web作为一个平台更容易理解,开发者也能更为快速地开发相关应用。正因为如此,从Treehouse、Codecademy到General Assembly,许多公司在Web上面下的功夫超过了其他任何平台。

客观地讲,Web应用的发布规模也是世界上最大的。每一个具有原生应用的平台还有一个浏览器。这也是HTML5是Indeed网站上面第一大就业趋势的原因,也是我在过去一年能将Chromebook作为我主要电脑的原因。正因为如此,无论竞争对手的短期优势有多大,Web最终都会胜出。

当然,Web也可能从移动端吸取了许多经验和教训。我们需要基于浏览器的认证标准,就像是谷歌在安卓平台上采用的注册方法。我们需要更简单的方法,便于为Web平台上的活动付费(requestAutocomplete是积极的第一步)。我们需要一些工具让应用开发成为HTML上面的优先项(谷歌旗下Polymer Project主导的Web Components将会改变一切)。作为一个十多年来始终从事Web应用开发的开发者,我相信这项技术会不断进步,以满足开发者的需要。

千万不要坐井观天,要勇敢走出去尝试新技术。只有这样,科技行业及Web平台才能变得越来越好。当然,你也要抱着谨慎的态度,以免随波逐流。但从长期来看,与Web对着干始终就像是涉世不深者才会下的赌注。我的建议是,在下这样的赌注之前,一定要万分小心。

原文:TechCrunch中国

发表评论

关闭菜单