本教程操作环境:windows7系统、DellG3电脑。
Web2.0,是相对Web1.0(2003年以前的互联网模式)的新的一类互联网应用的统称,是一次从核心内容到外部应用的革命。由Web1.0单纯通过网络浏览器浏览html网页模式向内容更丰富、联系性更强、工具性更强的Web2.0互联网模式的发展已经成为互联网新的发展趋势。Web2.0是信息技术发展引发网络革命所带来的面向未来、以人为本的创新2.0模式在互联网领域的典型体现,是由专业人员织网到所有用户参与织网的创新民主化进程的生动注释。
web2.0技术的基本特征
相对于web1.0,web2.0具有以下特征:
1、多人参与
Web1.0里,互联网内容是由少数编辑人员(或站长)定制的,比如搜狐;而在Web2.0里,每个人都是内容的供稿者。Web2.0的内容更多元化:标签tag、多媒体、在线协作等等。在Web2.0信息获取渠道里,RSS订阅扮演者一个很重要的作用。
2、可读可写互联网
在Web1.0里,互联网是“阅读式互联网”,而Web2.0是“可写可读互联网”。虽然每个人都参与信息供稿,但在大范围里看,贡献大部分内容的是小部分的人。
Web2.0七大原则
1.互联网作为平台
正如许多重要的理念一样,Web2.0没有一个明确的界限,而是一个重力核心。不妨将Web2.0视作一组原则和实践,由此来把距离核心或远或近的网站组成为一个类似太阳系的网络系统,这些网站或多或少地体现着Web2.0的原则。可以说,Web2.0是发展引发信息革命所带来的面向未来、以人为本的以开放创新、共同创新为特点的创新2.0模式在互联网领域的典型体现,是由专业人员织网到所有用户参与织网的创新民主化进程的生动注释。
Akamai也将网络看作平台,并且在一个更深入的层次上,来搭建一个透明的缓存和内容分发网络,以便降低宽带的拥塞程度。
虽然如此,这些先驱提供了有益的对比,因为后来者遇到同样问题的时候,可以将先驱们的解决方案进一步延伸,从而对新平台本质的理解也更为深刻了。DoubleClick和Akamai都是Web2.0的先驱,同时我们也可以看到,可以通过引入更多Web2.0的设计模式,来实现更多的应用。
2.利用集体智慧
在诞生于Web1.0时代并且存活了下来,而且要继续领导Web2.0时代的那些巨人的成功故事的背后,有一个核心原则,就是他们借助了网络的力量来利用集体智慧
--超级链接是互联网的基础。当用户添加新的内容和新的网站的时候,将被限定在一种特定的网络结构中,这种网络结构是由其他用户发现内容并建立链接的。如同大脑中的神经突触,随着彼此的联系通过复制和强化变得越来越强,而作为所有网络用户的所有活动的直接结果,互联的网络将有机地成长。
--Yahoo!是第首例伟大的成功故事,诞生于一个分类目录,或者说是链接目录,一个对数万甚至数百万网络用户的最精彩作品的汇总。虽然后来Yahoo!进入了创建五花八门的内容的业务,但其作为一个门户来收集网络用户们集体作品的角色,依然是其价值核心。
--Google在搜索方面的突破在于PageRank技术,该技术令其迅速成为搜索市场上毫无争议的领导者。PageRank是一种利用了网络的链接结构,而不是仅仅是使用文档的属性,来实现更好的搜索效果的方法。
--eBay的产品是其全部用户的集体活动,就向网络自身一样,eBay随着用户的活动而有机地成长,而且该公司的角色是作为一个特定环境的促成者,而用户的行动就发生在这种环境之中。更重要的是,eBay的竞争优势几乎都来自于关键性的大量的买家和卖家双方,而这正是这一点使得后面许多竞争者的产品的吸引力显著减低。
--Amazon销售同Barnesandnoble.com等竞争者相同的产品,同时这些公司从卖方获得的是同样的产品描述、封面图片和目录。所不同的是,Amazon已然缔造出了一门关于激发用户参与的科学。Amazon拥有比其竞争者高出一个数量级以上的用户评价,以及更多的邀请来让用户以五花八门的方式,在近乎所有的页面上进行参与,而更为重要的是,他们利用用户的活动来产生更好的搜索结果。Barnesandnoble.com的搜索结果很可能指向该公司自己的产品,或者是赞助商的结果,而Amazon则始终以所谓“最流行的”打头,这是一种实时计算,不仅基于销售,而且基于其他一些被Amazon内部人士称为围绕着产品“流动”(flow)的因素。由于拥有高出对手一个数量级的用户参与,Amazon销售额超出竞争对手也就不足为奇了。
现在,具备了这种洞察力,并且可能会将之延伸开来的那些创新型的公司,正在互联网上留下他们的印迹。
维基百科全书(Wikipedia)是一种在线百科全书,其实现基于一种看似不可能的观念。该观念认为一个条目可以被任何互联网用户所添加,同时可以被其他任何人编辑。无疑,这是对信任的一种极端的实验,将埃里克·雷蒙德(EricRaymond)的格言(源自开放源码软件的背景之下):“有足够的眼球,所有的程序缺陷都是肤浅的”(withenougheyeballs,allbugsareshallow)运用到了内容的创建之中。维基百科全书已然高居世界网站百强之列,并且许多人认为它不久就将位列十强。这在内容创建方面是一种深远的变革。
协作式垃圾信息过滤产品,例如Cloudmark,就聚集了电子邮件用户们对于“一封邮件是或者不是垃圾邮件”的众多相互独立的决策,从而胜过了依赖于分析邮件本身的那些系统。
即便许多互联网基础设施本身,包括在大多数网络服务器中用到的Linux,Apache,MySQL,以及Perl,PHP或Python代码,也都依靠开放源码的对等生产(peer-production)的方式。其中包含了一种集体的、网络赋予的智慧。在SourceForge.net网站上列有至少10万种开放源码软件项目。任何人都可以添加一个项目,任何人都可以下载并使用项目代码。
同时,由于作为用户使用的结果,新的项目从边缘迁移到中心。一个对软件的有机的接受过程几乎完全依靠病毒式营销。同时,作为用户应用的结果,新的项目从边缘迁移到中心,这是一种几乎完全依靠病毒式营销的,有机的软件采用过程,。
经验是:源于用户贡献的网络效应,是在Web2.0时代中统治市场的关键。
3.数据是下一个IntelInside
现在每一个重要的互联网应用程序都由一个专门的数据库驱动:Google的网络爬虫,Yahoo!的目录(和网络爬虫),Amazon的产品数据库,eBay的产品数据库和销售商,MapQuest的地图数据库,Napster的分布式歌曲库。正如哈尔·瓦里安(HalVarian)在去年的私人对话中谈到的,“SQL是新的HTML”。数据库管理是Web2.0公司的核心竞争力,其重要性使得我们有时候称这些程序为“讯件”(infoware)而不仅仅是软件。
该事实也引出了一个关键问题:谁拥有数据?
近期Google地图的引入,为应用程序销售商和其数据提供商之间的竞争,提供了一个活生生的实验室。Google的轻量型编程模型已经引发了不计其数的增值服务的出现,这些服务以数据混合的方式,将Google的地图同其他可以通过互联网访问的数据源相结合。保罗·拉特马赫(PaulRademacher)的housingmaps.com是这种混合的一个上佳范例,其网站将Google的地图同Craigslist的公寓出租,以及住宅购买数据相结合,来创建一种交互式的房屋搜索工具。
目前,这些混合大多是由程序高手们实现的创新性的实验产品。但是企业行动将紧随其后。并且,人们已经可以从至少一类开发者中发现这一点。Google已经将数据源提供者的角色从Navteq那里夺走,并且将自己定位为一个令人喜爱的中介者。在以后几年里,我们将会看到数据提供商和程序销售商之间的斗争,因为两大阵营都认识到了,特定的数据类别在作为搭建Web2.0程序的积木时是多么的重要。
这场竞赛已经涉及到拥有特定类别的核心数据:位置、身份、公共事件日历、产品标识和命名空间等。在许多情况下,在那些创建数据需要巨额成本的地方,也可能存在一种如同IntelInside方式一样凭借单一数据源来所有作为的机遇。其他情况下,胜者将是那些通过用户聚合来达到临界规模,并且将聚合的数据融入系统服务中的公司。
正如专有软件的增长而导致自由软件运动一样,在下一个10年中我们会看到专有数据库的增长将导致自由数据运动。在像维基百科全书这样的开放数据项目、创作共用(CreativeCommons)、以及像Greasemonkey(让用户决定如何在其计算机上显示数据)这样的软件项目中,我们可以看到这种对抗势头的前兆。
4.软件发布周期的终结
如上文在对Google和Netscape的比较中谈到的,互联网时代软件的代表性特征就是它应该被作为服务来交付。这种事实导致这类公司的商业模式上很多根本性的变化。
所以,Google的系统管理、网络、和负载均衡技术,可能比其搜索算法更被严加看管,也就不足为奇了。Google在自动化这些步骤上的成功是其同竞争者相比更有成本优势的一个关键方面。
同样也不足为奇的是,像Perl、Python、PHP、和当前的Ruby这样的脚本语言在Web2.0公司中扮演着重要角色。Sun公司的第一个网管哈桑·施罗德(HassanSchroeder)曾对Perl有一个著名的形容:“互联网的管道胶带”(theducttapeoftheinternet)。事实上,动态语言(常常被称为脚本语言,并被软件制品时代的软件工程师所贬低),是系统和网络管理员,以及创建可经常更新的动态系统的程序开发者们所喜爱的工具。
Flickr的总开发师卡尔·亨德森(CalHenderson),近来透露了他们是如何在短至每半个小时就部署一个新版本的。显而易见,这是同传统方式有天壤之别的开发模式。虽然不是所有的网络程序都以像Flickr这样的极端方式来开发,但几乎所有网络程序都有一个同任何PC或者客户-服务器时代截然不同的开发周期。正因如此,ZDnet杂志才论断Microsoft不会打败Google:“Microsoft的商业模式依赖于每个人在每两到三年都升级他们的计算环境。Google的模式则依靠任何人每天在其计算环境中自行探索新东西。”
5.轻量型编程模型
一旦网络服务的观念深入人心,大型公司将以复杂的网络服务堆栈来加入到纷争之中。这种网络服务堆栈被设计用来为分布式程序建立更可靠性的编程环境。
但是,就像互联网成功正是因为它推翻了许多超文本理论一样,RSS以完美的设计来取代简单的实用主义,已经因其简单性而成为大概是应用最广泛的网络服务,而那些复杂的企业网络服务尚未能实现广泛的应用。
类似地,Amazon.com的网络服务有两种形式:一种坚持SOAP(SimpleObjectAccessProtocol,简单对象访问协议)网络服务堆栈的形式主义;另一种则简单地在HTTP协议之外提供XML数据,这在轻量型方式中有时被称为REST(RepresentationalStateTransfer,代表性状态传输)。虽然商业价值更高的B2B连接(例如那些在Amazon和一些像ToysRUs这样的零售伙伴之间的连接)使用SOAP堆栈,但是根据Amazon的报道,95%的使用来自于轻量型REST服务。
同样的对简易性的要求,可以从其他“朴实的”网络服务中见到。Google近来的Google地图的推出就是一个例子。Google地图的简单AJAX(Javascript和XML的结合)接口迅速被程序高手们破译,被随即进一步将其数据混合到新的服务之中。
这里有几条重要的经验:
1.支持允许松散结合系统的轻量型的编程模型。由企业开发的网络服务堆栈的复杂设计是用来促成紧密结合的。虽然这在许多情况下是必须是,但是许多最重要的应用程序可以事实上保持松散结合,甚至是脆弱的结合。Web2.0的理念同传统的IT的理念迥然不同。
2.考虑聚合(syndication)而不是协调(coordination)。简单的网络服务,例如RSS和基于REST的网络服务,是用来向外聚合数据,但并不控制其达到连接的另外一端时发生的事情。这种想法是互联网本身的基础,一种对所谓端到端原则的反映。
3.可编程性和可混合性设计。像最初的互联网一样,RSS和AJAX这样的系统,都有此共同点:重用的障碍非常低。许多有用的软件事实上是开放源码的,而即便它不是,也没有许多东西来保护其知识产权。互联网浏览器的“查看源文件”选项,使得许多用户可以复制其他任何用户的网页;RSS被设计得使用户能够在需要的时候查看所需要的内容,而不是按照信息提供者的要求;最成功的网络服务,是那些最容易采纳未被服务创建者想到的新的方向。同更普遍的“保留所有权利”(allrightsreserved)相比,随着创作共用约定而普及的“保留部分权利”(SomeRightsReserved)一词成为一个有益的指路牌。
6.软件超越单一设备
当然,任何的网络程序都可被视为超越单一设备的软件。毕竟,即便是最简单的互联网程序也涉及至少两台计算机:一个负责网络服务器,而另一个负责浏览器。而且就如我们已经探讨过的,在将网络作为平台的开发中,把这个概念拓展到由多台计算机提供的服务而组成的合成应用程序中。
但是如同Web2.0的许多领域一样,在那些领域中“2.0版的事物”(2.0-ness)并不是全新的,而是对互联网平台真正潜能的一种更完美的实现,软件超越单一设备这一说法赋予我们为新平台设计程序和服务的关键性的洞察力。
迄今为止,iTunes是这一原则的最佳范例。该程序无缝地从掌上设备延伸到巨大的互联网后台,其中PC扮演着一个本地缓存和控制站点的角色。之前已经有许多将互联网的内容带到便携设备的尝试,但是iPod/iTunes组合却是这类应用中第一个从开始就被设计用于跨越多种设备的。TiVo则是另外一个不错的例子。
iTunes和TiVo也体现了Web2.0的其他一些核心原则。它们本身都不是网络程序,但都利用了互联网平台的力量,使网络成为其体系中无缝连接的、几乎不可察觉的一部分。数据管理显然是它们所提供的价值的核心。它们也是服务,而非打包的程序(虽然对于iTunes来说,它可以被用作一个打包的程序来仅仅管理用户本地的数据)。不仅如此,TiVo和iTunes都展示了一些集体智慧的方兴未艾的应用。虽然对于每个情况,其实验都是同网络IP入口的周旋。iTunes中只有有限的参与体系,虽然近来增加的播客(podcasting)将这一规则规律性了不少。
7.丰富的用户体验
最早可以追溯到1992年魏裴(PeiWei)开发的Viola浏览器,互联网就被用来在网页浏览器中传送“小程序”(applet)和其他一些活动内容。1995年Java的引入就是围绕着这样的小程序的传送。JavaScript和后来的DHTML都被作为轻量型方式引入,来为客户端提供可编程性和丰富的用户体验。几年以前,Macromedia缔造出“丰富的互联网应用程序”(RichInternetApplications)一词(该词也被Flash的竞争者开放源码的Laszlo系统使用),以便凸显Flash不仅可传送多媒体内容,而且可以是GUI(图形用户界面)方式的应用程序体验。
然而,互联网传递整个应用程序的潜能在Google引入Gmail之前,一直没有成为主流,紧接着就是Google地图程序,一些基于互联网的带有丰富用户界面以及PC程序等同的交互性的应用程序。在网络设计公司AdaptivePath的耶希詹姆斯加莱特(JesseJamesGarrett)的一个讨论会论文中,Google所使用的这组技术被命名为AJAX。他写道:
Ajax不是一项技术。它其实是几项技术,每项技术自身都很繁荣,它们以强有力的全新方式结合起来。Ajax涵盖:
--运用XHTML和CSS实现基于各种标准的展示。
--运用文档对象模型(DocumentObjectModel)实现动态显示和交互。
--运用XML和XSLT实现数据交换和操作。
--运用XMLHttpRequest实现异步数据检索。
--JavaScript将所有这些绑定到一起。
AJAX也是Web2.0程序的一个关键组件,例如现在归属Yahoo!的Flickr,37signals的程序basecamp和backpack,以及其他Google程序,例如Gmail和Orkut。我们正在步入一个史无前例的用户界面创新阶段,因为互联网开发者们终于可以创建,像本地基于PC的应用程序一样丰富的网络程序了。
有趣的是,许多现在正被探索的功能已经存在了很多年了。90年代后期,Microsoft和Netscape,都对现在终于被认识到的那些功能有所洞察,但是它们对于所要采用的标准的争斗,使得实现跨浏览器的应用程序变得困难。仅在当初Microsoft确定无疑地赢得了浏览器之战的时候,而且那时事实上只需要针对一个浏览器标准,编写这种程序才成为可能。同时,虽然Firefox在浏览器市场中重新引入了竞争,但至少在目前我们还没有看到对互联网标准的破坏性的争夺以至于我们倒退到90年代。
在接下来的几年中,我们会看到许多新的网络程序,不仅确实是新颖的程序,而且是对PC程序丰富的网络再现。到目前为止,每个平台的变革也都为改变那些在旧平台中占主导地位的程序的领导地位创造了机会。
Gmail已经在电子邮件中提供了一些有意思的创新,将互联网的力量(随处可访问、深层的数据库能力、可搜索性)与在易用性方面同PC界面接近的用户界面相结合。同时,PC平台上的其他邮件程序,正在从另一端通过增添IM和呈现能力,来蚕食着这一领域。我们离集成通信客户端有多少远呢?这些集成通信客户端应是整合了电子邮件、即时通信和手机,并且应使用VoIP以便向网络程序的丰富功能中添加语音能力。这种竞赛已经开始。
此外,Web2.0革命不会局限于PC程序。例如,在CRM这样的企业级应用程序中,Salesforce.com展示了网络是如何被用来以服务的方式来传递软件的。
对新的进入者来说,竞争机会在于充分开发Web2.0的潜能。成功的公司将创建可以向其用户学习的程序,利用可供参与的体系来建立一种决定性的优势,不仅在软件的界面方面,而且在共享数据的丰富程度方面。