国外媒体近日发表文章称,实时Web并不只是一种时尚,而是一种技术趋势。将来,实时技术将成为一种默认技术,不是只有谷歌、Facebook和Twitter才能玩得起。
以下为文章内容摘要:
实时Web并不只是一种时尚,而是一种技术转移——即时访问Web。实时技术使Web应用变得更快,在某些情况下,几乎与桌面应用没有区别。
实时技术最初的灵感来源很简单——开发经典街机游戏《小行星》(Asteroids)的在线版本,不同的是可以多人同时在线游戏(MMO)。
德利斯勒“失败版”MMO《小行星》
得益于强大的网络后端的支持,在线版《小行星》需要支持数百人同时游戏。更重要的是,要做到实时效果,每个游戏玩家都能毫无延迟地看到每次射击,每个动作。
对于Hacker news 社区而言,这是一件不幸的事情,因为他们最初发现,这根本无法实现,只是一个愚人节玩笑而已。不难理解,这让不少游戏玩家感到失望,但是该创意听起来确实可行。随着技术的发展,似乎距离该目标已经不远。例如Node(用来编写高性能网络服务器的JavaScript工具包)的出现,使得用很少的几台服务器即可同时处理大量用户的指令。此外还有WebSocket协议,使得用户之间的持久连接变为可能。
但JavaScript开发人员赛博•李-德利斯勒(Seb Lee-Delisle)仍然认为不可行,他认为,一旦真的推出MMO版《小行星》,其弹性和稳定性均无法保证,因为游戏要经常交换数据、调整设置、检查冲突等。德利斯勒说:“告诉大家一个不好的消息,如果真的推出MMO版《小行星》,那么游戏也将很乏味。”
实时Web成为现实
而另一名开发人员维克拉姆•尼扎(Vikrum Nijjar)则希望将其作为一个挑战,认为是可行的。幸运的是,尼扎与其他开发人员合作,已经开发出了使之变为现实的软件Firebase。这一次,尼扎的MMO版《小行星》变为了现实,同时也登上了Hacker News的首页。
尽管也略微有些缺陷,但却保证了所有动作的实时显现,做到了最小化延迟。
“实时”是技术界颇受欢迎的一个流行语,是开发人员、商家和公共关系代表等用来描述一种体验或即时在线互动的。例如,Twitter被赞许为实时信息源,Facebook也利用好友的更新和图像实时更新用户首页,一个科技博客网站也承诺对内容进行实时更新。
但是,在上述所谓的实时服务中,都存在延迟,短的几秒钟,长的几分钟。只是我们没在意,或没必要计较而已,因为我们最终获得的内容仍具有价值,让我们满意。尽管如此,事实上的延迟不可否认。在聊天或发表评论时,这些延迟是可以容忍的。但随着数据的越来越复杂,在某些情况下,如大型多人同时在线游戏,延迟是不可接受的。
今天的许多互联网应用的运行模式是:客户端向服务器发送数据请求,然后从数据库抽取数据。如果数据发生任何变化,应用自身需要再次与服务器进行核实,免得用户手动刷新页面。这种反复连接服务器的过程被称为“轮询”(polling)。
但在实时环境下根本没有轮询,而是订阅(subscriptions)。一个客户端订阅数据库中的数据,无论何时当数据变化时,客户端都将接到更新。这种变化无需轮询,是因为它们是主动推送的,正如某些通知被推动给智能手机。
Web浏览器将成为主角
创建富媒体实时应用的Web框架Meteor联合开发人员马特•德波伽里斯(Matt Debergalis)称:“我们当前正处在这种转移时期,这种转移通常每15年发生一次,所有代码都要重新编写。”
德波伽里斯解释道,在20世纪70年代至80年代初,软件主要运行在大型主机和服务器上,用户使用非智能设备连接。到了80年代后,客户端-服务器模式出现,随后互联网诞生。
德波伽里斯说:“大约15年后,Web再次要求我们重写所有软件。因为我们将从桌面应用转向新的模式,这一次软件再次运行在服务器上。”但不同的是,这一次的终端是Web浏览器。
如今,桌面软件华丽的用户界面正在消失,取而代之的是一些简单的Web功能。从Gmail和Rdio即可看出这一变化,访问终端是Web浏览器。
Rdio应用
这就是实时连接,应用在外观和表现上与桌面应用几乎没有区别,我们预计将来的互动也没有区别。Rdio就是一个出色的Web应用,在浏览器中运行,与在桌面上运行几乎没有区别。
当然,实时技术并不是什么新鲜事物,低延迟的软件和硬件,以及对信息的几乎同步访问已存在多年。但开发人员菲尔•莱格特(Phil Leggetter)称:“没有人在金融以外的领域使用。”
莱格特称,只是最近几年,实时技术才从小众领域走进大众市场。Twitter是一个转折点,使得信息可以被实时发现。但莱格特称:“下一个目标是实时投递。”
经济实惠的Node
与任何开发人员谈论实时技术,都将不可避免地谈到Node。Node是一款用来编写高性能网络服务器的JavaScript工具包,今天的许多实时应用都采用了Node。
当然,Node也并非唯一的实现方法。Twitter服务器实时搜索结果使用的就是前端系统Blender,后者依靠的是Java网络框架Netty。而Facebook采用的是Apache Web服务器和自主开发的HipHop。
不同的是,Facebook、Twitter和谷歌不仅仅是发送和接收信息,他们还需要大量的计算能力来注释、分析和返回数据。而一些小型开发人员的需求很简单,使用Node较为实际。
实时应用通常并不需要大量的计算能力,因为这些需求可以交给专业服务来解决,如亚马逊的EC2。相反,他们需要以最快速度移动、路由和连接大量数据的能力。
这就是速度至关重要的原因。在德波伽里斯所说的Web浏览器终端世界,限制用户体验的只有两个因素,数据传输速度和同时连接服务器的数量。而Node可以在很大程度上同时解决这两大问题。
对于Facebook而言,这可能不是什么问题,因为他们对定制的PHP和Apache服务很满意,也拥有足够的资金用来升级。但对于小型开发商或开发团队而言,利用最少的资源开发出更具吸引力的实时体验无疑至关重要。
前景光明
经过多年的实时技术研究,开发人员莱格特对此持乐观态度。他说,我们已经看到一些产品和服务,虽然没有将实时作为卖点,但确实是依赖于实时技术,这是一件好事。
莱格特说:“这意味着,我们开始看到实时技术的实际应用,而不仅限于理论。这项技术很酷,让我们一起努力,充分挖掘其使用价值。”
德利斯勒同样持乐观态度,称MMO版《小行星》只是一个开始。他说:“实时技术将成为一种默认技术,不是只有谷歌、Facebook和Twitter才能承受得起。”
分享到:
相关推荐
传统的实时Web技术基于HTTP协议,其工作模式是客户端发起请求,服务器响应并返回数据,然后断开连接。由于HTTP协议的无状态特性,这种模式在实时性方面存在局限,如频繁的轮询请求会增加服务器负载和网络流量,而长...
在当今的互联网时代,实时通信已成为应用开发中的一项关键需求。WebSocket提供了一种在单个长连接上进行全双工通信的方式,允许服务器和客户端...随着Web技术的发展,WebSocket将继续在构建现代Web应用中发挥重要作用。
在提供的压缩包文件中,我们可以看到一系列有关Web客户端编程的知识点,如"ITJOB_TP"系列可能是教学课件,涵盖了不同阶段的Web技术学习;"WEB客户端编程知识要点.ppt"可能是对核心概念的总结;"chapter1-3课堂案例...
从事Web应用开发,从了解web应用技术基础开始
构建实时Web应用是一个涉及多种技术和工具的过程,涵盖了前端到后端开发的各个方面。基于HTML5 WebSocket、PHP和jQuery的实时Web应用开发,提供了一种高效、实时地交换数据的方式。以下是相关的知识点详解: ### ...
《WEB 数《WEB 数据库技术》据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》
深入分析Java Web技术内幕 修订版 , 许令波版。 展示了Java Web 技术知识体系,有助于全面了解Java Web技术。
**互联网与Web技术概论** 互联网(Internet)和Web技术是现代信息社会的基石,它们极大地改变了人们的生活、工作和交流方式。理解这两者的基本概念和技术原理,对于深入学习信息技术和相关领域至关重要。 **1. ...
"信息安全技术Web应用安全检测系统安全技术要求和测试评价方法" 根据提供的文件信息,吾可以总结出以下知识点: 1. Web应用安全检测的重要性:随着互联网的普及和web应用的普及,Web应用安全检测变得日益重要。Web...
Web应用通常从数据库或其他数据源获取数据,这些数据通过JavaScript、AJAX等技术实时加载到模板中。数据绑定技术如Mustache、AngularJS、Vue.js等框架提供了便利的数据绑定机制,使数据能动态地更新到模板上。 4. *...
《Web渗透技术及实战案例解析》从Web渗透的专业角度,结合网络安全中的实际案例,图文并茂地再现Web渗透的精彩过程。《Web渗透技术及实战案例解析》共分7章,由浅入深地介绍和分析了目前网络流行的Web渗透攻击方法和...
web test web开发技术 web test web开发技术
深入分析Java Web技术内幕深入分析Java Web技术内幕
由于Java Web开发技术大全pdf文件太大120多M,上传资源要求在20M以内,所以大家必须要把Java Web开发技术大全.z01,Java Web开发技术大全.z02,Java Web开发技术大全.z03,Java Web开发技术大全.z04,Java Web开发...
文章分析了Web技术监控系统的原理和组成,成功建立了煤矿生产监控系统和Web应用系统的连接。提出了基于Web浏监器监控数据库访问技术,详细描述了访问程序的开发和应用,该研究对煤矿企业信息平台实现监控系统网络化成为...
还有可能涉及WebSocket技术,它允许双向通信,为实时Web应用提供了可能性。 容器化部署和微服务架构也是现代Java Web开发的重要趋势。Docker容器和Kubernetes集群管理工具可能在书中有所介绍,它们可以帮助开发者...