Web 2.0, 是一个由O’Reilly 公司在2003 年造的一个词。2004 年召开Web 2.0大会之后,这个词就流行起来,意指基于Web 的下一代社区和托管服务,比如社会网络、维基百科、大众分类等等,帮助Web 用户协作和分享。
业界里头没有一个准确的关于Web1.0、2.0的清晰定义,因为这本身就是一个充满争议的话题,也没有一个确定的时间点来划分这两个阶段,但是业界基本按照如下这么划分:
Web 1.0:2001 年网络泡沫之前的互联网模式,以门户网站和分类检索为主要服务,典型的如Yahoo!、新浪、搜狐等门户网站
Web 2.0:第一轮的互联网泡沫之后兴起的一批互联网企业,强调以用户为中心,更加注重交互式用户体验,以MySpace、Youtube、FaceBook 这样的为代表
Web 3.0 or N.0: 相对于现有Web模式的革新,也就是通常所说的下一代的Web,既然是未来的,也就意味着是不曾发生的
Web 2.0的关键技术和理念:
1. Syndication(聚合):Web 2.0需要以一种标准统一的方式为用户提供数据,从而为数据提供“可获达”的能力。RSS、ATOM。
2. 富客户端体验:通过一些技术的实现让用户尽可能流畅地使用网站本身,“异步刷新”成为一种标准支持,竭尽保证用户对于Web 的使用习惯和PC桌面程序一致。Ajax、Adobe 、SilverLight。
3. 标准化/ 可编程:为网站提供一个标准的集成方案,从而允许用户在不通层级上实现和网站的互动。提供开放的API 的能力。
4. 社会计算:以用户为中心,强调人际之间的互动,也就是社会计算。对于Web 2.0 网站而言,参与制作的是用户,从而分享的也是用户,分享用户船作的内容,分享用户信息。SNS( 社会网络软件) 、推荐系统。
5. REST/Mash-up:允许使用异构的技术实现,最终通过一些整合技术和规范组装成一个完整的应用。REST(Representational State Transfer,表现状态转换)是比Web Services限制更少的SOA形式,它是一系列独立技术特征的集合,除了需要基于HTTP的需求。 Mash-up是指网站采用混合技术搭建,不同的功能模块与不同的外界API 接口对接实现。REST是架构设计理念,而Mash-up 则是一种实现的模式。
从简单的话来讲,Web 2.0网站的开发都会默认地遵循一个规范:
1. 所有的服务都是数据驱动的
2. 数据之间的状态可以彼此转换
3. 在最终页面,允许利用不同的技术整合不通的内容,从而以一致的方式呈现给用户
4. 在前端,任何技术都是可以混同的,甚至你在一个页面可以使用到Ajax、Xml、Json、REST,甚至会允许用户自定义页面内容和表现
Web 2.0 的发展,对软件的重要影响,集中在下面几个方面:
Web 2.0 带来了“简单性”,也就是软件容易使用、易于组合和混用、易于扩展。这对传统软件,尤其是企业软件来说是很不简单的一个改变。因为企业软件过去高高在上,往往需要花很大的力气来集成,需要专业人员来维护和扩展,用户也需要经过训练才能很好地使用软件。
Web 2.0带来了“软件即服务”的观念,用户付费即用,无需操心开发、安装、部署和运营维护,开发的过程也极大程度地由用户驱动,用户需求的反馈非常及时。
Web 2.0带来了社区和用户的增值,也就是用户不只是纯粹的消费者,他们还是生产者,系统利用他们贡献的数据(比如标签、意见)和行为,通过网络效应和算法,获得“群众智慧”,利用它们构成的社会网络,获得口碑相传。