<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux&#124;系统管理&#124;WEB开发 &#187; ajax</title>
	<atom:link href="http://blog.wgzhao.com/tag/ajax/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.wgzhao.com</link>
	<description>关注Linux，系统管理，WEB开发以及开源世界</description>
	<lastBuildDate>Wed, 14 Jul 2010 08:00:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>获得表单所有数据的简单javascript脚本</title>
		<link>http://blog.wgzhao.com/2007/03/02/javascript-get-all-data-from-form.html</link>
		<comments>http://blog.wgzhao.com/2007/03/02/javascript-get-all-data-from-form.html#comments</comments>
		<pubDate>Fri, 02 Mar 2007 14:34:41 +0000</pubDate>
		<dc:creator>wgzhao</dc:creator>
				<category><![CDATA[WEB开发]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[表单]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=643</guid>
		<description><![CDATA[写这个脚本是为Ajax服务的，我们知道Ajax发起http请求后，查询字符串是需要自己送出去，而不是依赖表单的提交方式(submit)。这样一来这个脚本就能派上用场了，只是这里没有做表单的校验。下次可以考虑写一个表单校验的js脚本。不废话了，看代码[codes=javascript]&#60;html&#62;&#60;head&#62;&#60;meta http-equiv=&#34;content-type&#34; content=&#34;text/html;charset=GB2312&#34;&#62;&#60;meta http-equiv=&#34;Pragma&#34; content=&#34;no-cache&#34; /&#62;&#60;title&#62;get form data test V0.1&#60;/title&#62;&#60;script type=&#34;text/javascript&#34;&#62; &#160;var dtype=Array(&#34;input&#34;,&#34;select&#34;,&#34;textarea&#34;); /*要获取哪些元素的数据*/ &#160;var dtypeNum = 3; &#160;/* &#160;* &#160;获取指定的表单的所有元素应该传递的值，并形成查询字符串。 &#160;* &#160;主要用在Ajax环境下，传递查询参数。 &#160;* &#160;author: mlsx &#160;* &#160;blog: http://mlsx.xplore.cn &#160;* &#160;date: 2007-03-02 &#160;*/function getformdata(formobj){ &#160;try{ &#160;var d = document.getElementById(formobj); &#160;var i = 0; &#160;var j = 0; &#160;var qstring = &#34;&#34;; &#160;var nodeArray = new [...]]]></description>
			<content:encoded><![CDATA[<p>写这个脚本是为Ajax服务的，我们知道Ajax发起http请求后，查询字符串是需要自己送出去，而不是依赖表单的提交方式(submit)。这样一来这个脚本就能派上用场了，只是这里没有做表单的校验。下次可以考虑写一个表单校验的js脚本。<br/><span id="more-643"></span><br/>不废话了，看代码<br/>[codes=javascript]<br/>&lt;html&gt;<br/>&lt;head&gt;<br/>&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html;charset=GB2312&quot;&gt;<br/>&lt;meta http-equiv=&quot;Pragma&quot; content=&quot;no-cache&quot; /&gt;<br/>&lt;title&gt;get form data test V0.1&lt;/title&gt;<br/>&lt;script type=&quot;text/javascript&quot;&gt;<br/> &nbsp;var dtype=Array(&quot;input&quot;,&quot;select&quot;,&quot;textarea&quot;); /*要获取哪些元素的数据*/<br/> &nbsp;var dtypeNum = 3;<br/> &nbsp;/*<br/> &nbsp;* &nbsp;获取指定的表单的所有元素应该传递的值，并形成查询字符串。<br/> &nbsp;* &nbsp;主要用在Ajax环境下，传递查询参数。<br/> &nbsp;* &nbsp;author: mlsx<br/> &nbsp;* &nbsp;blog: http://mlsx.xplore.cn<br/> &nbsp;* &nbsp;date: 2007-03-02<br/> &nbsp;*/<br/>function getformdata(formobj)<br/>{<br/> &nbsp;try{<br/> &nbsp;var d = document.getElementById(formobj);<br/> &nbsp;var i = 0;<br/> &nbsp;var j = 0;<br/> &nbsp;var qstring = &quot;&quot;;<br/> &nbsp;var nodeArray = new Array();<br/> &nbsp;for(;i&lt;dtypeNum;i++)<br/> &nbsp;{<br/> &nbsp; &nbsp; &nbsp;nodeArray.push(d.getElementsByTagName(dtype<i>));<br/> &nbsp;}<br/> &nbsp;var nodenum = 0;<br/> &nbsp;for(i=0;i&lt;dtypeNum;i++)<br/> &nbsp;{<br/> &nbsp; &nbsp; nodenum = nodeArray<i>.length;<br/> &nbsp; &nbsp; var tmpobj = nodeArray<i>;<br/> &nbsp; &nbsp; for(j=0;j&lt;nodenum;j++)<br/> &nbsp; &nbsp; {<br/> &nbsp; &nbsp; &nbsp; &nbsp;var stype = tmpobj[j].type;<br/> &nbsp; &nbsp; &nbsp; &nbsp;//alert(stype);<br/> &nbsp; &nbsp; &nbsp; &nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp;if (stype == &quot;text&quot; &nbsp;&#124;&#124; stype == &quot;password&quot; &#124;&#124; stype == &quot;hidden&quot; &#124;&#124; stype == &quot;textarea&quot;) /*一般文本输入框*/<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;qstring+=&quot;&amp;&quot; + tmpobj[j].name + &quot;=&quot; + tmpobj[j].value; &nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp;else if (stype == &quot;checkbox&quot; &#124;&#124; stype == &quot;radio&quot;) //选择框<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (tmpobj[j].checked) qstring+=&quot;&amp;&quot; + tmpobj[j].name + &quot;=&quot; + tmpobj[j].value; &nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br/> &nbsp; &nbsp; &nbsp; &nbsp;else if (stype == &quot;select-one&quot; &#124;&#124; stype == &quot;select-multiple&quot;) /*下来框，包括单选和多选*/<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var selectNum = tmpobj[j].length;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for(var k =0;k&lt;selectNum;k++)<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (tmpobj[j][k].selected) qstring+=&quot;&amp;&quot; + tmpobj[j].name + &quot;=&quot; + tmpobj[j][k].value; &nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br/> &nbsp; &nbsp; &nbsp;}<br/> &nbsp;}<br/> &nbsp; &nbsp;return qstring.substring(1,qstring.length); /*去掉第一个多于的&amp;符号*/<br/> &nbsp;<br/>}<br/>catch(e) {alert(e); return false;}<br/>}<br/>&lt;/script&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&lt;form action=&quot;getdata.html&quot; name=&quot;tform&quot; id=&quot;tform&quot; method=&quot;get&quot; &gt;<br/>&lt;input type=&quot;text&quot; value=&quot;input value&quot; name=&quot;tinput&quot; /&gt; <br/>&lt;input type=&quot;password&quot; value=&quot;password value&quot; name=&quot;pinput&quot; /&gt;&lt;br/&gt;<br/>&lt;textarea name=&quot;text&quot; rows=&quot;3&quot; cols=&quot;40&quot;&gt;textarea value&lt;/textarea&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/>[/codes]</p>
<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://blog.wgzhao.com/2007/03/02/javascript-get-all-data-from-form.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://blog.wgzhao.com/2007/03/02/javascript-get-all-data-from-form.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>利用动态js解决跨域传值问题</title>
		<link>http://blog.wgzhao.com/2007/03/01/Js-dynamic-cross-border-settlement-of-the-issue-by-value.html</link>
		<comments>http://blog.wgzhao.com/2007/03/01/Js-dynamic-cross-border-settlement-of-the-issue-by-value.html#comments</comments>
		<pubDate>Thu, 01 Mar 2007 13:48:42 +0000</pubDate>
		<dc:creator>wgzhao</dc:creator>
				<category><![CDATA[WEB开发]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[跨域]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=639</guid>
		<description><![CDATA[由于JavaScript的“同源策略”以及浏览器基于安全的考虑，跨域访问成为Ajax应用的一个难题。不仅仅是在不同域的网页之间传值存在问题，就是用iframe来框住一个页面，只要这个页面的域和父页面不同，访问iframe的内容也是不可能的。今日因为工作的需要，要想办法能在再两个不同的域之间传递数据。Google了一下，找到了一个简单的办法，那就是采用调用js脚本的方式，因为访问不同域的js脚本是不存在跨域访问的问题的。说的再多，不如代码详细，下面贴出代码。假定A域的网页a.html的内容如下：[codes=html]&#60;html&#62;&#60;head&#62;&#60;title&#62;vnet search simulation&#60;/title&#62;&#60;script type=&#34;text/javascript&#34;&#62;var lastScript;var h=document.getElementsByTagName(&#34;head&#34;)[0];function loadScript(url){var f=document.createElement(&#34;script&#34;);f.type=&#34;text/javascript&#34;;f.src= url;h.appendChild(f);if(lastScript&#38;&#38;g(lastScript))g(lastScript).parentNode.removeChild(g(lastScript));}function g(x){return document.getElementById(x);};&#60;/script&#62;&#60;/head&#62;&#60;body&#62;&#60;input name=&#34;url&#34; id=&#34;url&#34; type=&#34;text&#34; value=&#34;&#34; /&#62;&#60;script type=&#34;text/javascript&#34;&#62;loadScript(&#039;http://www.B.com/b.php&#039;);&#60;/script&#62;&#160;&#160;&#60;/body&#62;&#60;/html&#62;[/codes]上面代码的核心思想是动态创建一个script元素，然后指定另外一个域的页面，这个页面可以是js文件，可以是html页面，也可以动态页面，比如php。只是该页面的输出的内容必须是js脚本。具体看b.php[codes=php]&#60;?php//随机抽取一个记录include_once(&#34;db.inc.php&#34;);$rndsql=&#34;select *from links as r1 join(select round(rand() *(select max(id)from links)) as id2)as r2where r1.id &#62;= r2.id2order by r1.id asclimit 1;&#34;;$rs=mysql_query($rndsql) or die(mysql_error());$row=mysql_fetch_array($rs);if ($row){$url=urldecode($row[&#039;url&#039;]);echo &#34;g(&#039;url&#039;).value=&#039;$url&#039;;&#34;;}?&#62;[/codes]上面的php代码是从数据表中随机抽取一条记录，得到字段url的值，并填充到A域的网页a.html的输入框元素url中。这样就完成了将B域的值传到了A域。当然这个方法需要A，B两个域的配合。所以你没有办法用这个方法来获取google搜索结果的值。
]]></description>
			<content:encoded><![CDATA[<p>由于JavaScript的“同源策略”以及浏览器基于安全的考虑，跨域访问成为Ajax应用的一个难题。<br/>不仅仅是在不同域的网页之间传值存在问题，就是用iframe来框住一个页面，只要这个页面的域和父页面不同，访问iframe的内容也是不可能的。<br/><span id="more-639"></span><br/>今日因为工作的需要，要想办法能在再两个不同的域之间传递数据。Google了一下，找到了一个简单的办法，那就是采用调用js脚本的方式，因为访问不同域的js脚本是不存在跨域访问的问题的。说的再多，不如代码详细，下面贴出代码。<br/>假定A域的网页a.html的内容如下：<br/>[codes=html]<br/>&lt;html&gt;<br/>&lt;head&gt;<br/>&lt;title&gt;vnet search simulation&lt;/title&gt;<br/>&lt;script type=&quot;text/javascript&quot;&gt;<br/>var lastScript;<br/>var h=document.getElementsByTagName(&quot;head&quot;)[0];<br/><br/>function loadScript(url){<br/>var f=document.createElement(&quot;script&quot;);<br/>f.type=&quot;text/javascript&quot;;<br/>f.src= url;<br/>h.appendChild(f);<br/>if(lastScript&amp;&amp;g(lastScript))<br/>g(lastScript).parentNode.removeChild(g(lastScript));<br/><br/>}<br/><br/>function g(x)<br/>{return document.getElementById(x);};<br/><br/>&lt;/script&gt;<br/>&lt;/head&gt;<br/><br/>&lt;body&gt;<br/>&lt;input name=&quot;url&quot; id=&quot;url&quot; type=&quot;text&quot; value=&quot;&quot; /&gt;<br/>&lt;script type=&quot;text/javascript&quot;&gt;<br/>loadScript(&#039;http://www.B.com/b.php&#039;);<br/>&lt;/script&gt;&nbsp;&nbsp;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/>[/codes]<br/>上面代码的核心思想是动态创建一个script元素，然后指定另外一个域的页面，这个页面可以是js文件，可以是html页面，也可以动态页面，比如php。只是该页面的输出的内容必须是js脚本。具体看b.php<br/>[codes=php]<br/>&lt;?php<br/>//随机抽取一个记录<br/>include_once(&quot;db.inc.php&quot;);<br/>$rndsql=&quot;select *<br/>from links as r1 join<br/>(select round(rand() *<br/>(select max(id)<br/>from links)) as id2)<br/>as r2<br/>where r1.id &gt;= r2.id2<br/>order by r1.id asc<br/>limit 1;&quot;;<br/>$rs=mysql_query($rndsql) or die(mysql_error());<br/>$row=mysql_fetch_array($rs);<br/>if ($row)<br/>{<br/>$url=urldecode($row[&#039;url&#039;]);<br/>echo &quot;g(&#039;url&#039;).value=&#039;$url&#039;;&quot;;<br/>}<br/><br/>?&gt;<br/>[/codes]<br/>上面的php代码是从数据表中随机抽取一条记录，得到字段url的值，并填充到A域的网页a.html的输入框元素url中。这样就完成了将B域的值传到了A域。<br/><br/>当然这个方法需要A，B两个域的配合。所以你没有办法用这个方法来获取google搜索结果的值。</p>
<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://blog.wgzhao.com/2007/03/01/Js-dynamic-cross-border-settlement-of-the-issue-by-value.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://blog.wgzhao.com/2007/03/01/Js-dynamic-cross-border-settlement-of-the-issue-by-value.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JSON：ajax的得力助手</title>
		<link>http://blog.wgzhao.com/2006/12/21/JSON-ajax-the-right-hand-man.html</link>
		<comments>http://blog.wgzhao.com/2006/12/21/JSON-ajax-the-right-hand-man.html#comments</comments>
		<pubDate>Thu, 21 Dec 2006 22:10:01 +0000</pubDate>
		<dc:creator>wgzhao</dc:creator>
				<category><![CDATA[WEB开发]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsl]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=584</guid>
		<description><![CDATA[ajax技术中一个重要的规范是最后的x&#8211;XML。ajax中数据的传递采用xml格式，这样在javascript中，可以采用DOM技术来遍历传递的过来的数据，当然如果传递的仅仅是简单的无结构的字符串，那么采用responseText当作简单文本就好了。XML无疑是负责的，如果采用XSLT翻译XML到html，还算比较容易，但是如果采用javascript的DOM翻译，那么很容易迷失在儿子孙子兄弟节点的海洋中。另外，采用XML传递数据，对服务器段的脚本的编写就要严格的多。而且发出的头文件必须是text/xml的，这点在我的编程经验中，有时候比较比较麻烦，我有的时候页面渲染和ajax服务端脚本在一个文件中，这样原来，开始发出的内容编码格式是html的，而后又需要xml格式，于是会出现典型的”头文件已经发出&#8230;&#8230;“的警告。今天我就遇到了这个问题，没有办法传递XML数据过去，但是又必须是有结构的数据，当初单纯的字符串肯定不行。此时我想到了很早以前看到的JSON了，以前看到过，但是因为还没有到必须使用的程序，因此我一直没有使用。json其实是为数据传递定义的一种格式，他采取对象的模式，它主要利用了javascript中的这样一个特征：脚本语言自身有动态执行的天赋。即我们可以把想要执行的语句放在字符串里，通过eval()这个动态执行函数来执行。这里你可以看到一个简单的例子他的目的是替换ajax的x，也就是采取JSON格式传递数据。网络上有很多人谈到JSON时，都使用类似”JSON替代XML“的标题。对此，我并不这么认为，即便是在AJAX这方面。首先XML已经获得了广泛的支持，是未来的数据传递标准，而且现在很多文档保存方式都采取了XML格式，如果XSL-FO获得广泛支持的话，XML无疑会获得更大的提升。其次，在web开发中，数据库几乎是必须的，而当前绝大部分数据库支持数据到XML格式的直接输出，这无疑减少了开发语言中必要的转换。另外，WEB开发语言中，大部分支持对xml文档的支持，而JSON目前还没有看到这个前景，虽然PHP在他的5.2.0版本中已经嵌入了对JSON的支持，但是目前部署PHP 5.2.0版本的服务器应该还是少数。当然，其实就从数据传递而言，你完全可以采用自定义格式。实际上，我们应该选择哪个更符合自己的需求，而不应该一味的追求新概念或者新技术。所以，我觉得JSON不太可能在AJAX中替代XML。顶多算是一个补充吧。
powered by performancing firefox
]]></description>
			<content:encoded><![CDATA[<p>ajax技术中一个重要的规范是最后的x&#8211;XML。ajax中数据的传递采用xml格式，这样在javascript中，可以采用DOM技术来遍历传递的过来的数据，当然如果传递的仅仅是简单的无结构的字符串，那么采用responseText当作简单文本就好了。<br/><span id="more-584"></span><br/>XML无疑是负责的，如果采用XSLT翻译XML到html，还算比较容易，但是如果采用javascript的DOM翻译，那么很容易迷失在儿子孙子兄弟节点的海洋中。<br/>另外，采用XML传递数据，对服务器段的脚本的编写就要严格的多。而且发出的头文件必须是text/xml的，这点在我的编程经验中，有时候比较比较麻烦，我有的时候页面渲染和ajax服务端脚本在一个文件中，这样原来，开始发出的内容编码格式是html的，而后又需要xml格式，于是会出现典型的”头文件已经发出&#8230;&#8230;“的警告。<br/>今天我就遇到了这个问题，没有办法传递XML数据过去，但是又必须是有结构的数据，当初单纯的字符串肯定不行。<br/>此时我想到了很早以前看到的<a href="http://www.json.org">JSON</a>了，以前看到过，但是因为还没有到必须使用的程序，因此我一直没有使用。<br/>json其实是为数据传递定义的一种格式，他采取对象的模式，它主要利用了javascript中的这样一个特征：<br/>脚本语言自身有动态执行的天赋。即我们可以把想要执行的语句放在字符串里，通过eval()这个动态执行函数来执行。<br/><br/><a href="http://www.java114.com/content51/content3135.html">这里你可以看到一个简单的例子</a><br/><br/>他的目的是替换ajax的x，也就是采取JSON格式传递数据。<br/>网络上有很多人谈到JSON时，都使用类似”JSON替代XML“的标题。对此，我并不这么认为，即便是在AJAX这方面。<br/><br/>首先XML已经获得了广泛的支持，是未来的数据传递标准，而且现在很多文档保存方式都采取了XML格式，如果XSL-FO获得广泛支持的话，XML无疑会获得更大的提升。<br/><br/>其次，在web开发中，数据库几乎是必须的，而当前绝大部分数据库支持数据到XML格式的直接输出，这无疑减少了开发语言中必要的转换。<br/><br/>另外，WEB开发语言中，大部分支持对xml文档的支持，而JSON目前还没有看到这个前景，虽然<a href="http://www.php.net">PHP</a>在他的5.2.0版本中已经嵌入了对JSON的支持，但是目前部署PHP 5.2.0版本的服务器应该还是少数。<br/><br/>当然，其实就从数据传递而言，你完全可以采用自定义格式。实际上，我们应该选择哪个更符合自己的需求，而不应该一味的追求新概念或者新技术。<br/><br/>所以，我觉得JSON不太可能在AJAX中替代XML。顶多算是一个补充吧。<br/><br/>
<p class="poweredbyperformancing">powered by <a href="http://performancing.com/firefox" >performancing firefox</a></p>
<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://blog.wgzhao.com/2006/12/21/JSON-ajax-the-right-hand-man.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://blog.wgzhao.com/2006/12/21/JSON-ajax-the-right-hand-man.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>估计要瞎忙一阵子了</title>
		<link>http://blog.wgzhao.com/2006/07/13/To-estimate-the-fuss-for-a-while.html</link>
		<comments>http://blog.wgzhao.com/2006/07/13/To-estimate-the-fuss-for-a-while.html#comments</comments>
		<pubDate>Thu, 13 Jul 2006 01:32:06 +0000</pubDate>
		<dc:creator>wgzhao</dc:creator>
				<category><![CDATA[WEB开发]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=397</guid>
		<description><![CDATA[晚上无意中浏览到了bindows,一个很炫的面向对象开发的AJAX应用程序的平台。不过从网上的评价来看，大家对他并不看好，不过，那些评价比较老了，评价的适合是1.3，现在是2.0.提到的一些缺点已经在新版本中有所改进。似乎看上去很完美，但是我急需要解决的是：如何连接我的数据。documents里没有给出答案,samples里也没有。我能知道的就是可以使用web services的方式来处理，但是这似乎不是我目前我需要的。至少我想应该还有比它更好的framework.于是继续，搜索，good，找到一篇详细介绍现有的基于AJAX的应用程序框架，发表时间是2006年2月份，不算太久。上面提到了大量的开发框架。有些我听说过，也去访问过，有些没有听闻。正好这两天在考虑如何改进5itag,使用开发框架应该是一个不错的选择。先了解这些基础组件，希望能找到最适合我的。转出该文，以备查询。基于Ajax的应用程序架构设计汇总作者：ajaxfan 发文时间：2006.02.17 来源：赛迪网Java论坛1 浏览器端框架被划分成两大类： •应用程序框架：提供浏览器的功能，但是常以包括窗口小部件抽象和另外的部件而出名，其功能主要围绕桌面GUI框架。•基本结构框架：提供基本的管道和可移植的浏览器抽象，让开发者去创建内容。典型的功能：* 针对XMLHttpRequest的包装器以封装浏览器-服务器的交互。(所有的框架都提供这一功能)。* XML操作和查询。* 根据来自XMLHttpRequest的应答执行DOM操作。* 在一些情况中，与另外的浏览器端技术如Flash(和潜在的Java applets)集成在一起。而服务器端框架通常以下面两种方式工作(尽管它们在这里根据语言的不同进行了分类)：•HTML/JS生成：服务器提供完整的HTML/Javascript代码生成和浏览器-服务器协调，结果是只有浏览器端编码可以被定制。•远程调用：Javascript调用直接被路由到服务器端功能(例如Java方法)并返回到Javascript回叫处理器；或者Javascript调用服务器以提取信息，例如会话细节，数据库查询等。•纯Javascript：应用程序框架1.1 Bindows(自从2003年)网址是：http://www.bindows.net Bindows是一个软件开发包(SDK)，它，通过强力联合DHTML，JavaScript， CSS和XML等技术，能生成高度交互的互联网应用程序-成为现代的桌面应用程序的强有力对手。Bindows应用程序不要求下载和也不需要在用户端安装 -仅要求有一个浏览器(也不需要Java，Flash或者ActiveX)。Bindows有可能领导面向对象开发的AJAX应用程序的平台。•它是商业化的，使用来自于MB的技术(总部位于GA USA，主要开发中心在瑞典，成立于2002年)。Bindows框架提供给你：•基于类的面向对象的API•一套完整的窗口系统，提供宽范围的窗口小部件支持，包括菜单、表单、格子、滑动条、量程，甚至更多•用于开发zero-footprint SOA客户端应用程序的领先的工具箱•本机的XML，SOAP和XML-RPC支持•单用户到企业级的支持•内建的对AJAX的支持Bindows开发环境：•支持企业级规模的工程开发•跨浏览器，跨平台支持•服务器独立结构•与新的和现有资源的互操作性•一致性开发方法学1.2 BackBase(自从2003年)网址是：http://www.backbase.com 是一个全面的浏览器端框架，支持丰富的浏览器功能以及与.NET和Java的集成。•商业化，来自于Backbase B.V(总部在Amsterdam，成立于2003年)。1.3 DOJO(开发中;自从2004年9月)网址是：http://dojotoolkit.org/，提供全面窗口小组件和浏览器-服务器消息支持。•为创建定制的Javascript窗口小组件提供框架支持。 •预置的窗口小组件库。•浏览器-服务器消息支持-XMLHttpRequest和另外的机制。•支持浏览器中的URL操纵功能。• 开源许可(学术自由许可2.1( http://opensource.org/licenses/afl-2.1.php ))，由JotSpot (http://www.jot.com/ )的Alex Russell( http://alex.dojotoolkit.org/ )所领导。1.4 Open Rico(开发中;自从2005年5月;基于早期的私有框架)网址是： http://openrico.org/demos.page，是一多用途框架，支持Ajax基础结构和用户交互。•一个XMLHttpRequest应答能被路由到一个或者更多回叫操作，DOM对象，或者Javascript对象。•容易鼠标拖动支持。•Ajax动画，例如缩放和变换。•&#8221;行为&#8221;-实质上是窗口小组件库。•使用指南(http://www.mirimar.net/mailbrowser/ )，由RussMirimar的Yonah所提供•开源。源于Sabre航空公司解决方案，由Bill Scott(http://looksgoodworkswell.blogspot.com )，Darren James及另外一些人所支持。1.5 qooxdoo(开发中;自从2005年5月)网址是：http://qooxdoo.sourceforge.net/，是另一个雄心勃勃的框架，提供宽范围的UI支持和正在开发中的基础结构特性。•基础结构：* DOM和事件/焦点管理的可移植的抽象。* 调试支持。* 易于时间调度的Timer类。 * Getter/Setter支持。•UI：* 窗口小组件框架和预置的窗口小组件库。* 布局管理器。* 图像缓冲和可移植的PNG透明性。•开源(LGPL)。来自多方面的贡献者。1.6 Tibet(开发中;自从2005年6月)网址是：http://www.technicalpursuit.com/，目的是提供高度可移植的和全面的Javascript API，结果是，可能自动生成大量的客户端代码。自称是&#8221;企业级Ajax&#8221;。•远程脚本运行在XMLHttpRequest包装之上-通过协调调用结果支持工作流管理，例如应答可以发生在只有当两个分离的调用返回时。•URI支持。•所有的HTTP方法-不仅是&#8221;GET&#8221;和&#8221;POST&#8221;。•低级的协议-File://和WebDav以及HTTP。•Web服务调用-SOAP，XML-RPC，等等。•预置的针对Google API，Amazon API等等服务的支持。•由高级Javascript对象组成一个巨大的库。•许多XML操作。•IDE和开发工具。•开源许可(显然经过OSI认证，但是细节不多)。2 纯Javascript：基础结构框架2.1 AjaxCaller(Alpha版本;自从5月2005年)网址是：http://ajaxify.com/run/testAjaxCaller/，是一基本的线程安全的XMLHttpRequest包装器，主要针对Ajax新手，仍处于原始的alpha开发阶段，目前仅与AjaxPatterns的在线搜索范例一起打包。•实现对服务器的调用(GET/POST/PUT/DELETE)，用路由到一个回叫操作的plain-text或者XML完成。•使用过的XMLHttpRequest对象的析构。•Response缓冲(计划的)。•针对Ajax新手-并非强调性能优化，该库主要用于实现易读的基础代码并将提供调试支持。•开源许可。由Michael Mahemoff(http://softwareas.com )(具有John Wehr和Richard [...]]]></description>
			<content:encoded><![CDATA[<p>晚上无意中浏览到了<a href="http://www.bindows.net" target="_blank">bindows</a>,一个很炫的面向对象开发的AJAX应用程序的平台。不过从网上的评价来看，大家对他并不看好，不过，那些评价比较老了，评价的适合是1.3，现在是2.0.提到的一些缺点已经在新版本中有所改进。似乎看上去很完美，但是我急需要解决的是：如何连接我的数据。documents里没有给出答案,samples里也没有。我能知道的就是可以使用web services的方式来处理，但是这似乎不是我目前我需要的。至少我想应该还有比它更好的framework.<br/>于是继续，搜索，good，找到一篇详细介绍现有的基于AJAX的应用程序框架，发表时间是2006年2月份，不算太久。上面提到了大量的开发框架。有些我听说过，也去访问过，有些没有听闻。<br/><span id="more-397"></span><br/>正好这两天在考虑如何改进<a href="http://www.5itag.com" target="_blank">5itag</a>,使用开发框架应该是一个不错的选择。先了解这些基础组件，希望能找到最适合我的。<br/>转出该文，以备查询。<br/><br/><span style="font-size: 10px;">基于Ajax的应用程序架构设计汇总</span><br/>作者：ajaxfan 发文时间：2006.02.17 来源：赛迪网Java论坛<br/><b>1 浏览器端框架被划分成两大类</b>： <br/>•应用程序框架：提供浏览器的功能，但是常以包括窗口小部件抽象和另外的部件而出名，其功能主要围绕桌面GUI框架。<br/>•基本结构框架：提供基本的管道和可移植的浏览器抽象，让开发者去创建内容。典型的功能：<br/>* 针对XMLHttpRequest的包装器以封装浏览器-服务器的交互。(所有的框架都提供这一功能)。<br/>* XML操作和查询。<br/>* 根据来自XMLHttpRequest的应答执行DOM操作。<br/>* 在一些情况中，与另外的浏览器端技术如Flash(和潜在的Java applets)集成在一起。<br/><b>而服务器端框架通常以下面两种方式工作</b>(尽管它们在这里根据语言的不同进行了分类)：<br/>•HTML/JS生成：服务器提供完整的HTML/Javascript代码生成和浏览器-服务器协调，结果是只有浏览器端编码可以被定制。<br/>•远程调用：Javascript调用直接被路由到服务器端功能(例如Java方法)并返回到Javascript回叫处理器；或者Javascript调用服务器以提取信息，例如会话细节，数据库查询等。<br/>•纯Javascript：应用程序框架<br/><b>1.1 Bindows(自从2003年)</b><br/>网址是：http://www.bindows.net Bindows是一个软件开发包(SDK)，它，通过强力联合DHTML，JavaScript， CSS和XML等技术，能生成高度交互的互联网应用程序-成为现代的桌面应用程序的强有力对手。Bindows应用程序不要求下载和也不需要在用户端安装 -仅要求有一个浏览器(也不需要Java，Flash或者ActiveX)。Bindows有可能领导面向对象开发的AJAX应用程序的平台。<br/>•它是商业化的，使用来自于MB的技术(总部位于GA USA，主要开发中心在瑞典，成立于2002年)。<br/>Bindows框架提供给你：<br/>•基于类的面向对象的API<br/>•一套完整的窗口系统，提供宽范围的窗口小部件支持，包括菜单、表单、格子、滑动条、量程，甚至更多<br/>•用于开发zero-footprint SOA客户端应用程序的领先的工具箱<br/>•本机的XML，SOAP和XML-RPC支持<br/>•单用户到企业级的支持<br/>•内建的对AJAX的支持<br/>Bindows开发环境：<br/>•支持企业级规模的工程开发<br/>•跨浏览器，跨平台支持<br/>•服务器独立结构<br/>•与新的和现有资源的互操作性<br/>•一致性开发方法学<br/><b>1.2 BackBase(自从2003年)</b><br/>网址是：http://www.backbase.com 是一个全面的浏览器端框架，支持丰富的浏览器功能以及与.NET和Java的集成。<br/>•商业化，来自于Backbase B.V(总部在Amsterdam，成立于2003年)。<br/><b>1.3 DOJO(开发中;自从2004年9月)</b><br/>网址是：http://dojotoolkit.org/，提供全面窗口小组件和浏览器-服务器消息支持。<br/>•为创建定制的Javascript窗口小组件提供框架支持。 <br/>•预置的窗口小组件库。<br/>•浏览器-服务器消息支持-XMLHttpRequest和另外的机制。<br/>•支持浏览器中的URL操纵功能。<br/>• 开源许可(学术自由许可2.1( http://opensource.org/licenses/afl-2.1.php ))，由JotSpot (http://www.jot.com/ )的Alex Russell( http://alex.dojotoolkit.org/ )所领导。<br/><b>1.4 Open Rico(开发中;自从2005年5月;基于早期的私有框架)</b><br/>网址是： http://openrico.org/demos.page，是一多用途框架，支持Ajax基础结构和用户交互。<br/>•一个XMLHttpRequest应答能被路由到一个或者更多回叫操作，DOM对象，或者Javascript对象。<br/>•容易鼠标拖动支持。<br/>•Ajax动画，例如缩放和变换。<br/>•&#8221;行为&#8221;-实质上是窗口小组件库。<br/>•使用指南(http://www.mirimar.net/mailbrowser/ )，由RussMirimar的Yonah所提供<br/>•开源。源于Sabre航空公司解决方案，由Bill Scott(http://looksgoodworkswell.blogspot.com )，Darren James及另外一些人所支持。<br/><b>1.5 qooxdoo(开发中;自从2005年5月)</b><br/>网址是：http://qooxdoo.sourceforge.net/，是另一个雄心勃勃的框架，提供宽范围的UI支持和正在开发中的基础结构特性。<br/>•基础结构：<br/>* DOM和事件/焦点管理的可移植的抽象。<br/>* 调试支持。<br/>* 易于时间调度的Timer类。 <br/>* Getter/Setter支持。<br/>•UI：<br/>* 窗口小组件框架和预置的窗口小组件库。<br/>* 布局管理器。<br/>* 图像缓冲和可移植的PNG透明性。<br/>•开源(LGPL)。来自多方面的贡献者。<br/><b>1.6 Tibet(开发中;自从2005年6月)</b><br/>网址是：http://www.technicalpursuit.com/，目的是提供高度可移植的和全面的Javascript API，结果是，可能自动生成大量的客户端代码。自称是&#8221;企业级Ajax&#8221;。<br/>•远程脚本运行在XMLHttpRequest包装之上-通过协调调用结果支持工作流管理，例如应答可以发生在只有当两个分离的调用返回时。<br/>•URI支持。<br/>•所有的HTTP方法-不仅是&#8221;GET&#8221;和&#8221;POST&#8221;。<br/>•低级的协议-File://和WebDav以及HTTP。<br/>•Web服务调用-SOAP，XML-RPC，等等。<br/>•预置的针对Google API，Amazon API等等服务的支持。<br/>•由高级Javascript对象组成一个巨大的库。<br/>•许多XML操作。<br/>•IDE和开发工具。<br/>•开源许可(显然经过OSI认证，但是细节不多)。<br/><b>2 纯Javascript：基础结构框架</b><br/><b>2.1 AjaxCaller(Alpha版本;自从5月2005年)</b><br/>网址是：http://ajaxify.com/run/testAjaxCaller/，是一基本的线程安全的XMLHttpRequest包装器，主要针对Ajax新手，仍处于原始的alpha开发阶段，目前仅与AjaxPatterns的在线搜索范例一起打包。<br/>•实现对服务器的调用(GET/POST/PUT/DELETE)，用路由到一个回叫操作的plain-text或者XML完成。<br/>•使用过的XMLHttpRequest对象的析构。<br/>•Response缓冲(计划的)。<br/>•针对Ajax新手-并非强调性能优化，该库主要用于实现易读的基础代码并将提供调试支持。<br/>•开源许可。由Michael Mahemoff(http://softwareas.com )(具有John Wehr和Richard Schwartz的一些思想)维护。<br/><b>2.2 Flash JavaScript集成包</b><br/>网址是：http://www.osflash.org/doku.php?id=flashjs，允许JavaScript和Flash内容的集成：<br/>•使JavaScript能够调用ActionScript功能和反过来的实现。<br/>•所有主要的数据类型能在这两种环境之间传递。<br/>•开源许可。由多个开源Flash贡献者提供支持。<br/><b>2.3 Google AJAXSLT(发行于2005年6月)</b><br/>网址是：http://goog-ajaxslt.sourceforge.net/，是一个Javascript框架，用来执行XSLT转换以及XPath查询。<br/>•建立在Google地图工作基础之上。<br/>•开源许可(BSD)。由一家创新搜索方案公司支持，自称为&#8221;Google&#8221;。<br/><b>2.4 HTMLHttpRequest(Beta版；始于2005年)</b><br/>HtmlHttpRequest(http://www.twinhelix.com/javascript/htmlhttprequest/ )，它使用了XMLHttpRequest和Iframes以改进兼容性。<br/>•测试过并能工作在:IE6/Win，IE5.5/Win，IE5/Win，IE4/Win，Mozilla/Win，Opera7/Win，Safari/Mac，IE5/Mac。<br/>•未测试，可能能工作在：IE4/Mac，Mozilla/Mac，Opera/Other，Konqueror/Linux。你正在使用这些之一吗？作者正在请求兼容性信息。<br/>•开源许可(LGPL)。由Twin Helix Designs(http://www.twinhelix.com/)的Angus Turnbull维护。<br/><b>2.5 交互式网站框架(自从2005年5月)</b><br/>交互式网站框架(http://sourceforge.net/projects/iwf/，是一个项目，目的是从浏览器端对Ajax基础结构的多方面予以支持。自描述为&#8221;使用javascript，css，xml，和html来创造高度交互网站的框架。包括一个定制的针对高度可读的javascript 的xml分析器。实质上，是建立基于AJAX的网站的基础，还有另外一些通用脚本&#8221;。<br/>•线程安全的XMLHttpRequest实现。<br/>•针对XML文档的包装器，以便你能够创建更具可读性的代码：<br/>var node = doc.groceries.frozen[0].pizza[0].size;<br/>代替手工的导航：<br/>var node = doc.documentElement.firstChild.firstChild.getAttribute(&#8220;size&#8221;);<br/>•开源许可。由Weaver(http://circaware.com )维护。<br/><b>2.6 LibXMLHttpRequest(发行于2003年6月)</b><br/>libXmlRequest(http://www.whitefrost.com/servlet/connector?file=reference/2003/06/17/libXmlRequest.html )，是XMLHttpRequest的一个瘦包装器。<br/>•getXML()和postXML()方法。<br/>•XMLHttpRequest对象池支持。<br/>•Response缓冲。<br/>•可用源码(明显)，但是受标准版权的保护，由Stephen W.Coate(http://www.whitefrost.com/index.jsp )所维护。<br/><b>2.7 RSLite(x)</b><br/>网站是： http://www.ashleyit.com/rs/main.htm，是一个针对XMLHttpRequest的瘦包装器。<br/>•一个简单的组件，作为Brent Ashley的更全面的远程脚本工作(参见Javascript远程脚本-JSRS在多语言服务器端)的一部分发行。<br/><b>2.8 Sack(在开发中，自从2005年5月)</b><br/>网站是： http://twilightuniverse.com/2005/05/sack-of-ajax/，是一个针对XMLHttpRequest的瘦包装器。<br/>•调用者能指定回叫函数或者回叫DOM对象。借助于回叫DOM，应答文本直接被推入到DOM中<br/><b>2.9 Sarissa(发行于2月，2003年)</b><br/>网站是：http://sarissa.sf.net，是一种Javascript API，它封装了在浏览器端可以独立调用XML的功能。<br/>•可移植的XMLHttpRequest创建<br/>•可移植的XPath查询<br/>•可移植的DOM操作<br/>•可移植的XSLT<br/>•可移植的XML串行化<br/>•开源(GPL2.0和LGPL2.1)。来自多方面贡献者。<br/><b>2.10 XHConn(发行于自从4月，2005年)</b><br/>网站是： http://xkr.us/code/javascript/XHConn/，是一个对XMLHttpRequest的瘦包装器。<br/>•例如<br/>new XHConn().connect(&#8220;mypage.php&#8221;，&#8221;POST&#8221;，&#8221;foo=bar&#038;baz=qux&#8221;，fnWhenDone);<br/>•开源许可。由Brad Fults所维护。<br/></p>
<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://blog.wgzhao.com/2006/07/13/To-estimate-the-fuss-for-a-while.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://blog.wgzhao.com/2006/07/13/To-estimate-the-fuss-for-a-while.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IBM开放了AJAX技术资源中心</title>
		<link>http://blog.wgzhao.com/2006/06/04/IBM-opened-AJAX-Technology-Resource-Center.html</link>
		<comments>http://blog.wgzhao.com/2006/06/04/IBM-opened-AJAX-Technology-Resource-Center.html#comments</comments>
		<pubDate>Sun, 04 Jun 2006 20:16:55 +0000</pubDate>
		<dc:creator>wgzhao</dc:creator>
				<category><![CDATA[WEB开发]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ibm]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=352</guid>
		<description><![CDATA[IBM在他的开发网开放了AJAX技术讨论的版面，从连接来看，属于XML这个大板块。内容还算比较丰富，有面向JAVA开发人员的，有针对SOAP开发的，也有针对PHP开发人员的。大家可以去看看。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ibm.com" target="_blank">IBM</a>在他的<a href="http://www-128.ibm.com/developerworks/cn" target="_blank">开发网</a>开放了<a href="http://www-128.ibm.com/developerworks/cn/xml/ajax/" target="_blank">AJAX技术讨论</a>的版面，从连接来看，属于XML这个大板块。内容还算比较丰富，有面向<a href="http://www.ibm.com/developerworks/cn/java/j-ajax1/" target="_blank">JAVA开发人员</a>的，有针对<a href="http://www.ibm.com/developerworks/cn/webservices/ws-wsajax/" target="_blank">SOAP开发</a>的，也有针对<a href="http://www.ibm.com/developerworks/cn/views/opensource/tutorials.jsp?cv_doc_id=109065" target="_blank">PHP开发人员</a>的。大家可以去看看。</p>
<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://blog.wgzhao.com/2006/06/04/IBM-opened-AJAX-Technology-Resource-Center.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://blog.wgzhao.com/2006/06/04/IBM-opened-AJAX-Technology-Resource-Center.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Edit in Place</title>
		<link>http://blog.wgzhao.com/2006/01/03/Edit-in-Place.html</link>
		<comments>http://blog.wgzhao.com/2006/01/03/Edit-in-Place.html#comments</comments>
		<pubDate>Tue, 03 Jan 2006 01:19:36 +0000</pubDate>
		<dc:creator>wgzhao</dc:creator>
				<category><![CDATA[WEB开发]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[xajax]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=231</guid>
		<description><![CDATA[AJAX的一个最大特点是可以尽量的减少页面跳转，比如我们可以把浏览和编辑文字内容放到一个页面，先看看下面的这个例子edit in place这个例子使用了XAJAX工具，php的Smarty工具。当然如果仅仅只是为了演示这样的一个功能，你完全可以使用自己简单的使用xmlhttprequest这个类，我这里这样写只是想展示如何利用这些工具来构建这样的页面。上面的这个例子报行了四个文件:edit.css,edit.tpl,edit.php,edit.js，edit.css是一个简单的改变元素表示行为的css标签；edit.tpl是简单的一个模板；edit.php简单实现如果保存用户修改的数据，演示代码中没有采用把用户修改的数据保存到数据的做法，只是简单的回应而已；edit.js是实现元素的显示和隐藏，并使用AJAX调用php函数。下面是这些文件的内容$cat edit.css
body{
        [color=blue]font-family:[color=orange] arial, helvetica, sans-serif
        [color=blue]font-size:[color=orange] small
}
[color=green].editable, textarea{
        [color=blue]background-color:[color=orange] #ffffd3
}
textarea{
        [color=blue]width:[color=orange] 95%
        [color=blue]font-size:[color=orange] 100%
}
img[color=green].progress{
    [...]]]></description>
			<content:encoded><![CDATA[<p>AJAX的一个最大特点是可以尽量的减少页面跳转，比如我们可以把浏览和编辑文字内容放到一个页面，先看看下面的这个例子<br/><a href="http://name.xplore.cn/edit.php" target="_blank">edit in place</a><br/><br/>这个例子使用了<a href="http://xajax.sourceforget.net" target="_blank">XAJAX</a>工具，php的<a href="http://smarty.php.net" target="_blank">Smarty</a>工具。<br/>当然如果仅仅只是为了演示这样的一个功能，你完全可以使用自己简单的使用xmlhttprequest这个类，我这里这样写只是想展示如何利用这些工具来构建这样的页面。<br/><span id="more-231"></span><br/>上面的这个例子报行了四个文件:edit.css,edit.tpl,edit.php,edit.js，edit.css是一个简单的改变元素表示行为的css标签；<br/>edit.tpl是简单的一个模板；edit.php简单实现如果保存用户修改的数据，演示代码中没有采用把用户修改的数据保存到数据的做法，只是简单的回应而已；edit.js是实现元素的显示和隐藏，并使用AJAX调用php函数。<br/>下面是这些文件的内容<br/><coolcode>$cat edit.css<br />
body{<br />
        [color=blue]font-family</span>:[color=orange] arial, helvetica, sans-serif</span><br />
        [color=blue]font-size</span>:[color=orange] small</span><br />
}</p>
<p>[color=green].editable</span>, textarea{<br />
        [color=blue]background-color</span>:[color=orange] #ffffd3</span><br />
}</p>
<p>textarea{<br />
        [color=blue]width</span>:[color=orange] 95%</span><br />
        [color=blue]font-size</span>:[color=orange] 100%</span><br />
}</p>
<p>img[color=green].progress</span>{<br />
        [color=blue]vertical-align</span>:[color=orange] middle</span><br />
        [color=blue]padding</span>:[color=orange] 0 10px</span><br />
}</coolcode><br/><br/><coolcode>$cat edit.tpl<br />
<html xmlns="http://www.w3.org/1999/xhtml" ><br />
<head><br />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/></p>
<link rel="stylesheet" type="text/css" href="css/edit.css" />
<script type="text/javascript" src="js/edit.js" ></script><br />
{$xajax_javascript}<br />
</head><br />
<body ></p>
<form method="POST"  id="top">
<p id="orig" onclick="editit(this)" onmouseover="change_color(&#039;add&#039;,this)"<br />
onmouseout="change_color(&#039;remove&#039;,this)">{$orig}
</p>
<div id=&#039;cp&#039; style="display:none">
<textarea name=&#039;mirror&#039; id=&#039;mirror&#039; rows=&#039;20&#039; cols=&#039;80&#039;></textarea>
</div>
<div id=&#039;save&#039; style="display:none">
<input type="button" onclick="call_saveit(xajax.getFormValues(&#039;top&#039;))" id="ok" value="save" />
<input type="button" value="cancel" onclick="cancel()"; />
</div>
</form>
<p></body><br />
</html></coolcode><br/></p>
<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://blog.wgzhao.com/2006/01/03/Edit-in-Place.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://blog.wgzhao.com/2006/01/03/Edit-in-Place.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>尝试了一下netvibes</title>
		<link>http://blog.wgzhao.com/2005/12/26/Then-try-to-netvibes.html</link>
		<comments>http://blog.wgzhao.com/2005/12/26/Then-try-to-netvibes.html#comments</comments>
		<pubDate>Mon, 26 Dec 2005 16:43:24 +0000</pubDate>
		<dc:creator>wgzhao</dc:creator>
				<category><![CDATA[WEB开发]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=226</guid>
		<description><![CDATA[netvibes应该是目前我见到的把AJAX应用到神出鬼没的境地的一个网站，这个想象真的很出人意料，反而觉得我不太习惯使用这个网站。然后豆瓣确实我见到的比较喜欢的web2.0网站，我很喜欢这种清新淡雅的感觉，看上去内容不多，但是很却很容易找到你需要找到的东西，人机界面也做得不错。看来我现在要做的这个网站很是要学习一把了。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.netvibes.com/" target="_blank">netvibes</a>应该是目前我见到的把AJAX应用到神出鬼没的境地的一个网站，这个想象真的很出人意料，反而觉得我不太习惯使用这个网站。<br/>然后<a href="http://www.douban.com" target="_blank">豆瓣</a>确实我见到的比较喜欢的web2.0网站，我很喜欢这种清新淡雅的感觉，看上去内容不多，但是很却很容易找到你需要找到的东西，人机界面也做得不错。看来我现在要做的这个网站很是要学习一把了。</p>
<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://blog.wgzhao.com/2005/12/26/Then-try-to-netvibes.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://blog.wgzhao.com/2005/12/26/Then-try-to-netvibes.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AJAX框架汇总</title>
		<link>http://blog.wgzhao.com/2005/11/27/AJAX-framework-summary.html</link>
		<comments>http://blog.wgzhao.com/2005/11/27/AJAX-framework-summary.html#comments</comments>
		<pubDate>Sun, 27 Nov 2005 21:44:50 +0000</pubDate>
		<dc:creator>wgzhao</dc:creator>
				<category><![CDATA[WEB开发]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=8</guid>
		<description><![CDATA[1. Pure Javascript: Application Frameworks

1.1 Bindows (成立于2003年)

Backbase是一个通过DHTML、JavaScript、 CSS和HTML等技术强劲联合起来的一套完整的Windows桌面式的WEB应用程序解决方案。Bindows无需下载安装客户端支撑组件（如 Java、ActiveX或Flash），仅需一个浏览器。纯OO的理念体现在Bindows任何地方，Bindows或许是笔者见过的最完整最强大的 AJAX应用程序平台。 Bindows是商业程序的，使用了来自于MB的技术(总部位于GA USA，主要开发中心在瑞典，成立于2002年)。
Bindows框架提供的功能和特性有：
 &#160; &#160;
基于面相对象技术的类和API
 &#160; &#160;
一套完整的Windows桌面系统，支持各种特性窗口模式，包括菜单、表单、表格、滑动条、测量仪器窗口和其他一些Windows窗口特性支持。
 &#160; &#160;
是开发zero-footprint(零空间占用)SOA客户端应用程序首选工具包
 &#160; &#160;
本机的XML，SOAP和XML-RPC支持
 &#160; &#160;
单用户到企业级开发的支持
 &#160; &#160;
内建的完美的AJAX支持

Bindows开发环境：
 &#160; &#160;
支持企业级规模的项目开发
 &#160; &#160;
跨浏览器、跨OS平台的支持
 &#160; &#160;
不受服务器结构限制
 &#160; &#160;
良好的与新的、现有的资源互操作性
 &#160; &#160;
统一的开发接口


1.2 BackBase (成立于2003年)
BackBase是一个完整的浏览器端框架，提供了丰富的浏览器操作功能，以及对.NET和JAVA平台的集成。 商业化产品，来自于Backbase B.V(总部在Amsterdam，成立于2003年)。
1.3 DOJO (开发中,成立于2004年9月) 

DOJO提供完整的轻量级窗口组件和浏览器-服务器消息映射支持

 &#160; &#160;
提供创建自定义Javascript窗口组件的框架支持
 &#160; &#160;
预制的丰富的窗口类型库
 &#160; &#160;
B/S消息映射支持——XMLHttpRequest和其他机制
 &#160; &#160;
支持浏览器中的URL操纵功能
 &#160; &#160;
开源许可(Academic Free License 2.1)，由JotSpot的Alex Russell所领导。


1.4 [...]]]></description>
			<content:encoded><![CDATA[<h1>1. <a name="1"></a>Pure Javascript: Application Frameworks</h1>
<p><br/><br />
<h3>1.1 <a name="1.1"></a>Bindows (成立于2003年)</h3>
<p><br/>
<p><a href="http://www.backbase.com/">Backbase</a>是一个通过DHTML、JavaScript、 CSS和HTML等技术强劲联合起来的一套完整的Windows桌面式的WEB应用程序解决方案。Bindows无需下载安装客户端支撑组件（如 Java、ActiveX或Flash），仅需一个浏览器。纯OO的理念体现在Bindows任何地方，Bindows或许是笔者见过的最完整最强大的 AJAX应用程序平台。 <br />Bindows是商业程序的，使用了来自于MB的技术(总部位于GA USA，主要开发中心在瑞典，成立于2002年)。</p>
<p><br/><span id="more-8"></span><br/>Bindows框架提供的功能和特性有：<br/>
<ul><br/> &nbsp; &nbsp;
<li>基于面相对象技术的类和API</li>
<p><br/> &nbsp; &nbsp;
<li>一套完整的Windows桌面系统，支持各种特性窗口模式，包括菜单、表单、表格、滑动条、测量仪器窗口和其他一些Windows窗口特性支持。</li>
<p><br/> &nbsp; &nbsp;
<li>是开发zero-footprint(零空间占用)SOA客户端应用程序首选工具包</li>
<p><br/> &nbsp; &nbsp;
<li>本机的XML，SOAP和XML-RPC支持</li>
<p><br/> &nbsp; &nbsp;
<li>单用户到企业级开发的支持</li>
<p><br/> &nbsp; &nbsp;
<li>内建的完美的AJAX支持</li>
<p><br/></ul>
<p><br/>Bindows开发环境：<br/>
<ul><br/> &nbsp; &nbsp;
<li>支持企业级规模的项目开发</li>
<p><br/> &nbsp; &nbsp;
<li>跨浏览器、跨OS平台的支持</li>
<p><br/> &nbsp; &nbsp;
<li>不受服务器结构限制</li>
<p><br/> &nbsp; &nbsp;
<li>良好的与新的、现有的资源互操作性</li>
<p><br/> &nbsp; &nbsp;
<li>统一的开发接口</li>
<p><br/></ul>
<p><br/><br />
<h3>1.2 <a name="1.2"></a>BackBase (成立于2003年)</h3>
<p><br/><a href="http://www.backbase.com/">BackBase</a>是一个完整的浏览器端框架，提供了丰富的浏览器操作功能，以及对.NET和JAVA平台的集成。 <br />商业化产品，来自于Backbase B.V(总部在Amsterdam，成立于2003年)。<br/><br />
<h3>1.3 <a name="1.3"></a>DOJO (开发中,成立于2004年9月) </h3>
<p><br/>
<p>DOJO提供完整的轻量级窗口组件和浏览器-服务器消息映射支持</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>提供创建自定义Javascript窗口组件的框架支持</li>
<p><br/> &nbsp; &nbsp;
<li>预制的丰富的窗口类型库</li>
<p><br/> &nbsp; &nbsp;
<li>B/S消息映射支持——XMLHttpRequest和其他机制</li>
<p><br/> &nbsp; &nbsp;
<li>支持浏览器中的URL操纵功能</li>
<p><br/> &nbsp; &nbsp;
<li>开源许可(<a href="http://opensource.org/licenses/afl-2.1.php">Academic Free License 2.1</a>)，由<a href="http://www.jot.com/">JotSpot</a>的<a href="http://alex.dojotoolkit.org/">Alex Russell</a>所领导。</li>
<p><br/></ul>
<p><br/><br />
<h3>1.4 <a name="1.4"></a>Open Rico (开发中;成立于2005年5月;基于早期的一个proprietary 框架) </h3>
<p><br/>
<p><a href="http://openrico.org/demos.page">Open Rico</a>是一个支持Ajax架构和用户交互的多用途框架。 </p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>一个XMLHttpRequest response能被一个或多个的DOM对象，或者Javascript对象调用。</li>
<p><br/> &nbsp; &nbsp;
<li>支持拖拽操作</li>
<p><br/> &nbsp; &nbsp;
<li>支持基于AJAX的动画模式，如缩放和变换等</li>
<p><br/> &nbsp; &nbsp;
<li>基于Behaviors的操作库</li>
<p><br/> &nbsp; &nbsp;
<li><a href="http://www.mirimar.net/mailbrowser/">使用指南</a>，由RussMirimar的Yonah提供</li>
<p><br/> &nbsp; &nbsp;
<li>开源。源于Sabre航空公司解决方案，由<a href="http://looksgoodworkswell.blogspot.com/">Bill Scott</a>，Darren James及另外一些人维护。</li>
<p><br/></ul>
<p><br/><br />
<h3>1.5 <a name="1.5"></a>qooxdoo (开发中; 成立于2005年5月) </h3>
<p><br/><a href="http://qooxdoo.sourceforge.net/">qooxdoo</a>，是另一个发展迅猛的应用框架，提供广泛的UI支持，正在开发基础架构等特性。<br/>
<ul><br/> &nbsp; &nbsp;
<li>基础结构特性：</li>
<p><br/> &nbsp; &nbsp;
<ul><br/> &nbsp; &nbsp; &nbsp; &nbsp;
<li>能轻易的捕获和操纵DOM事件</li>
<p><br/> &nbsp; &nbsp; &nbsp; &nbsp;
<li>支持调试</li>
<p><br/> &nbsp; &nbsp; &nbsp; &nbsp;
<li>支持一个时间操作的Timer类</li>
<p><br/> &nbsp; &nbsp; &nbsp; &nbsp;
<li>Getter/Setter支持</li>
<p><br/> &nbsp; &nbsp;</ul>
<p><br/> &nbsp; &nbsp;
<li>UI:</li>
<p><br/> &nbsp; &nbsp;
<ul><br/> &nbsp; &nbsp; &nbsp; &nbsp;
<li>窗口组件库和框架</li>
<p><br/> &nbsp; &nbsp; &nbsp; &nbsp;
<li>界面布局管理</li>
<p><br/> &nbsp; &nbsp; &nbsp; &nbsp;
<li>图像缓存和透明PNG图片处理</li>
<p><br/> &nbsp; &nbsp;</ul>
<p><br/> &nbsp; &nbsp;
<li>开源(LGPL).</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="1.6"></a>1.6 Tibet (开发中; 创建于2005年6月)</h3>
<p><br/>
<p><a href="http://www.technicalpursuit.com/">Tibet</a>提供了大量的易移植和完整的JavaScript API，通过这些可以快速生成大量的客户端代码，Tibet自称是企业级AJAX。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>远程脚本调用封装在XMLHttpRequest中</li>
<p><br/> &nbsp; &nbsp;
<li>URI支持</li>
<p><br/> &nbsp; &nbsp;
<li>支持所有的HTTP事件，不再仅仅是GET和POST</li>
<p><br/> &nbsp; &nbsp;
<li>低级的协议-File://和WebDav也可以当作HTTP正常使用</li>
<p><br/> &nbsp; &nbsp;
<li>Web Services调用支持，包括SOAP、XML-RPC等等</li>
<p><br/> &nbsp; &nbsp;
<li>大型的Javascript对象库</li>
<p><br/> &nbsp; &nbsp;
<li>多种多样的XML操作支持</li>
<p><br/> &nbsp; &nbsp;
<li>IDE和开发工具</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议(OSI)</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="1.7"></a>1.7 AJFORM (创建于2005年6月)</h3>
<p><br/>
<p><a href="http://redredmusic.com/brendon/ajform/">AJFORM</a>是一个极易上手的AJAX框架，被用来编写入门级的AJAX代码，提供有以下功能：</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>三步安装</li>
<p><br/> &nbsp; &nbsp;
<li>自动支持任意HTML表单元素</li>
<p><br/> &nbsp; &nbsp;
<li>几乎无需编码即可实现AJAX</li>
<p><br/></ul>
<p><br/><br />
<h1><a name="2"></a>2 Pure Javascript: Infrastructural Frameworks</h1>
<p><br/><br />
<h3><a name="2.1"></a>2.1 AjaxCaller(创建于2005年5月，目前是Alpha版)</h3>
<p><br/><a href="http://ajaxify.com/run/testAjaxCaller/">AjaxCaller</a>是一个具有多线程安全访问的XMLHttpRequest组件，主要针对Ajax开发新手，目前仍处于alpha开发阶段，仅在<a href="http://www.ajaxpatterns.org/">AjaxPatterns</a>的在线搜索范例中使用了这个程序。<br/>
<ul><br/> &nbsp; &nbsp;
<li>用明文或者XML结构的数据实现和服务器的交互(GET/POST/PUT/DELETE)</li>
<p><br/> &nbsp; &nbsp;
<li>支持XMLHttRequest对象的构析(销毁对象，C++支持内存对象的构析操作)</li>
<p><br/> &nbsp; &nbsp;
<li>支持Response的高速缓存(尚在计划中)</li>
<p><br/> &nbsp; &nbsp;
<li>简单的库文件代码易于新手学习使用，并且支持脚本调试</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="2.2"></a>2.2 Flash JavaScript Integration Kit</h3>
<p><br/>
<p><a href="http://www.osflash.org/doku.php?id=flashjs">The Flash JavaScript Integration Kit</a>可以使Flash和Javascript脚本实现相互集成。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>可以实现在JavaScript中调用Flash ActionScript脚本，反之亦然。</li>
<p><br/> &nbsp; &nbsp;
<li>几乎支持双方主要数据类型的在不同环境中的传递调用。</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议，有几个Flash开源爱好者维护。</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="2.3"></a>2.3 Google AJAXSLT (2005年6月发行) </h3>
<p><br/>
<p><a href="http://goog-ajaxslt.sourceforge.net/">Google AJAXSLT</a>，是一个Javascript框架，用来执行XSLT转换以及XPath查询。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>目前在Google Map上就使用了这个。</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议(BSD)</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="2.4"></a>2.4 HTMLHttpRequest(Beta版；创建于2005年)</h3>
<p><br/>
<p><a href="http://www.twinhelix.com/javascript/htmlhttprequest/">HtmlHttpRequest</a>最大的特点就是运用XMLHttpRequest对象和标准HTML标签IFrame来实现最大限度的跨浏览跨平台的AJAX支持，其原理是在支持XMLHttpRequest的浏览器上调用XMLHttp，如果不支持，就用IFrame来模拟实现异步交互。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>目前支持的浏览器：IE6/Win, IE5.5/Win, IE5/Win, IE4/Win, Mozilla/Win, Opera7/Win, Safari/Mac, IE5/Mac</li>
<p><br/> &nbsp; &nbsp;
<li>尚未测试的浏览器：IE4/Mac, Mozilla/Mac, Opera/Other, Konqueror/Linux。</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议(LGPL)</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="2.5"></a>2.5 Interactive Website Framework (创建于2005年)</h3>
<p><br/>
<p><a href="http://sourceforge.net/projects/iwf/">Interactive Website Framework</a>定位在浏览器中支持各种各样的AJAX基础应用的开源项目。自称是通过JavaScript、CSS、XML和HTML实现高性能的交互式WEB框架，包括一个可定制易读的XML解析器。实际上，IWF是一个AJAX的基础框架，并且还包括一些通用脚本代码。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>实现了线程安全的XMLHttpRequest</li>
<p><br/> &nbsp; &nbsp;
<li>对XML Document进行封装，以便创建更具有可读性的代码：<br /> &nbsp;<br />
<blockquote>var node = doc.groceries.frozen[0].pizza[0].size;</p></blockquote>
<p> &nbsp; 封装后的数据读取 &nbsp;<br />
<blockquote>var node = doc.documentElement.firstChild.firstChild.getAttribute(&#8220;size&#8221;);</p></blockquote>
<p> &nbsp; 原始的DOM操作读取</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="2.6"></a>2.6 LibXMLHttpRequest (2003年6月发布) </h3>
<p><br/>
<p><a href="http://www.whitefrost.com/servlet/connector?file=reference/2003/06/17/libXmlRequest.html">libXmlRequest</a>是一个小型XMLHttpRequest封装包</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>用getXML()和postXML()两个事件简化XMLHttpReuqest调用</li>
<p><br/> &nbsp; &nbsp;
<li>支持XMLHttpRequest对象池</li>
<p><br/> &nbsp; &nbsp;
<li>Response缓存处理</li>
<p><br/> &nbsp; &nbsp;
<li>源码可以使用，但是有版权保护。</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="2.7"></a>2.7 MAJAX </h3>
<p><br/>
<p><a href="http://unips.sourceforge.net/devblog/?page_id=2">MAJAX</a>是另一个非常小巧的HttpRequest封装包，为收发字符型信息提供简单接口，并为每步动作设置回调界面。</p>
<p><br/><br />
<h3><a name="2.8"></a>2.8 RSLite (x) </h3>
<p><br/>
<p><a href="http://www.ashleyit.com/rs/main.htm">RSLite</a>是一个XMLHttpRequest封装组件，作为Brent Ashley的JSRS(JavaScript Remote Scripting)其中的一部分功能单独发布。详情可以看JSRS的介绍</p>
<p><br/><br />
<h3><a name="2.9"></a>2.9 Sack(开发中，成立于2005年5月) </h3>
<p><br/>
<p><a href="http://twilightuniverse.com/2005/05/sack-of-ajax/">Sack</a>也是一个很有名字的微型XMLHttpRequest封装包。调用者可以自定义回调函数或者是DOM对象。借助于回调DOM对象，可以把Response回来的数据直接以文本的方式嵌入DOM中。</p>
<p><br/><br />
<h3><a name="2.10"></a>2.10 Sarissa (发布于2003年2月)</h3>
<p><br/>
<p><a href="http://sarissa.sf.net/">Sarissa</a>是一个JavaScript API，封装了在浏览器端独立调用XML的功能。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>可移植的XMLHttpRequest对象创造</li>
<p><br/> &nbsp; &nbsp;
<li>可移植的XPath查询</li>
<p><br/> &nbsp; &nbsp;
<li>可移植的DOM操控</li>
<p><br/> &nbsp; &nbsp;
<li>可移植的XSLT</li>
<p><br/> &nbsp; &nbsp;
<li>可移植的XML序列化</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议(GPL2.0和LGPL2.1)</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="2.11"></a>2.11 XHConn (2005年4月发布)</h3>
<p><br/>
<p><a href="http://xkr.us/code/javascript/XHConn/">XHConn</a>也是一个小型的XMLHttpRequest封装库。笔者也使用改良过的XHConn，其特点就是调用简单，代码也清晰易读。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>例子：<br />
<blockquote>new XHConn().connect(&#8220;mypage.php&#8221;，&#8221;POST&#8221;，&#8221;foo=bar&#038;baz=qux&#8221;，fnWhenDone);</p></blockquote>
</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议许可</li>
<p><br/></ul>
<p><br/><br />
<h1><a name="3"></a>3 Server-Side: Multi-Language</h1>
<p><br/><br />
<h3><a name="3.1"></a>3.1 Cross-Platform Asynchronous INterface Toolkit (2005年5月) </h3>
<p><br/>
<p><a href="http://cpaint.sourceforge.net/">CPAINT</a>是一个真正的同时支持PHP和ASP/VBScript脚本的AJAX和JSRS工具包。CPAINT在后台提供你需求的AJAX和JSRS代码，并自动返回到浏览器端相应的Javascript脚本代码，这种方式易于实时反馈需求的WEB应用程序。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>支持PHP和ASP</li>
<p><br/> &nbsp; &nbsp;
<li>所有功能函数都在统一的JavaScript文件中</li>
<p><br/> &nbsp; &nbsp;
<li>支持远程脚本和XML</li>
<p><br/> &nbsp; &nbsp;
<li>支持本地和远程函数调用</li>
<p><br/> &nbsp; &nbsp;
<li>可以创建单个或多个XMLHttp对象</li>
<p><br/> &nbsp; &nbsp;
<li>返回给后台的数据即可以是文本也可以是XML/DOM文档对象</li>
<p><br/> &nbsp; &nbsp;
<li>支持POST和GET</li>
<p><br/> &nbsp; &nbsp;
<li>用服务端代理的方式实现远程函数和数据的访问操作</li>
<p><br/> &nbsp; &nbsp;
<li>大部分浏览器中测试正常使用</li>
<p><br/> &nbsp; &nbsp;
<li>在GNU、GPL、LGPL开源协议保护下发行</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="3.2"></a>3.2 SAJAX (2005年3月) </h3>
<p><br/>
<p><a href="http://www.modernmethod.com/sajax/">SAJAX</a>的实现方式很独特，例如：调用一 个javascript方法x_calculateBudget()，将先把响应传到服务器并调用一个Java calculateBudget()方法，然后以javascript方式把值返回到x_calculateBudget_cb()中。SAJAX的名气 不错，估计很多人都听过甚至用过，不过缺点就是它的这套映射理论感觉较繁锁，远不如一些轻量级的封装库好用，不过SAJAX最大的特点就是支持的平台丰 富，几乎囊括了WEB下常用的编程语言和平台</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>很方便从JavaScript函数映射到服务端代理操作</li>
<p><br/> &nbsp; &nbsp;
<li>支持多种平台(ASP/ColdFusion/Io/Lua/Perl/PHP/Python/Ruby)</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="3.3"></a>3.3 Javascipt Object Notation (JSON) and JSON-RPC </h3>
<p><br/>
<p><a href="http://www.crockford.com/JSON/index.html">JSON</a>是一个&#8221;face-free&#8221; XML，而<a href="http://www.json-rpc.org/">JSON-RPC</a>是一种远程交互协议，类似于XML-RPC，对JavaScript支持较强</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li><a href="http://www.json-rpc.org/impl.xhtml">支持多服务端平台</a>: Java, Python, Ruby, Perl. </li>
<p><br/> &nbsp; &nbsp;
<li>针对不同的平台有不同的包和许可协议, 如<a href="http://oss.metaparadigm.com/jsonrpc/">JSON-RPC-Java</a>. </li>
<p><br/></ul>
<p><br/><br />
<h3><a name="3.4"></a>3.4 JavaScript Remote Scripting(JSRS)(2000年) </h3>
<p><br/>
<p><a href="http://www.ashleyit.com/rs/jsrs/test.htm">JSRS</a>，较经典的远程脚本访问组件，支持将客户端数据通过服务器做代理进行远程的数据/操作交互。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>支持的浏览器：IE4+，NS4.x，NS6.x，Mozilla，Opera7和Galeon。</li>
<p><br/> &nbsp; &nbsp;
<li>服务器端脚本语言支持：ASP，ColdFusion，PerlCGI，PHP,Python和JSP(servlet)。</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议。由<a href="http://www.ashleyit.com/">Brent Ashley</a>提供支持。</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="3.5"></a>3.5 Bitkraft for ASP.NET </h3>
<p><br/>
<p><a href="http://www.tiggrbitz.com/">Bitkraft</a>是个基于(.NET)Web框架的CLR(公共 语言运行库)，允许用独特的方式创建和操作分布式Web内容。用C#编写，运行在微软的.NET 1.1和Mono框架下，无缝式的客户端-服务器响应方式是它的最大特点。Bitkraft没有使用XML组织数据，而是用JSON代替。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>支持的浏览器： IE5+, Firefox1+, NS6 </li>
<p><br/> &nbsp; &nbsp;
<li>服务器端要求：ASP.NET, Mono XSP, Cassini, Apache (modMono) .NET Framework 1.1+</li>
<p><br/> &nbsp; &nbsp;
<li>事件驱动</li>
<p><br/> &nbsp; &nbsp;
<li>支持同步和异步的远程代理</li>
<p><br/> &nbsp; &nbsp;
<li>客户端支持所有的.NET类型或自定义类对象映射到JSON中</li>
<p><br/> &nbsp; &nbsp;
<li>用JSON取代XML</li>
<p><br/> &nbsp; &nbsp;
<li>免费，开源许可协议</li>
<p><br/></ul>
<p><br/><br />
<h1><a name="4"></a>4 Server-Side: Java </h1>
<p><br/><br />
<h3><a name="4.1"></a>4.1 WebORB for Java (2005年8月) &nbsp;</h3>
<p><br/>
<p><a href="http://www.themidnightcoders.com/weborb/aboutWeborb.htm">WebORB for Java</a>是一个开发AJAX和基于Flash的富客户端应用程序的开发平台。<a href="http://www.themidnightcoders.com/examples">在线例子</a></p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>WebORB包括一个富客户端开发类库。提供简单的在线式API用来绑定或者调用任何Java对象、XML Web Services和EJB</li>
<p><br/> &nbsp; &nbsp;
<li>支持异步或同步的事件驱动</li>
<p><br/> &nbsp; &nbsp;
<li>不需要在服务端修改任何代码，不需要自定义方法或属性、变量等。不要求设计时指定代理等。</li>
<p><br/> &nbsp; &nbsp;
<li>同步调用不需要回调，异步调用需要一个回调方法。</li>
<p><br/> &nbsp; &nbsp;
<li>客户端可以向服务端请求指定的活动方式，不需要任何编程就可以把处理结果轻易的转变为状态。</li>
<p><br/> &nbsp; &nbsp;
<li>提供一个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable，而客户端以一个类似于RecordSet的JavaScript对象来显示这个结果。该对象提供检索列名和行数据的方法。</li>
<p><br/> &nbsp; &nbsp;
<li>支持数据分页技术。客户应用程序能检索页面中的数据。</li>
<p><br/> &nbsp; &nbsp;
<li>支持以参数的方式返回所有服务期端数据类型，如primitives, strings, complex types, arrays, native .net collections, remote references</li>
<p><br/> &nbsp; &nbsp;
<li>目前有两个版本：标准版(免费)，专业版(商业许可)</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="4.2"></a>4.2 Echo 2 (2005年3月) &nbsp;</h3>
<p><br/>
<p><a href="http://www.nextapp.com/products/echo2/">Echo 2</a>允许你用纯Java语言编写AJAX程序。 <a href="http://demo.nextapp.com/InteractiveTest/ia">Demo</a>. </p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>自动生成HTML和Javascript代码</li>
<p><br/> &nbsp; &nbsp;
<li>用XML在客户端-服务端传递消息</li>
<p><br/> &nbsp; &nbsp;
<li>如果愿意支持自定义Javascript组件</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议(Mozilla Public License or GNU LGPL)</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="4.3"></a>4.3 Direct Web Remoting (DWR) (2005) &nbsp; </h3>
<p><br/>
<p><a href="http://www.getahead.ltd.uk/dwr/">Direct Web Remoting</a>可以在Javascript代码中直接调用Java方法的应用框架</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>类似于SAJAX，可以把Javascript中的请求调用转递到Java方法中并将执行结果返回给Javascript</li>
<p><br/> &nbsp; &nbsp;
<li>可以和任何Web框架一起使用，如Struts、Tapestry等等</li>
<p><br/> &nbsp; &nbsp;
<li>开源(Apache)，目前该产品被加入到<a href="http://www.duduwolf.com/post/%20//www.opensymphony.com/webwork/">WebWork</a>中</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="4.4"></a>4.4 SWATO (2005) </h3>
<p><br/>
<p><a href="http://swato.dev.java.net/">SWATO</a>是一套可重用的和良好集成的Java/JavaScript库，它实现了一种更容易的方式来改变你的web应用程序的交互，通过AJAX方式实现。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>服务端Java库可以非常容易的部署到所有Servlet2.3+兼容的容器中</li>
<p><br/> &nbsp; &nbsp;
<li>客户端Javascript库可以在所有支持XMLHttpRequest的浏览器中使用</li>
<p><br/> &nbsp; &nbsp;
<li>使用JSON技术在服务端组织POJO数据，这样你可以在任何Javascript环境中(HTML、XUL、SVG)访问这些远程数据，这种方式很容易通过硬编码或者某种成熟的Javascript库集成到当前应用中</li>
<p><br/> &nbsp; &nbsp;
<li>提供一个简单接口使你能在Javascript中调用远程的POJO数据</li>
<p><br/> &nbsp; &nbsp;
<li>使用<servlet>和<filter>灵活的在web.xml中进行配置，并且可以集成(不是必须)到你的Spring框架中</li>
<p><br/> &nbsp; &nbsp;
<li>提供了几个可帮助你快速开发web应用程序的组件(如自动完成的文本框，在线表单，在线列表等等)</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="4.5"></a>4.5 AJAX JSP Tag Library </h3>
<p><br/>
<p><a href="http://ajaxtags.sourceforge.net/">The AJAX JSP Tag Library</a>是一组JSP标签库，用来AJAX程序开发。可以在J2EE下无需Javascript就能轻松开发AJAX模式的Web Form。标签库为比较通用的AJAX功能提供了5个标签：</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>autocomplete: 用户在文本框中输入字符，自动从指定的数据中匹配用户输入的字符，类似于Google Suggest</li>
<p><br/> &nbsp; &nbsp;
<li>callout:可以为A标签加入气泡式的消息提示框，不过是实时的服务端取出数据</li>
<p><br/> &nbsp; &nbsp;
<li>Select/dropdown:类似于联动菜单，比如地州市的联动下拉框</li>
<p><br/> &nbsp; &nbsp;
<li>toggle:开关闸按钮，比如在一个hidden表单域中存储true和falsh，同时显示相应的img图像</li>
<p><br/> &nbsp; &nbsp;
<li>update field:更新数据，也就是无刷新提交了。</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="4.6"></a>4.6 AJAX Java Server Faces Framework </h3>
<p><br/>
<p><a href="http://smirnov.org.ru/en/ajax-jsf.html">The AJAX-JSF</a>用来把任意的JSF应用程序转变为AJAX应用程序</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li><a href="http://smirnov.org.ru/myfaces-ajax/ajax.jsf">例子</a>：AJAX组件的 MyFaces JSF Tree(树型目录), table scroller(可滚动的表格), tabbed pane(分页栏)</li>
<p><br/> &nbsp; &nbsp;
<li>开源协议(<a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache Software License</a>)</li>
<p><br/></ul>
<p><br/><br />
<h1><a name="5"></a>Server-Side: Lisp </h1>
<p><br/><br />
<h3><a name="5.1"></a>5.1 CL-Ajax </h3>
<p><br/>
<p><a href="http://cliki.net/cl-ajax">CL-Ajax</a>实现Javascript直接调用服务端Lisp</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>生成可带参数的函数</li>
<p><br/> &nbsp; &nbsp;
<li>可以回调Javascript函数或者DOM对象</li>
<p><br/> &nbsp; &nbsp;
<li>可以集成到SAJAX中</li>
<p><br/> &nbsp; &nbsp;
<li>开源许可</li>
<p><br/></ul>
<p><br/><br />
<h1><a name="6"></a>6 Server-Side: .NET </h1>
<p><br/><br />
<h3><a name="6.1"></a>6.1 WebORB for .NET (2005年8月) </h3>
<p><br/>
<p><a href="http://www.themidnightcoders.com/weborb/aboutWeborb.htm">WebORB for .NET</a>是一个用.NET和XML Web Services方式开发AJAX和基于Flash的富客户端应用程序(<a href="http://www.themidnightcoders.com/examples">在线例子</a>) </p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>WebORB包括一个富客户端开发类库。提供简单的在线式API用来绑定或者调用任何.NET对象、XML Web Services</li>
<p><br/> &nbsp; &nbsp;
<li>支持异步或同步的事件驱动</li>
<p><br/> &nbsp; &nbsp;
<li>不需要在服务端修改任何代码，不需要自定义方法或属性、变量等。不要求设计时指定代理等。</li>
<p><br/> &nbsp; &nbsp;
<li>同步调用不需要回调，异步调用需要一个回调方法。</li>
<p><br/> &nbsp; &nbsp;
<li>客户端可以向服务端请求指定的活动方式，不需要任何编程就可以把处理结果轻易的转变为状态。</li>
<p><br/> &nbsp; &nbsp;
<li>提供一个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable，而客户端以一个类似于RecordSet的JavaScript对象来显示这个结果。该对象提供检索列名和行数据的方法。</li>
<p><br/> &nbsp; &nbsp;
<li>支持数据分页技术。客户应用程序能检索页面中的数据。</li>
<p><br/> &nbsp; &nbsp;
<li>支持以参数的方式返回所有服务期端数据类型，如primitives, strings, complex types, arrays, native .net collections, remote references</li>
<p><br/> &nbsp; &nbsp;
<li>目前有两个版本：标准版(免费)，专业版(商业许可)</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="6.2"></a>6.2 Ajax.NET (2005年3月) </h3>
<p><br/>
<p><a href="http://ajax.schwarz-interactive.de/">Ajax.NET</a>是首家支持各种方式通过Javascript访问服务端.net的免费库</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>类似于SAJAX，能把Javascript请求发送到.NET方法，服务端回传给Javascript，甚至包括串行化自定义类。</li>
<p><br/> &nbsp; &nbsp;
<li>可以在Javascript中访问Session和Application数据</li>
<p><br/> &nbsp; &nbsp;
<li>缓存查询结果</li>
<p><br/> &nbsp; &nbsp;
<li>免费使用源代码</li>
<p><br/> &nbsp; &nbsp;
<li>无需更改源代码，允许给Ajax.NET添加和修改方法和属性</li>
<p><br/> &nbsp; &nbsp;
<li>所有类支持Javascript客户端返回数据，可以在JavaScript中使用DataSet：res.Tables[0].Rows</li>
<p><br/> &nbsp; &nbsp;
<li>使用HtmlControls组件访问和返回数据</li>
<p><br/> &nbsp; &nbsp;
<li>页面无需重载，用事件代理(数据访问层)</li>
<p><br/> &nbsp; &nbsp;
<li>因为只提供一个调用接口方法，所以服务端CPU占用非常少</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="6.3"></a>6.3 ComfortASP.NET (2005年8月) </h3>
<p><br/>
<p><a href="http://www.daniel-zeiss.de/ComfortASP/">ComfortASP.NET</a>可以让开发者在纯.NET下开发类似AJAX(DHTML,JavaScript,XMLHttp)特性的应用程序。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>快速应答</li>
<p><br/> &nbsp; &nbsp;
<li>减少HTML传输</li>
<p><br/> &nbsp; &nbsp;
<li>减少页面重载</li>
<p><br/> &nbsp; &nbsp;
<li>无闪烁的浏览器内容更改</li>
<p><br/> &nbsp; &nbsp;
<li>AJAX用户体验，</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="6.4"></a>6.4 AjaxAspects (2005年8月) </h3>
<p><br/>
<p><a href="http://ajaxaspects.blogspot.com/">AjaxAspects</a>是个可以用Javascript调用服务端WebService事件的引擎</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>用标准的SOAP和WSDL进行服务端-客户端通信</li>
<p><br/> &nbsp; &nbsp;
<li>用简单的类型和XML对象支持带参数的返回值</li>
<p><br/> &nbsp; &nbsp;
<li>缓存支持</li>
<p><br/> &nbsp; &nbsp;
<li>动作队列</li>
<p><br/> &nbsp; &nbsp;
<li>免费使用，开源协议</li>
<p><br/></ul>
<p><br/><br />
<h1><a name="7"></a>7 Server-Side: PHP </h1>
<p><br/><br />
<h3><a name="7.1"></a>7.1 AjaxAC (2005年4月) </h3>
<p><br/>
<p><a href="http://ajax.zervaas.com.au/">AjaxAC</a>用一个单独类封装了完整的应用程序功能</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>所有的功能集成在自包含的类中(另外附带一些Javascript库)</li>
<p><br/> &nbsp; &nbsp;
<li>调用PHP文件或者HTML页面非常简易，只需创建App类后把类引用传递给需要调用的Javascript对象或者HTML元素即可。</li>
<p><br/> &nbsp; &nbsp;
<li>捕获Javascript事件</li>
<p><br/> &nbsp; &nbsp;
<li>可以自定义配置数据，并且支持运行时参数更改</li>
<p><br/> &nbsp; &nbsp;
<li>无需再Javascript代码中夹杂凌乱的Html代码，所有事件都是被动态附加上的</li>
<p><br/> &nbsp; &nbsp;
<li>由于以上两个优点，所以支持良好的模版引擎</li>
<p><br/> &nbsp; &nbsp;
<li>容易Hook到PHP类和MySql数据已返回给自己的request</li>
<p><br/> &nbsp; &nbsp;
<li>能够容易的用Javascript建立窗口模式应用程序。</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="7.2"></a>7.2 JPSpan </h3>
<p><br/>
<p><a href="http://jpspan.sourceforge.net/wiki/doku.php">JPSPAN</a>通过Javascript直接调用PHP中的函数。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>进行了严谨的单元测试</li>
<p><br/> &nbsp; &nbsp;
<li>开源许可(PHP)</li>
<p><br/></ul>
<p><br/><br />
<h3><a name="7.3"></a>7.3 XAJAX </h3>
<p><br/>
<p><a href="http://xajax.sf.net/">XAjax</a> 通过Javascript直接调用PHP中的函数</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>支持用Javascript调用PHP脚本</li>
<p><br/> &nbsp; &nbsp;
<li>开源许可协议</li>
<p><br/></ul>
<p><br/><br />
<h1><a name="8"></a>8 Server-Side: Ruby </h1>
<p><br/><br />
<h3><a name="8.1"></a>8.1 Ruby On Rails </h3>
<p><br/>
<p><a href="http://www.rubyonrails.org/">Ruby On Rails</a>是一个支持AJAX的完整Web框架，使用Ruby语言编写，严格按照MVC结构开发。</p>
<p><br/>
<ul><br/> &nbsp; &nbsp;
<li>当Ajax出现的时候Rails还处于其发展的早期，因此Ajax可能逐渐成为Rails框架的核心。</li>
<p><br/> &nbsp; &nbsp;
<li>生成浏览器中大多数/全部的Window应用组件和动画的Javascript脚本。</li>
<p><br/> &nbsp; &nbsp;
<li>支持服务器端调用。</li>
<p><br/> &nbsp; &nbsp;
<li>队列支持</li>
<p><br/> &nbsp; &nbsp;
<li>开源许可</li>
<p><br/></ul>
<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://blog.wgzhao.com/2005/11/27/AJAX-framework-summary.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://blog.wgzhao.com/2005/11/27/AJAX-framework-summary.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WEB2.0介绍</title>
		<link>http://blog.wgzhao.com/2005/11/25/web2-introduced.html</link>
		<comments>http://blog.wgzhao.com/2005/11/25/web2-introduced.html#comments</comments>
		<pubDate>Fri, 25 Nov 2005 14:34:13 +0000</pubDate>
		<dc:creator>wgzhao</dc:creator>
				<category><![CDATA[WEB开发]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=10</guid>
		<description><![CDATA[WEB2.0概念诠释
Web2.0，是相对Web1.0（2003年以前的互联网模式）的新的一类互联网应用的统称，是一次从核心内 容到外部应用的革命。由Web1.0单纯通过网络浏览器浏览html网页模式向内容更丰富、联系性更强、工具性更强的Web2.0互联网模式的发展已经成 为互联网新的发展趋势。 Web1.0到Web2.0的转变，具体的说，从模式上是单纯的“读”向“写”、“共同建设”发展；由被动地接收互联网 信息向主动创造互联网信息迈进！从基本构成单元上，是由“网页”向“发表/记录的信息”发展；从工具上，是由互联网浏览器向各类浏览器、rss阅读器等内 容发展；运行机制上，由“Client Server”向“Web Services”转变；作者由程序员等专业人士向全部普通用户发展；应用上由初级的 “滑稽”的应用向全面大量应用发展。 总之，Web2.0是以 Flickr、Craigslist、Linkedin、Tribes、 Ryze、 Friendster、Del.icio.us、43Things.com等网站为代表，以Blog、TAG、SNS、RSS、wiki等应 用为核心，依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式。 
应用： 1、 Blog（from wiki） 历史： Blog一词本起源于 weblog，意思是网上日志。1997年由 Jorn Barger所提出。在1998年， infosift 的编辑Jesse J. Garrett (http://www.jjg.net)，将一些类似blog的网站收集起来，寄给Cameron Barrett。 Cameron随后将名单发布在CamWorld网站上，许多人亦陆续将blog的URL给Cameron，慢慢的，一个新的网络社区俨然成型。1999年，Brigitte Eaton (http://www.eatonweb.com)成立一个weblog 目录，收集她所知道的blog站。1999年，Peter Merholz (http://www.peterme.com) 首次使用缩略词“blog”，成为今天常用的术语。但是，blog 真正开始快速发展的转折点，是在1999年6月，当时Pitas开始提供免费的 weblog服务，紧接着8月，Pyra lab推出了现在的blogger.com。blogger.com 提供了简单易学的说明，以及能通过FTP 直接将blog发表在个人网站上的功能，这带给使用者很大的方便。目前已经有了很多Blog托管服务商(BSP)，业内人士对其盈利前景，持谨慎乐观态 度。 Blog的特点 Blog是个人或群体以时间顺序所作的一种记录，并且不断更新。blog之间的交流主要是通过回溯引用 （TrackBack）和回响/留言/评论（comment）的方式来进行的。blog的操作管理用语，也借鉴了大量档案管理用语。一个blog亦可被视 为一个档案（archives），或是卷宗（fonds）。与传统档案不同的是，blog的写作者（blogger），既是这份档案的创作人 （creator），也是其档案管理人（archivist）。 
Blog大量采用了RSS （Really Simple Syndication或者Rich Site Summary或者RDF Site Summary）技术，所有的 [...]]]></description>
			<content:encoded><![CDATA[<p>WEB2.0概念诠释</p>
<p>Web2.0，是相对Web1.0（2003年以前的互联网模式）的新的一类互联网应用的统称，是一次从核心内 容到外部应用的革命。由Web1.0单纯通过网络浏览器浏览html网页模式向内容更丰富、联系性更强、工具性更强的Web2.0互联网模式的发展已经成 为互联网新的发展趋势。 <br/><span id="more-10"></span><br/><br />Web1.0到Web2.0的转变，具体的说，从模式上是单纯的“读”向“写”、“共同建设”发展；由被动地接收互联网 信息向主动创造互联网信息迈进！从基本构成单元上，是由“网页”向“发表/记录的信息”发展；从工具上，是由互联网浏览器向各类浏览器、rss阅读器等内 容发展；运行机制上，由“Client Server”向“Web Services”转变；作者由程序员等专业人士向全部普通用户发展；应用上由初级的 “滑稽”的应用向全面大量应用发展。 <br />总之，Web2.0是以 Flickr、Craigslist、Linkedin、Tribes、 Ryze、 Friendster、Del.icio.us、43Things.com等网站为代表，以Blog、TAG、SNS、RSS、wiki等应 用为核心，依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式。 </p>
<p>应用： <br />1、 Blog（from wiki） <br />历史： <br />Blog一词本起源于 weblog，意思是网上日志。1997年由 Jorn Barger所提出。在1998年， infosift 的编辑Jesse J. Garrett (<a target="_blank" href="http://www.jjg.net/"><u><font color="#0000ff">http://www.jjg.net</font></u></a>)，将一些类似blog的网站收集起来，寄给Cameron Barrett。 Cameron随后将名单发布在CamWorld网站上，许多人亦陆续将blog的URL给Cameron，慢慢的，一个新的网络社区俨然成型。1999年，Brigitte Eaton (<a target="_blank" href="http://www.eatonweb.com/"><u><font color="#0000ff">http://www.eatonweb.com</font></u></a>)成立一个weblog 目录，收集她所知道的blog站。1999年，Peter Merholz (<a target="_blank" href="http://www.peterme.com/"><u><font color="#0000ff">http://www.peterme.com</font></u></a>) 首次使用缩略词“blog”，成为今天常用的术语。但是，blog 真正开始快速发展的转折点，是在1999年6月，当时Pitas开始提供免费的 weblog服务，紧接着8月，Pyra lab推出了现在的blogger.com。blogger.com 提供了简单易学的说明，以及能通过FTP 直接将blog发表在个人网站上的功能，这带给使用者很大的方便。目前已经有了很多Blog托管服务商(BSP)，业内人士对其盈利前景，持谨慎乐观态 度。 <br />Blog的特点 <br />Blog是个人或群体以时间顺序所作的一种记录，并且不断更新。blog之间的交流主要是通过回溯引用 （TrackBack）和回响/留言/评论（comment）的方式来进行的。blog的操作管理用语，也借鉴了大量档案管理用语。一个blog亦可被视 为一个档案（archives），或是卷宗（fonds）。与传统档案不同的是，blog的写作者（blogger），既是这份档案的创作人 （creator），也是其档案管理人（archivist）。 </p>
<p>Blog大量采用了RSS （Really Simple Syndication或者Rich Site Summary或者RDF Site Summary）技术，所有的 RSS文件都必须符合由W3C发布的XML 1.0规范。对读者来说，可以通过RSS订阅一个blog，确知该blog作者最近的更新。对Blog作者来 说，RSS可以使自己发布的文章易于被计算机程序理解并摘要。 </p>
<p>对知识管理和创造而言，blog提供了新的形态和途径。对汉语为母语的人 而言，blog写作既接续了汉语笔记文学的优秀传统，更充分鼓励了个人表达。从交往形态考察，网志空间（blogosphere）设定了积极的读者、作 者、编者互动转换关系，“言者互重，阅者相惜 ”。 </p>
<p>2、 Tag （from blogbus） <br />什么是Tag？ <br /> &nbsp;Tag （标签）是一种更为灵活、有趣的日志分类方式，您可以为每篇日志添加一个或多个Tag（标签），然后您可以看到BlogBus上所有和您使用了相同Tag 的日志，并且由此和其他用户产生更多的联系和沟通。不仅如此，我们还通过与Technorati的合作，把您的Tag发送到全球Blog空间，和全世界的 人们共同分享。 <br /> &nbsp;Tag体现了群体的力量，使得日志之间的相关性和用户之间的交互性大大增强，可以让您看到一个更加多样化的世界，一个关联度更大的Blog空间，一个热点实时播报的新闻台。Tag为您提供前所未有的网络新体验…… <br /> &nbsp;当然，您也可以简单地把一个Tag（标签）理解为一个日志分类，但是Tag和分类的不同之处也很明显： <br />首先，分类是您在写日志之前就定好的，而Tag是在您写完日志之后再添加的； <br />其次，您可以同时为一篇日志贴上好几个Tag（标签），方便自己随时查找，而原先一篇日志只能有一个分类； <br />再次，当您积累了一定数量的Tag之后，您可以看看自己在Blog中最经常写的是哪些话题； <br />最后，您可以看到有哪些人和自己使用了一样的Tag（标签），进而找到和您志趣相投的Blogger。 <br /> &nbsp; 举一个例子，比如说：您写了一篇到西湖旅游的日志，原来您都是把这一类的日志放到自己的“驴行天下”分类下，但是有了Tag之后，您可以给这篇日志同时加 上“旅游”、“杭州”、“西湖”、“驴行天下”等几个Tag，当浏览者点击其中任何一个Tag，他都可以看到您的这篇日志。同时您自己也可以通过点击这几 个Tag，看看究竟有谁最近也去了杭州旅游，或许你们还可以交流一下旅游心得，成为下一次出游的伙伴呢！ </p>
<p>3、 SNS <br />Social Network Service，社会性网络软件，依据六度理论，以认识朋友的朋友为基础，扩展自己的人脉。并且无限扩张自己的人脉，在需要的时候，可以随时获取一点，得到该人脉的帮助。 </p>
<p> &nbsp;SNS网站，就是依据六度理论建立的网站，帮你运营朋友圈的朋友。 </p>
<p>4、 RSS（from wiki） <br />RSS是一种用于共享新闻和其他Web内容的数据交换规范，起源于网景通讯公司的推&#8221;Push&#8221;技术，将订户订阅的内容传送给他们的通讯协同格式(Protocol)。RSS可以是以下三个解释的其中一个： </p>
<p>Really Simple Syndication（真正简单的整合） <br />RDF (Resource Description Framework) Site Summary <br />Rich Site Summary（丰富站点摘要） <br />但其实这三个解释都是指同一种Syndication的技术。 </p>
<p>目前RSS规范的主要版本有0.91、1.0和2.0。 </p>
<p>0.91版和1.0版完全不同，风格不同，制定标准的人也不同。0.91版和2.0版一脉相承。1.0版更靠拢XML标准。 </p>
<p>RSS目前广泛用于blog、wiki和网上新闻频道，世界多数知名新闻社网站都提供RSS订阅支持。 </p>
<p>5、 Wiki（from wiki） <br />Wiki 一词源自夏威夷语的「wee kee wee kee」，本是「快点快点」之意。在这里Wiki指的是一种超文本系统。这种超文本系统系支持那些面向社群 的协作式写作，同时也包括一组支持这种写作的辅助工具。有人认为，Wiki系统属於一种人类知识的网路系统，我们可以在Web的基础上对Wiki文本进行 浏览、创建、更改，而且这种创建、更改、及发布的代价远比HTML文本小；与此同时Wiki系统还支持那些面向社群的协作式写作，为协作式写作提供了必要 的帮助；最后，Wiki的写作者自然构成了一个社群，Wiki系统为这个社群提供了简单的交流工具。与其它超文本系统相比，Wiki有使用简便且开放的优 点，所以Wiki系统可以帮助我们在一个社群内共用某个领域的知识。 <br />Wiki起源 <br />1995年沃德?坎宁安 （Ward Cunningham）为了方便模式社群的交流创建了全世界第一个wiki系统－WikiWikiWeb，并用它建立了波特兰模式知识库 （Portland Pattern Repository）。在建立这个系统的过程中，沃德?坎宁安创造了Wiki的概念和名称，并且实现了支持这些概 念的服务系统。这个系统是最早的Wiki系统。从1996年至2000年间，波特兰模式知识库围绕著面向社群的协作式写作，不断发展出一些支持这种写作的 辅助工具，从而使Wiki的概念不断得到丰富。同时Wiki的概念也得到了传播，出现了许多类似的网站和软体系统。 <br />Wiki的历史不长，无论是 Wiki概念本身，还是相关软体系统的特性，都还在热烈的讨论中；所以怎样的一个站点才能称得上是一个Wiki系统还是有争议的。与Wiki相关新近出现 的技术还有blog，它们都降低了超文本写作和发布的难度。这两者都是同内容管理系统密切相关的。 <br />Wiki的特点 <br />使用方便 <br />维护快捷：快速创建、存取、更改超文本页面（这也是为什麼叫作 &#8220;wiki wiki&#8221; 的原因）。 <br />格式简单：用简单的格式标记来取代 HTML 的复杂格式标记。（类似所见即所得的风格） <br />链接方便：通过简单标记，直接以关键字名来建立链接（页面、外部连接、图像等）。 <br />命名平易：关键字名就是页面名称，并且被置於一个单层、平直的名空间中。 <br />可增长 <br />可增长：页面的链接目标可以尚未存在，通过点击链接，我们可以创建这些页面，从而使系统得以增长。 <br />修订历史：记录页面的修订历史，页面的各个版本都可以被获取。 <br />开放性 <br />开放的：社群内的成员可以任意创建、修改、或删除页面。 <br />可观察：系统内页面的变动可以被来访者清楚观察得到。 <br />由於Wiki的自组织，可增长以及可观察的特点，使Wiki本身也成为一个网路研究的对象。对Wiki的研究也许能够让人们对网路的认识更加深入 </p>
<p>理论和技术： <br />1、 六度关系理论 <br />目 前流行的“六度分隔”理论是20世纪60年代由美国的心理学家米格兰姆（Stanley Milgram）提出的，这个理论可以通俗地阐述为： 最多通过 六个人你就能够认识任何一个陌生人。“六度分隔”成为人际关系世界中无可否认而又令人震惊的特征，许多社会学上的深入研究也给出令人信服的证据，说明这一 特征不只是特例，在一般情形下也存在。 最近，美国哥伦比亚大学社会学系的瓦茨教授领导的EMAIL试验也再次证明了这一人际关系世界中惊人的规律。然 而，在现实世界中，六十亿人怎么可能真的构成如此紧密的相互关联呢？是互联网使一切成为现实。 </p>
<p>2、 Xml <br />XML即可扩展标 记语言（eXtensible Markup Language）。标记是指计算机所能理解的信息符号，通过此种标记，计算机之间可以处理包含各种信息的 文章等。如何定义这些标记，既可以选择国际通用的标记语言，比如HTML，也可以使用象XML这样由相关人士自由决定的标记语言，这就是语言的可扩展性。 XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。 </p>
<p>3、 AJAX <br />Ajax并不是一种技术。它实际上是几种已经在各自领域大行其道技术的强强结合。Ajax混合了： <br />* 基于XHTML/CSS <br />* 由DOM（Document Object Model）实现动态显示与交互 <br />* 通过XML和XSLT进行数据交换及处理 <br />* 使用JavaScript整合上述技术 </p>
<p>直 观一点的说Ajax能够实现不刷新浏览器窗口（当然更不用安装额外的插件）而满足用户的操作，现在一些看上去很Cool的网站，很多是用这项技术实现的， 其中包括：orkut、Gmail、Google Group、Google Suggest、Google Maps、Flickr、A9.com等。 2SIMPLE的Co-mment系统虽然没有用到XML/XSLT，其理念已经暗合容Ajax，实现了不刷新网页提供动态内给用户。 </p>
<p>现有的产品： <br />Wiki 百科、Wallop 、yahoo360 、openbc 、 cyworld 、43things 、 flickr、 del.icio.us、 &nbsp;cragslist 、glob 、客齐集、 friendster 、 linkin 、UU通 、 优友 、 天际网 、爱米网 、 linkist 、新浪点点通、skype、亿友、cyworld </p>
<p>现在说说web2.0的具体应用。</p>
<p>历史很重要。对一个技术的学习也应当从历史出发，通过其在时间形成历史的流变，得以知晓现状，甚至能够预知未来。</p>
<p>那Web 1.0是什么呢？</p>
<p>他们说，记得静态HTML的WWW时代么？</p>
<p>（那个时代的WWW应用、人们的Web体验、对社会的影响如何？）</p>
<p>那么动态HTML和静态HTML下的Web相比，是多少版本？1.5？对了，他们是真这么叫的。</p>
<p>（在效果和影响上，与1.0相比，扩展和加深多少？）</p>
<p>要呈现的数据存储在数据库中，通过Web服务端的程序，应用户的请求，取出数据，加上事先设计的模板，动态的生成Html代码，发送到用户的浏览器那里。</p>
<p>他是1.0系列，应为用户在浏览器中所见和Web 1.0一样，它有0.5的升级，因为数据不是事先制作并发布，而是动态生成，和用户的需要交互生成。</p>
<p>那好，在加0.5，到Web 2.0，变化是在哪里呢？</p>
<p>（看到了正在崛起的和改变的，会继续朝着什么方向改变互联网和社会呢？）</p>
<p>更新：关于各个版本的差别，看看亚马逊的例子。</p>
<p>事情没有那么幸运，Web 2.0并不是一个具体的事物，而是一个阶段，是促成这个阶段的各种技术和相关的产品服务的一个称呼。所以，我们无法说，Web 2.0是什么，但是可以说，那些是Web 2.0。</p>
<p>WikiPedia的Web 2.0条目下列出了这些条件：</p>
<p>* CSS 和语义相关的 XHTML 标记<br />* AJAX 技术<br />* Syndication of data in RSS/ATOM<br />* Aggregation of RSS/ATOM data<br />* 简洁而有意义的 URLs<br />* 支持发布为 weblog<br />* RESTian (preferred) 或者 XML Webservice APIs<br />* 一些社会性网络元素</p>
<p>必须具备的要素有：</p>
<p>* 网站应该能够让用户把数据在网站系统内外倒腾。<br />* 用户在网站系统内拥有自己的数据<br />* 完全基于Web，所有的功能都能透过浏览器完成。</p>
<p>（以上内容引用自英文版维基百科）</p>
<p>虽然这只是一家之言，不过，对于其中谈到的几个要素，大家还是公认的。</p>
<p>- 基于RSS/ATOM/RDF/FOAF等XML数据的同步、聚合和迁移。</p>
<p>数据不再和页面和网站混粘在一起，它独立了，它跟着用户走。这是Web 2.0的很重要特征。这也是为什么Blog是Web 2.0的代表的原因。在网志上，常主角的是相互独立的一则则的网志。</p>
<p>独立，然后有物理表现。现在，就能让他们活跃起来。透过对XML数据的处理，这些内容能被自由的组合，被各种应用程序，不论是Web程序还是桌面程序等呈现和处理。</p>
<p>（更新：参看商业周刊的All Your Info in One Place）</p>
<p>当然，最重要的是背后的人。</p>
<p>- 社会性因素。</p>
<p>内容跟着人走，内容又能够被用户自由的组合，也就是说，用户能够自由的借助内容媒介，创建起一个个的社群，发生各种社会性的（网络）行为。</p>
<p>此外还有标签以及建立在开放标签系统之上的Folksonomy。</p>
<p>- 第三个公认的因素是开放API，这个技术性稍强些，得另花时间研习，可以先看看例子：amazon、flickr、google map等。</p>
<p>（Web 2.0是个大筐，装了好多东西）</p>
<p>从Web应用的产品/服务生产者角度来说，该如何创建Web 2.0的产品呢？</p>
<p>重要的是要抓住这么几点，一个是微内容（这里有定义），一个是用户个体。除了这两个最基本的之外，还可以考虑社群内的分享以及提供API。</p>
<p>微 内容：英文是microcontent。用户所生产的任何数据都算是微内容，比如一则网志，评论，图片，收藏的书签，喜好的音乐列表、想要做的事情，想要 去的地方、新的朋友等等。这些微内容，充斥着我们的生活、工作和学习，它的数量、重要性，还有我们对它的依赖，并不亚于那些道貌岸然、西装革履的正统文 章、论文、书籍。</p>
<p>对微内容的重新发现和利用，是互联网所开创的平等、***、自由风气的自然衍生，也是互联网相关技术消减信息管理成本之后的一个成果。</p>
<p>我们每天都生产众多的微内容，也消费着同样多的微内容。对于Web 2.0来说，如何帮助用户管理、维护、存储、分享、转移微内容，就成了关键。</p>
<p>用 户个体。对于Web 1.0的典型产品/服务来说，用户没有具体的面貌、个性，它只是一个模糊的群体的代名词而已。但是对于Web2.0的产品和服务来 说，用户是个实实在在的人。Web 2.0所服务的，是具体的人，而不是一个如同幽灵般的概念。并且，这个人的具体性，会因为服务本身而不断地充实起来。</p>
<p>如何为这个具体的个体服务，是Web 2.0设计的起点。</p>
<p>因此，一类可以被称作Web 2.0的产品/服务将是这样：</p>
<p>服务于用户个体的微内容的收集、创建、发布、管理、分享、合作、维护等的平台。</p>
<p>这是表。</p>
<p>里呢，恐怕就设计到好些人提到的，微内容的XML表现；微内容的聚合；微内容的迁移；社会性关系的维护；界面的易用性等等。</p>
<p>其质，是否就是开源、参与、个人价值、草根、合作等等？</p>
<p>Web2.0是许多方面起头并进又相互牵连的一个新的阶段的到来。因此，不同的人，有着不同的看法。那么，对于Web开发人员来说，Web2.0意味着什么呢？</p>
<p>他们说Web2.0阶段，Web是一个平台，或者说，Web正在变得可编程，可以执行的Web应用。野心家们设想这个它的终极目标是Web OS。</p>
<p>Web 1.0时候，Web只是一个针对人的阅读的发布平台，Web由一个个的超文本链接而成。现在的趋势发生了变化，Web不仅仅是Html文档的天下，它成了交互的场所。</p>
<p>Web 2.0 Conference 网站的横幅引用Jeff Bezos的话说“Web 1.0 is making the internet for people， web 2.0 is making the internet better for computers”。</p>
<p>具体来讲，他们说Web成为一个开发环境，借助Web服务提供的编程接口，网站成了软件构件。</p>
<p>这些，就是Web Service的目标吧，信息孤岛通过这些Web Service的对话，能够被自由构建成适合不同应用的建筑来。</p>
<p>一些例子：del.icio.us、flickr、a9、amazon、yahoo、google、msn等提供的编程接口衍生出的各种应用。</p>
<p>为什么要开放APIs，这涉及到集市中的商业方面的技术策略。当然，还有更深层的原因，那是什么呢？</p>
<p>这种交互不仅体现在不同的网站服务之间，同时还体现在用户和Web之间在浏览器上的交互。这也是为什么在美味书签的收藏中Web2.0和AJAX如此相关的一个原因。</p>
<p>在Web页面上使用桌面程序有的那些便利，真的是很享受的事情。这恐怕也是Web可编程的一个方面，Web页面不再是标记和内容混合那样的简单，它就是一个可以编程的地方（是这样理解吧？）</p>
<p>有 人反对说，AJAX的使用对搜索引擎不友好，只有Web 1.0的站长才关心这个事情吧，在Web 2.0时候，站长应该关心的是用户参与的便利、用户的 自由度，至于搜索，有RSS/ATOM/RDF等，更本用不着操心，Google不是已经顺应这个趋势，让大家主动提交了么？</p>
<p>可编程的第三个方面，是否在于Web应用和桌面应用之间的无缝连接趋势的出现？类似这里说的“从工具上，是由互联网浏览器向各类浏览器、rss阅读器等内容发展”</p>
<p>&#8230;&#8230;</p>
<p>自己不是专业开发人员，对Web OS的学习就点到为止，下次换个方向，否则我非头大不可。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>cathayan和Live21说Web 2.0其实思路很古老，就是internet 1.0的回归。</p>
<p>Live21那里提到“关于概念的炒做应该不是一次两次的问题了”。</p>
<p>提到概念炒作，我还真见到过，今天在一篇报道中看到作为WEB 2.0的BSP的字眼，好笑得很。</p>
<p>不过，我真想说明，在目前中文Blog空间内能查阅到的学习、探讨Web 2.0的资料都不是炒作，因为包括我在内，大家都没有任何商业背景（注意，新闻报道中的那些Web 2.0除外）。</p>
<p>[Web 2.0是个历史学的概念，而非是个技术性的概念，它是对Web发展历史断代的成果。对这个概念的梳理，能帮助我更好的把握互联网正在发生的技术与文化。]</p>
<p>中文网志圈谈论的Web 2.0内容摘要：</p>
<p>- &nbsp;“我觉得最有价值的一个是， web应用的数据格式开始逐渐出现了交换“标准”&#8230;这些标准&#8230;更加容易被机器自动化处理&#8230;能帮助人更好地过滤和 定制化信息。其次，更多的服务将以web service的形式来提供，&#8230;这使得web 服务可以被互相集成， 从而诞生更多新的服务&#8230;人的重要 性被提高了。过去web更多注重在信息提供， 而现在的越来越多的应用更加关注人，也就是所谓“社会性”。此外web的可用性改进正在被越来越重 视&#8230;”[老冒：朝web 2.0泼点冷水]</p>
<p>- “RSS逐渐成为在线内容提供服务的标准发行平台。Blog以及user- generated内容的兴起。My Yahoo提供的RSS整合型服务。同时提出了值得密切关注的一些发展中领域，其中包括搜索技术，个性化，User -Generated内容（包括 blog，评论，图像和声音），音乐，短视频和Accessibility(易访问性）”[Owen： Mary Meeker新作 - 关于Digital World的发展报告的摘取]</p>
<p>- “我们谈论的Web2.0带给我们的是一种可读 写的网络，这种可读写的网络表现于用户是一种双通道的交流模式，也就是说网页与用户之间的互动关系由传统的“Push”模式演变成双向交流的“Two- &nbsp;Way Communication”的模式。而对于Web服务的开发者来说，Web2.0带来的理念是服务的亲和力，可操作性，用户体验以及可用 性。”[Owen：BaCKpACK-体验可读写的Web服务]</p>
<p>- “web 2.0是一种可以被分发的信息概述，web文档被格式化成了web数据。我们不会再看到不同旧地信息，现在我们所注意到是一种聚合、再混合内容的工具。”[songzhen：也说Web 2.0的翻译]</p>
<p>- &nbsp;“从这些应用中可以看到：如果基于传统的HTML，同样的功能实现将变得非常复杂和不稳定，数据的再生产和交换成本是很高的。所以：RSS这个标准最终要 的贡献就是使得互联网的大部分网站变得可编程：类似的例子还有Blog中的：TrackBack Ping等机制，这些机制都是依赖XML/RPC实现 的。当初为Lucene设计一个RSS/XML的接口也是为了这个初衷，它使得全文检索服务可以轻松的嵌入到各种应用中，通过关键词将各种内容之间实现更 丰富的关联(Well Referenced)。”[车东：RSS，简单协议使得互联网可编程]</p>
<p>- “聚合的可能性以及如何更好地聚合 （通常来说，更好的聚合应该基于个人知识管理和人际关系管理）很显然应该成为新一代或者说web2.0架构的核心之一。还有，你会重新发现，恰好是分散带 动了聚合，聚合促进了分散，通过聚合的思维，互联网的网络状变得越来越丰富和密集，web2.0就变得越来越有趣味，它将web1.0时代的硕大节点即门 户网站不断消解，去努力创造一个更加和谐的自然网络图谱。”[Horse：rss，聚合的无数可能]</p>
<p>- “新的web2.0网站都依赖于用户参与、用户主导、用户建设”。[Horse：Web 2.0这个词]</p>
<p>- Keso：Web 1.0与Web 2.0的区别</p>
<p>- &nbsp;“表面上看，Bloglines取代了门户，成为一个新的中心，但这里有一个重大的区别。门户是只读的，它带有某种锁定的性质。你可以离开门户，但你无法 带走门户的内容。Bloglines则完全不同，你觉得它好用，就会继续使用，有一天你不再喜欢Bloglines，你完全可以导出你的OPML，到另一 个 RSS订阅网站，或者干脆用客户端软件浏览同样的内容。所以，像Bloglines这样的网站，是可写的，你可以导入，也可以导出。就像你对信息拥有 选择权，对服务提供商也同样拥有选择权，没有人可以锁定你，主动权在你自己手上。”[Keso：再说信息选择权]</p>
<p>- “Flickr、 del.icio.us、Bloglines等Web 2.0服务，通过开放API获得了很多有趣、有用的想法，并借助外部的力量，让用户获得了更好的体 验。更多大公司也加入到开放API的潮流中，Google、Yahoo!、Amazon、Skype。Google桌面搜索今年3月才开放API，很快就 产生了大量的创造，大大扩充了可搜索的文件格式。”[Keso：开放API]</p>
<p>- “归纳：web1.0天天谈门户，web2.0谈个人 化；web1.0谈内容，web2.0谈应用；web1.0商业模式，web2.0谈服务；web1.0谈密闭、大而全，web2.0大家谈开放、谈联 合；web1.0网站中心化，web2.0谈个人中心化；web1.0一对一，web2.0谈社会性网络；web1.0不知道你是狗，web2.0你去年 夏天干了什么我一清二楚甚至想要干什么呢。。。”[van_wuchanghua：发现了N.HOOLYWOOD，我还知道你今年夏天要干什么]</p>
<p>- “我认为Web2.0有下面几个方面的特性: 个性化的传播方式. 读与写并存的表达方式. 社会化的联合方式.标准化的创作方式. 便捷化的体验方式.</p>
<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://blog.wgzhao.com/2005/11/25/web2-introduced.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://blog.wgzhao.com/2005/11/25/web2-introduced.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
