博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

WEB2.0概念概述

Posted on 2006-06-03 16:01  ╁蓝驿┲→  阅读(401)  评论(0编辑  收藏  举报


   WEB2.0概念诠释           蓝驿整理    2006-6-3

  Web2.0,是相对Web1.0(2003年以前的互联网模式)的新的一类互联网应用的统称,是一次从核心内容到外部应用的革命。由Web1.0单纯通过网络浏览器浏览html网页模式向内容更丰富、联系性更强、工具性更强的Web2.0互联网模式的发展已经成为互联网新的发展趋势。

  Web1.0Web2.0的转变,具体的说,从模式上是单纯的共同建设发展;由被动地接收互联网信息向主动创造互联网信息迈进!从基本构成单元上,是由网页发表/记录的信息发展;从工具上,是由互联网浏览器向各类浏览器、rss阅读器等内容发展;运行机制上,由“Client Server”“Web Services”转变;作者由程序员等专业人士向全部普通用户发展;应用上由初级的滑稽的应用向全面大量应用发展。

  总之,Web2.0是以 FlickrCraigslistLinkedinTribesRyze FriendsterDel.icio.us43Things.com等网站为代表,以BlogTAGSNSRSSwiki等应用为核心,依据六度分隔、xmlajax等新理论和技术实现的互联网新一代模式。

什么是Blog

  Blog的全名应该是Web log,后来缩写为BlogBlog是一个易于使用的网站,您可以在其中迅速发布想法、与他人交流以及从事其他活动。所有这一切都是免费的。

  什么是Blogger

  Blogger就是写Blog的人。从理解上讲,是一种表达个人思想、网络链接、内容,按照时间顺序排列,并且不断更新的出版方式。简单的说Blogger是一类人,这类人习惯于在网上写日记。

 什么是Wiki

  WIKI的来源

  WIKI概念的发明人是Ward Cunningham,该词来源于夏威夷语的“wee kee wee kee”,原本是快点快点” (quick)的意思。

  Wiki--一种多人协作的写作工具。Wiki站点可以有多人(甚至任何访问者)维护,每个人都可以发表自己的意见,或者对共同的主题进行扩展或者探讨.Wiki指一种超文本系统。

WIKI可以做什么

  WIKI最适合做百科全书、知识库、整理某一个领域的知识等知识型站点,几个分在不同地区的人利用wiki协同工作共同写一本书等等。Wiki技术已经被较好的用在百科全书、手册/FAQ编写、专题知识库方面。

什么是RSS

  RSS是站点用来和其他站点之间共享内容的一种简易方式(也叫聚合内容)的技术。最初源自浏览器新闻频道的技术,现在通常被用于新闻和其他按顺序排列的网站,例如Blog

  RSS可以干什么?

  1、订阅BLOG(BLOG上,你可以订阅你工作中所需的技术文章;也可以订阅与你有共同爱好的作者的日志,总之,BLOG上你对什么感兴趣你就可以订什么)

  2、订阅新闻(无论是奇闻怪事、明星消息、体坛风云,只要你想知道的,都可以订阅)

什么是Tag?

  Tag(标签)是一种更为灵活、有趣的分类方式,您可以为每篇日志、每个帖子或者每张图片等添加一个或多个Tag(标签),你可以看到网站上所有和您使用了相同Tag的内容,由此和他人产生更多的联系。Tag体现了群体的力量,使得内容之间的相关性和用户之间的交互性大大增强。

  比如,你在一篇日志上添加了读书“Tag”两个标签,就能通过这两个tag看到和你有相同兴趣的其他日志。同样,如果你给自己的网络书签贴上不同标签,那么,在下一次去寻找时,会轻易找到自己想要的信息。

什么是SNS

  SNS是一个采用分布式技术,通俗地说是采用P2P技术,构建的下一代基于个人的网络基础软件。

  SNS通过分布式软件编程,将现在分散在每个人的设备上的CPU、硬盘、带宽进行统筹安排,并赋予这些相对服务器来说很渺小的设备更强大的能力。这些能力包括:计算速度,通信速度,存储空间。

  SNS的技术起源:在互联网中,PC机、智能手机都没有强大的计算及带宽资源,它们依赖网站服务器,才能浏览发布信息。如果将每个设备的计算及带宽资源进行重新分配与共享,这些设备就有可能具备比那些服务器更为强大的能力。这就是分布计算理论诞生的根源,是SNS技术诞生的理论基础。

 

 什么是Ajax?

  Ajax的定义

  Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。Ajax包括:

  XHTMLCSS

  使用文档对象模型(Document Object Model)作动态显示和交互

  使用XMLXSLT做数据交互和操作

  使用XMLHttpRequest进行异步数据接收

  使用JavaScript将它们绑定在一起

  传统的web应用模型工作起来就象这样:大部分界面上的用户动作触发一个连接到Web服务器的HTTP请求。

  服务器完成一些处理---接收数据,处理计算,再访问其它的数据库系统,最后返回一个HTML页面到客户端。这是一个老套的模式,自采用超文本作为web使用以来,一直都这样用, 但看过《The Elements of User Experience》的读者一定知道,是什么限制了Web界面没有桌面软件那么好用。

     

  图1: 传统Web应用模型()Ajax模型的比较().

  这种旧的途径让我们认识到了许多技术,但它不会产生很好的用户体验。当服务器正在处理自己的事情的时候,用户在做什么?没错,等待。每一个动作,用户都要等待。

  很明显,如果我们按桌面程序的思维设计Web应用,我们不愿意让用户总是等待。当界面加载后,为什么还要让用户每次再花一半的时间从服务取数据?实际上,为什么老是让用户看到程序去服务器取数据呢?

  Ajax如何不同凡响

  通过在用户和服务器之间引入一个Ajax引擎,可以消除Web的开始-停止-开始-停止这样的交互过程. 它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。

  不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎---采用JavaScript编写并且通常在一个隐藏frame中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互--不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应。

  

  图 2: 传统Web应用的同步交互过程()Ajax应用的异步交互过程的比较().

  通常要产生一个HTTP请求的用户动作现在通过JavaScript调用Ajax引擎来代替. 任何用户动作的响应不再要求直接传到服务器---例如简单的数据校验,内存中的数据编辑,甚至一些页面导航---引擎自己就可以处理它. 如果引擎需要从服务器取数据来响应用户动作---假设它提交需要处理的数据,载入另外的界面代码,或者接收新的数据---引擎让这些工作异步进行,通常使用XML, 不用再担误用户界面的交互。

什么是xml

可扩展性标记语言,是一种用于描述在i/o流中数据应如何表示的标记语言。

xml 的现状

 如其名,XML的强大功能来自于“X”。也就是说,XML不但是置标语言,而且是可扩展的(eXtensible)置标语言。XML并非象HTML那样,提供了一组事先已经定义好了的标签,而是提供了一个标准,利用这个标准,你可以根据实际需要定义自己的新的置标语言,并为你的这个置标语言规定它特有的一套标签。准确的说,XML是一种源置标语言,它允许你根据它所提供的规则,制定各种各样的置标语言。这也正是XML语言制定之初的目标所在。

xml的应用是什么?xml到底能做什么?

首先说,xml的技术有两项的很显著的特点。

1,数据和现实的分离。

2,数据的自描述性。

下面我就从这两个方面,结合自己的经验和丛书中了解的知识,简单的谈一下。

第一:数据和现实的分离。

比如说你手头上有一篇的资料(我们这里先假定是文字的资料,因为如果涉及到图,影像等范围就太广了,也不是我只能力所及),是xml的数据的格式,好了,如果你的客户想通过互联网看看你的资料。你就可以使用一个aaa.xsl把你的xml的数据格式化为HTML的格式,同时这里面有个补充一点,因为你可以控制你要显示的内容,你可以过滤掉对于客户不能看到的信息。但是这里面你并没有动原来的数据。

如果你的老板想把资料打印出来,作为报表向上级汇报,还是用原来的数据,再写一个bbb.xsl,把xml的数据输出为一个漂亮的报表的形式。ok了。

如果你以前的数据是txt的格式,你就必须从新的要做两种的格式,

一个html的,一个报表的。你的工作最多时copycopy

2,数据的自描述性。

比如说我的个人信息。

对于数据库来说,可能建立一个users的表。建立不同的字段。

数据取得可以是

rs("name")="jiangtianpeng"

rs("Emial")="wfxian@263.net"

rs("Id")="dadapeng"

但是没有了rs或者对于外部来说又如何的区分idname的区别。

dadapengid?还是name?

jiangtianpengname?还是id?

 

ok

xml描述一下个人信息

<person>

   <name>jiangtianpeng</name>

   <id>dadapeng</id>

   <natio>china</nation>

....

   <email>wfxian@263.net</email>

</person>

是不是一目了然。

实际上面的问题就涉及到了不同系统之间的xml的交换。xml是不同系统之间的桥梁。

我谈一下我工作的xml经验

我现在的工作是一个中文,英文,俄文三种语言的网站,

比如我们通过com组件的得到一个用户的信息

可能是

<user id='feiddd' name_CN="" name_EN="ddddf"

name_RU='这里是俄文' 。。。。等等的信息  />

在中文上就写一个显示中文的xsl,

在英文上就写一个显示英文信息的xsl

 

如果不用这种技术,将会很麻烦的。