<?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>我想网 &#187; YUI</title>
	<atom:link href="http://www.iwanna.cn/topics/ui/javascript/yui/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iwanna.cn</link>
	<description></description>
	<lastBuildDate>Sat, 31 Jul 2010 15:12:14 +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>使用框架建立富联网应用</title>
		<link>http://www.iwanna.cn/archives/2010/07/27/4752/</link>
		<comments>http://www.iwanna.cn/archives/2010/07/27/4752/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 13:41:38 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=4752</guid>
		<description><![CDATA[JavaScript库，ICEfaces，Adobe  Flash，微软Silverlight，现在还有HTML5，全球性的网络支配地位的竞争已经进入了崭新的时代——一个富网络应用（简称RIA，中文也 有叫富互联网应用）的时代。本文目的是界定什么是RIA，解释为何网络已经开始向RIA靠拢，探索今天已经存在的不同RIA框架，对每个框架作出一些优点和缺点的概述，并讨论这些新技术在未来将是怎么样的生存态。


RIA是何物?
所谓RIA，或者说富网络网应用，就是指可以像桌面程序一样操作的网络应用。 在RIA冒出来之前，大多数的网络应用都是静态的页面构建的。

Sumo Paint 是一个基于Flash的RIA,  具有像Photoshop一样的图形编辑功能。
跟桌面应用程序不同，任何一个网页的互动往往需要重新加载一个全新的页面。而桌面应用程序，在另一方面，有很多更好的用户交互性，因为所有处理都是在用户的机器本身，所以能给以更加无缝的用户体验。
因此，软件开发商开始问自己，“我们产品应该是一个桌面应用程序还是一个Web应用程序呢？”
这一直是一个公平的问题，因为这两种类型的应用程序都具有各自优点和缺点。
桌面应用程序具有流畅的用户交互性，但软件是售出去的，会遇到发布和更新的问题。
Web应用程序，另一方面，很容易从网上获得，摆脱相关的软件发布和更新的问题，但在用户交互性体验非常差。
因此，怎么样才能两全其美呢？
RIA就是两全其美。RIA通过网络发布，有非常丰富的用户交互。得益于Ajax的出现，一个无需刷新就可以发送服务器请求的网络应用的方法，新技术出现，加入了RIA的运动。
基于这些技术出现了一些框架，帮助开发人员构建和部署富网络应用程序，如JavaScript库，ICEfaces，Adobe Flash 4（Flex 3前身），微软Silverlight，以及HTML5的。
让我们来一个个探讨RIA的框架。
网络应用的JavaScript库
JavaScript库，例如 jQuery和MooTools 是首批技术之一，可以真正的帮助部署流畅和互动的富网络应用。它们提供通过杠杆客户端脚本来处理前端接口功能的RIA框架。它们是一些基本的 Javascript文件，由一些有用的，经过跨浏览器测试功能的集成。可以使用Ajax，以及处理普通的基于用户驱动事件的交互，如显示和隐藏内容。
目前最流行的有jQuery（尤其是使用jQuery UI），MooTools，YIU（雅虎用户界面库），以及EXTJS。这些库包括RIA组件，如网格，图表和复杂的表单元素，以及处理Ajax的工具。最引人入胜的是，大部分网络开发的JavaScript库都是开源的。
如果你不想购买一个集成开发环境（IDE），但仍希望在自己的网站绚丽而专业的RIA功能，JavaScript库是一个很不错的选择。
使用JavaScript库的网站有Google，Digg，雅虎，亚马逊，微软，Twitter，以及Best Buy。
ICEfaces
ICEfaces是标准的JavaServer Faces（JSF）的框架的扩展，旨在去除方程中的JavaScript从而简化程序员的工作流程。换句话说，ICEfaces通过Java应用接口为你处理了所有的JavaScript/Ajax。通过删除这些自定义JavaScript函数的复杂引入，大大简化了创建富网络应用的任务。
如果你的团队主要成员是Java开发人员，或者如果你的网络应用程序不需要其它ICEfaces没有的复杂组件，又或者如果你的网络应用程序是事件驱动的，那么使用ICEfaces是很好的选择。如果你的网路应用是事件驱动的，请确定你已经了解ICEfaces不提供真正的“服务器推”技术的，HTML5，Flash Builder 4和Silverlight都支持的。不过，相应地ICEfaces使用长轮询的方法来模拟服务器推技术。
使用ICEfaces的网站有波音，美国航空航天局，联合太平洋公司，T-Mobile，以及美国银行。
Adobe Flash Builder 4
Flash已经出现了很长一段时间，但是用使用Flash来构建整个网络应用十分麻烦，直到Flex的引进，这是Flash的一个扩展，提供RIA网络组 件。
Adobe Flash Builder  4最令人兴奋的是它的跨平台和跨浏览器特性，允许程序在所有的操作系统和所有的浏览器上以同样的方式运行。相比于JavaScript，浏览器有不同的 JavaScript引擎管理和处理的代码，而Adobe的Flash只有一个引擎，用户通过Adobe  Flash浏览器插件来安装（通常的情况是他们有了）。
Flash Builder 4  应用之所以能如此，因为它们已经嵌入到HTML页面，这意味着浏览器本身并没有对应用程序的性能有什么影响。这意味着你如果你乐意，  你还可以在IE6上运行最复杂的网络应用程序。（这当然简单，因为Flash插件/引擎经常会更新，因此只是稍微依赖于用户插件的版本）。
这些应用通常是伴随着服务器端处理，比如一个Java后端处理，而且需要Flash Builder 4IDE做开发。
如果你的团队主要是Java开发（因为搭配Java运作良好），或者你的应用程序使用事件驱动的构架，可以选择Adobe Flash Builder  4。
使用Flash作为网络应用程序的网站有Mint.com，Flickr和Hyundai。
Silverlight
Silverlight是基本上微软版本的Adobe Flex /的Adobe Flash。现在已获得了一些吸引力，但似乎并没有达到的Adobe  Flash的普及程度。
Silverlight应用程序明显约束于.NET的后端，因为它是微软的产品。这意味着，你不得不 Silverlight /.NET 和Adobe  Flex / [一些服务器端脚本，如PHP] [...]]]></description>
			<content:encoded><![CDATA[<p><strong>JavaScript库，ICEfaces，<a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a>  <a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>，微软Silverlight，现在还有HTML5，全球性的网络支配地位的竞争已经进入了崭新的时代——一个富网络应用（简称<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>，中文也 有叫富互联网应用）的时代。</strong>本文目的是界定什么是<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>，解释为何网络已经开始向<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>靠拢，探索今天已经存在的不同<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>框架，对每个框架作出一些优点和缺点的概述，并讨论这些新技术在未来将是怎么样的生存态。<br />
<a href="http://sixrevisions.com/web-development/building-rich-internet-applications-with-frameworks/"><img src="http://images.uheed.com/iwanna/2010/07/27/13151901685270962.png" alt="Building Rich Internet Applications with Frameworks" width="550" height="200" /></a><br />
<span id="more-4752"></span><br />
<strong><a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>是何物?</strong></p>
<p>所谓<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>，或者说富网络网应用，就是指可以像桌面程序一样操作的网络应用。 在<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>冒出来之前，大多数的网络应用都是静态的页面构建的。<br />
<a href="http://www.iwanna.cn/" target="_blank"><img src="http://images.uheed.com/iwanna/2010/07/27/1315421675113898.png" alt="What's an RIA?" width="550" height="420" /></a><br />
<a href="http://www.sumopaint.com/app/">Sumo Paint</a> 是一个基于<a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>的<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>,  具有像Photoshop一样的图形编辑功能。</p>
<p>跟桌面应用程序不同，任何一个网页的互动往往需要重新加载一个全新的页面。而桌面应用程序，在另一方面，有很多更好的用户交互性，因为所有处理都是在用户的机器本身，所以能给以更加无缝的用户体验。</p>
<p>因此，软件开发商开始问自己，“我们产品应该是一个桌面应用程序还是一个Web应用程序呢？”</p>
<p>这一直是一个公平的问题，因为这两种类型的应用程序都具有各自优点和缺点。</p>
<p>桌面应用程序具有流畅的用户交互性，但软件是售出去的，会遇到发布和更新的问题。</p>
<p>Web应用程序，另一方面，很容易从网上获得，摆脱相关的软件发布和更新的问题，但在用户交互性体验非常差。</p>
<p>因此，怎么样才能两全其美呢？</p>
<p><a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>就是两全其美。<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>通过网络发布，有非常丰富的用户交互。得益于Ajax的出现，一个无需刷新就可以发送服务器请求的网络应用的方法，新技术出现，加入了<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>的运动。</p>
<p>基于这些技术出现了一些框架，帮助开发人员构建和部署富网络应用程序，如JavaScript库，ICEfaces，<a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a> <a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a> 4（Flex 3前身），微软Silverlight，以及HTML5的。</p>
<p>让我们来一个个探讨<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>的框架。</p>
<p><strong>网络应用的JavaScript库</strong></p>
<p>JavaScript库，例如 jQuery和MooTools 是首批技术之一，可以真正的帮助部署流畅和互动的富网络应用。它们提供通过杠杆客户端脚本来处理前端接口功能的<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>框架。它们是一些基本的 Javascript文件，由一些有用的，经过跨浏览器测试功能的集成。可以使用Ajax，以及处理普通的基于用户驱动事件的交互，如显示和隐藏内容。</p>
<p>目前最流行的有jQuery（尤其是使用jQuery UI），MooTools，YIU（雅虎用户界面库），以及EXTJS。这些库包括<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>组件，如网格，图表和复杂的表单元素，以及处理Ajax的工具。最引人入胜的是，大部分网络开发的JavaScript库都是开源的。</p>
<p>如果你不想购买一个集成开发环境（IDE），但仍希望在自己的网站绚丽而专业的<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>功能，JavaScript库是一个很不错的选择。</p>
<p>使用JavaScript库的网站有Google，Digg，雅虎，亚马逊，微软，Twitter，以及Best Buy。</p>
<p><strong>ICEfaces</strong></p>
<p>ICEfaces是标准的JavaServer Faces（JSF）的框架的扩展，旨在去除方程中的JavaScript从而简化程序员的工作流程。换句话说，ICEfaces通过Java应用接口为你处理了所有的JavaScript/Ajax。通过删除这些自定义JavaScript函数的复杂引入，大大简化了创建富网络应用的任务。</p>
<p>如果你的团队主要成员是Java开发人员，或者如果你的网络应用程序不需要其它ICEfaces没有的复杂组件，又或者如果你的网络应用程序是事件驱动的，那么使用ICEfaces是很好的选择。如果你的网路应用是事件驱动的，请确定你已经了解ICEfaces不提供真正的“服务器推”技术的，HTML5，<a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a> Builder 4和Silverlight都支持的。不过，相应地ICEfaces使用长轮询的方法来模拟服务器推技术。</p>
<p>使用ICEfaces的网站有波音，美国航空航天局，联合太平洋公司，T-Mobile，以及美国银行。</p>
<p><strong><a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a> <a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a> Builder 4</strong></p>
<p><a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>已经出现了很长一段时间，但是用使用<a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>来构建整个网络应用十分麻烦，直到Flex的引进，这是<a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>的一个扩展，提供<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>网络组 件。</p>
<p><a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a> <a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a> Builder  4最令人兴奋的是它的跨平台和跨浏览器特性，允许程序在所有的操作系统和所有的浏览器上以同样的方式运行。相比于JavaScript，浏览器有不同的 JavaScript引擎管理和处理的代码，而<a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a>的<a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>只有一个引擎，用户通过<a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a>  <a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>浏览器插件来安装（通常的情况是他们有了）。</p>
<p><a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a> Builder 4  应用之所以能如此，因为它们已经嵌入到HTML页面，这意味着浏览器本身并没有对应用程序的性能有什么影响。这意味着你如果你乐意，  你还可以在IE6上运行最复杂的网络应用程序。（这当然简单，因为<a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>插件/引擎经常会更新，因此只是稍微依赖于用户插件的版本）。</p>
<p>这些应用通常是伴随着服务器端处理，比如一个Java后端处理，而且需要<a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a> Builder 4IDE做开发。</p>
<p>如果你的团队主要是Java开发（因为搭配Java运作良好），或者你的应用程序使用事件驱动的构架，可以选择<a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a> <a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a> Builder  4。</p>
<p>使用<a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>作为网络应用程序的网站有Mint.com，Flickr和Hyundai。</p>
<p><strong>Silverlight</strong></p>
<p>Silverlight是基本上微软版本的<a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a> Flex /的<a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a> <a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>。现在已获得了一些吸引力，但似乎并没有达到的<a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a>  <a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>的普及程度。</p>
<p>Silverlight应用程序明显约束于.NET的后端，因为它是微软的产品。这意味着，你不得不 Silverlight /.NET 和<a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a>  Flex / [一些服务器端脚本，如PHP] 之间整合考虑。</p>
<p>如果你的网络应用需要复杂的图形，或者如果你的团队主要是.NET开发人员，又或者如果你的应用程序使用事件驱动的架构，那你可以选择 Silverlight。</p>
<p>使用Silverlight的网站，如Netflix。</p>
<p><strong>HTML5</strong></p>
<p>HTML5的是<a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a>运动中的最新发展。  HTML5，在本质上是HTML4，JavaScript，<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a>，Javascript代码库以及Falsh的最优合并，利用API模型成为一个单一规 范。 HTML5的是一个开放的技术，这意味着不会有单一的主管团体如<a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>的<a href="http://www.iwanna.cn/tags/adobe/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Adobe">Adobe</a>或Silverlight的微软。</p>
<p>由于HTML5规范还没有完成，IE9尚未发布，要建立产品级的网络应用，你还需要等待一点点时间。</p>
<p>目前，所有主要浏览器除了IE8都支持HTML5。由于IE8的浏览器市场占据了主要部分，在IE9发布之前，HTML5实在难以成为主流。</p>
<p>一旦HTML5得到广泛支持，如果你不想购买和学习的IDE（像Flex和Silverlight框架所必需的），如果你的应用程序使用事件驱动架构，或 者如果你喜欢使用内置的HTML功能和JavaScript API 功能而不是使用第三方JavaScript库，那么使用HTML是很好的选择。</p>
<p>尽管HTML5中可以很好地处理图形，但是使用<a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>和Silverlight来处理复杂图形和动画在目前仍然容易/更快的选择。</p>
<p><strong><a href="http://www.iwanna.cn/tags/ria/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with RIA">RIA</a> 的未来</strong><br />
<a href="http://www.iwanna.cn/" target="_blank"><img src="http://images.uheed.com/iwanna/2010/07/27/13154422012391927.jpg" alt="使用框架建立富联网应用 | iwanna.cn 我想网" /></a></p>
<p>HTML5应用程序是互联网的未来吗？不完全是。只要那些创造性和创新性的网络开发人员还在不断的去创造一些特别的东西，就会总是出现一些新技术可以造出 些HTML5或其他任何网络技术无法完成的神奇的东西。</p>
<p>JavaScript库，ICEfaces，<a href="http://www.iwanna.cn/tags/flash/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with Flash">Flash</a>，Silverlight和HTML5的存在首要原因是其创造力和创新性。未来的网络将会由许多 共存的技术组成，就像现在。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/07/27/4752/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/07/27/4752/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/07/27/4752/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/07/27/4752/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/07/27/4752/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/ui/adobe/" title="Adobe" rel="tag nofollow">Adobe</a>, <a href="http://www.iwanna.cn/tags/adobe/" title="Adobe" rel="tag nofollow">Adobe</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/ajax/" title="Ajax" rel="tag nofollow">Ajax</a>, <a href="http://www.iwanna.cn/tags/ajax/" title="Ajax" rel="tag nofollow">Ajax</a>, <a href="http://www.iwanna.cn/tags/flash/" title="Flash" rel="tag nofollow">Flash</a>, <a href="http://www.iwanna.cn/topics/ui/adobe/flash-adobe-ui/" title="Flash" rel="tag nofollow">Flash</a>, <a href="http://www.iwanna.cn/topics/ui/adobe/flex-adobe-ui/" title="Flex" rel="tag nofollow">Flex</a>, <a href="http://www.iwanna.cn/topics/ui/html/" title="HTML" rel="tag nofollow">HTML</a>, <a href="http://www.iwanna.cn/tags/html/" title="HTML" rel="tag nofollow">HTML</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/" title="JavaScript" rel="tag nofollow">JavaScript</a>, <a href="http://www.iwanna.cn/tags/javascript/" title="JavaScript" rel="tag nofollow">JavaScript</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/jquery/" title="JQuery" rel="tag nofollow">JQuery</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/mootools-javascript-ui/" title="MooTools" rel="tag nofollow">MooTools</a>, <a href="http://www.iwanna.cn/tags/ria/" title="RIA" rel="tag nofollow">RIA</a>, <a href="http://www.iwanna.cn/tags/silverlight/" title="Silverlight" rel="tag nofollow">Silverlight</a>, <a href="http://www.iwanna.cn/topics/news/technology_news/" title="Technology" rel="tag nofollow">Technology</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/yui/" title="YUI" rel="tag nofollow">YUI</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/04/29/894/" title="页面输出时一些常用的小技巧 (2009年04月29日)">页面输出时一些常用的小技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/07/03/1913/" title="使用Adobe Flex 3开发(MMO)大型多人在线游戏 (2009年07月3日)">使用Adobe Flex 3开发(MMO)大型多人在线游戏</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/23/1862/" title="XmlHttpRequest的串行异步 (2009年06月23日)">XmlHttpRequest的串行异步</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/07/29/2073/" title="RIA特别专题和Flash开发平台工具下载资源发布 (2009年07月29日)">RIA特别专题和Flash开发平台工具下载资源发布</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/12/4478/" title="Ajax跨域访问解决方案 (2010年07月12日)">Ajax跨域访问解决方案</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/20/713/" title="24 个漂亮的个性化 HTML 表单技术 (2009年04月20日)">24 个漂亮的个性化 HTML 表单技术</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/16/4013/" title="10个绝妙的HTML5，CSS和Javascript示例 (2010年06月16日)">10个绝妙的HTML5，CSS和Javascript示例</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/02/04/2487/" title="10个基于 JavaScript 的 WYSIWYG 编辑器 (2010年02月4日)">10个基于 JavaScript 的 WYSIWYG 编辑器</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/21/1854/" title="10个关于Ajax的IT人需要知道的事情 (2009年06月21日)">10个关于Ajax的IT人需要知道的事情</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/21/3284/" title="10个Google 推动的 AJAX 库 API (2010年05月21日)">10个Google 推动的 AJAX 库 API</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/07/27/4752/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google 排名中的 10 个最著名的 JavaScript 库</title>
		<link>http://www.iwanna.cn/archives/2010/01/10/2457/</link>
		<comments>http://www.iwanna.cn/archives/2010/01/10/2457/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 09:23:53 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Extjs]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=2457</guid>
		<description><![CDATA[JavaScript 是 Web 开发与设计中不可或缺的东西，不管是一个简单的网页还是一个专业的站点，也不管你是高手还是菜鸟，如今 JavaScript 库越来越强大，可以胜任许多复杂的工作，然而同时，人们在众多 JavaScript 库面前又觉得无所适从，本文，我们将使用 Google 搜索出排名前 10 位的 JavaScript 库，并对它们逐一进行介绍。

1. jQuery: The Write Less, Do More, JavaScript Library

jQuery 是一个很新的 JavaScript 库，它的口号是“几行代码，能干大事”（Write Less, Do More），它是拥有最多插件和扩展的 JavaScript 库，以下是 jQuery 现状：

当前版本： 1.3.2
文件尺寸：压缩后最小19KB，未压缩为120K。
作者： John Resig
拥有19种语言的教程: 教程总计183种。
著名用户： 超过1000个
插件: 3493
易学
对设计师来说非常易学，使用 CSS 语法
拥有大量有趣的扩展
拥有非常出色的社区，可能是最大的
被数以百万的站点使用，包括诸如 Google, Dell, CBS, NBC, DIGG, Bank of America, Wordpress, Drupal, Mozilla 等著名站点。

2. MooTools – a [...]]]></description>
			<content:encoded><![CDATA[<p>JavaScript 是 Web 开发与设计中不可或缺的东西，不管是一个简单的网页还是一个专业的站点，也不管你是高手还是菜鸟，如今 JavaScript 库越来越强大，可以胜任许多复杂的工作，然而同时，人们在众多 JavaScript 库面前又觉得无所适从，本文，我们将使用 Google 搜索出排名前 10 位的 JavaScript 库，并对它们逐一进行介绍。<br />
<span id="more-2457"></span></p>
<h3>1. <a href="http://jquery.com/" target="_blank">jQuery: The Write Less, Do More, JavaScript Library</a></h3>
<p><img src="http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/topjsgoogle/jquery.jpg" alt="jQuery: The Write Less, Do More, JavaScript Library" /></p>
<p>jQuery 是一个很新的 JavaScript 库，它的口号是“几行代码，能干大事”（Write Less, Do More），它是拥有最多插件和扩展的 JavaScript 库，以下是 jQuery 现状：</p>
<ul>
<li>当前版本： <strong>1.3.2</strong></li>
<li>文件尺寸：压缩后最小19KB，未压缩为120K。</li>
<li>作者： <a href="http://ejohn.org/" target="_blank">John Resig</a></li>
<li><a href="http://docs.jquery.com/Tutorials" target="_blank">拥有19种语言的教程</a>: 教程总计183种。</li>
<li><a href="http://docs.jquery.com/Sites_Using_jQuery" target="_blank">著名用户：</a> 超过1000个</li>
<li><a href="http://plugins.jquery.com/" target="_blank">插件</a>: 3493</li>
<li>易学</li>
<li>对设计师来说非常易学，使用 <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a> 语法</li>
<li>拥有大量有趣的扩展</li>
<li>拥有非常出色的社区，可能是最大的</li>
<li>被数以百万的站点使用，包括诸如 Google, Dell, CBS, NBC, DIGG, Bank of America, Wordpress, Drupal, Mozilla 等著名站点。</li>
</ul>
<h3>2. <a href="http://mootools.net/" target="_blank">MooTools – a compact javascript framework</a></h3>
<p><img src="http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/topjsgoogle/mootools.jpg" alt="MooTools - a compact=" /></p>
<p>MooTools 是一个使用 MIT 许可的开源项目，意味着你可以在任一场合使用或对它就行修改。</p>
<ul>
<li>当前版本: <strong>1.2.3</strong></li>
<li>未压缩尺寸: <strong>95 KB</strong> (客户端) <strong>，22 KB</strong> (服务器端)</li>
<li>作者: <a href="http://mad4milk.net/" target="_blank">Valerio Proietti</a></li>
<li>著名用户: <a href="http://validator.w3.org/" target="_blank">w3c</a>, <a href="http://cnet.com/" target="_blank">cnet</a>, <a href="http://www.bing.com/reference/semhtml/Albert_Einstein?qpvt=albert+einstein&amp;q=albert+einstein&amp;fwd=1" target="_blank">bing</a>, …</li>
<li>官方站上的插件数目: 4</li>
<li>拥有更好的面向对象结构</li>
<li>它的动画效果更平滑</li>
<li>语法及对象句柄更富逻辑</li>
</ul>
<h3>3. <a href="http://www.prototypejs.org/" target="_blank">Prototype</a>: Easy Ajax and DOM manipulation for dynamic web applications</h3>
<p><img src="http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/topjsgoogle/prototype.jpg" alt="Prototype - Easy Ajax and DOM manipulation for dynamic web applications" /></p>
<p>被一些大型媒体公司和组织使用，<em>Protorype </em>是一个很独特的 JavaScript 库，逐渐成为 Web 引用开发者的代码基础，随着最新的 1.6.1 版本的推出，<em>Protorype </em>在性能，用户自定义事件以及同现代浏览器兼容方面越来越完善。</p>
<ul>
<li>最新版本: <strong>1.6.1</strong></li>
<li>未压缩尺寸: <strong>136 KB</strong> (大约5000行代码)</li>
<li>作者: <a href="http://twitter.com/sstephenson" target="_blank">Sam Stephenson</a></li>
<li><a href="http://www.prototypejs.org/real-world" target="_blank">著名用户</a>: NASA, CNN, NBC, …</li>
<li>插件数目: <a href="http://scripteka.com/" target="_blank">150+</a></li>
<li>更适用于大型 Web 程序</li>
</ul>
<h3>4. <a href="http://www.dojotoolkit.org/" target="_blank">Dojo Toolkit</a>: great experiences for everyone</h3>
<p><img src="http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/topjsgoogle/dojo.jpg" alt="Dojo - great experiences for everyone" /></p>
<p>Dojo 的内核小巧，快，精深，可用来创建反应灵敏的 Web 程序，拥有很出色的 UI 工具，在可访问性，本地化方面也做得很好。</p>
<ul>
<li>最新版本: <strong>1.4 Beta</strong></li>
<li>未压缩尺寸: <strong>26 KB</strong> (约5000行代码)</li>
<li>开发组织: <a href="http://dojofoundation.org/" target="_blank">Dojo Foundation</a></li>
<li><a href="http://www.dojotoolkit.org/DojoUsers" target="_blank">著名用户</a>: AOL, IBM, Sun, …</li>
<li>支持客户端数据存储</li>
<li>支持服务器端数据存储</li>
<li>异步通讯</li>
</ul>
<h3>5. <a href="http://script.aculo.us/" target="_blank">script.aculo.us</a>: easy-to-use, cross-browser user interface JavaScript libraries</h3>
<p><img src="http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/topjsgoogle/script.jpg" alt="script.aculo.us - easy-to-use, cross-browser user interface JavaScript libraries" /></p>
<p><em>script.aculo.us</em> 是一个开源 JavaScript 库，适用于创建视觉效果和 UI 行为，最新版本拥有一些新功能，如创建加载进程，Windows Media 和 Real Media 播放器检查等。</p>
<ul>
<li>最新版本: <strong>1.8.3</strong> (8 October, 2009)</li>
<li>未压缩尺寸: <strong>197 KB</strong> (包含 Prototype 和 测试页)</li>
<li>作者: <a href="http://mir.aculo.us/" target="_blank">Thomas Fuchs</a></li>
<li>著名用户: <a href="http://www.gucci.com/" target="_blank">Gucci</a>, <a href="http://www.feedburner.com/" target="_blank">Feedburner</a>, <a href="http://www.rubyonrails.org/" target="_blank">Ruby on Rails</a>, …</li>
<li><a href="http://wiki.github.com/madrobby/scriptaculous" target="_blank">Documentation wiki &amp; Usage</a> （文档）</li>
<li><em>script.aculo.us </em>是对 Prototype 的扩展，增加了视觉效果，UI 控制等功能。</li>
</ul>
<h3>6. <a href="http://www.extjs.com/" target="_blank">ExtJS</a>: Cross-Browser Rich Internet Application Framework</h3>
<p><img src="http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/topjsgoogle/extJs.jpg" alt="Ext JS - a cross-browser JavaScript library for building rich internet applications" /></p>
<p>ExtJS 是一个很出色的跨浏览器 JavaScript 框架，可以用来创建富 Web 应用，支持所有现代浏览器。拥有大量插件和扩展。</p>
<ul>
<li>最新版本: <strong>3.0</strong> (6th July, 2009)</li>
<li>压缩后尺寸: <strong>197 KB</strong> (包含 <em>Prototype</em> 和测试页)</li>
<li>作者: <a href="http://jackslocum.com/blog/" target="_blank">Jack Slocum</a></li>
<li>著名用户: <a href="http://www.gucci.com/" target="_blank">Gucci</a>, <a href="http://www.feedburner.com/" target="_blank">Feedburner</a>, <a href="http://www.rubyonrails.org/" target="_blank">Ruby on Rails</a>, …</li>
<li><a href="http://www.extjs.com/products/extjs/download.php" target="_blank">Download</a> | <a href="http://www.extjs.com/deploy/dev/examples/samples.html" target="_blank">Samples &amp; Demos</a> | <a href="http://www.extjs.com/deploy/dev/docs/" target="_blank">API Documentation</a></li>
<li>拥有很出色的部件和技术支持</li>
</ul>
<h3>7. <a href="http://www.uize.com/" target="_blank">UIZE</a>: supporting widgets, AJAX, DOM, templates, and more</h3>
<p><img src="http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/topjsgoogle/uize.jpg" alt="UIZE - a powerful, open source, object oriented JavaScript framewor" /></p>
<p>UIZE 的一些现状：</p>
<p>- 一个开源 JavaScript 框架<br />
- 很容易更换 <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a> 皮肤<br />
- 大量内置饰件<br />
- 令人目眩的效果和强大的功能</p>
<ul>
<li><a href="http://www.uize.com/uize.zip" target="_blank">压缩后的尺寸: <strong>4.47 MB</strong></a></li>
<li>作者: <a href="http://www.tomkidding.com/" target="_blank">Chris van Rensburg</a></li>
</ul>
<h3>8. <a href="http://developer.yahoo.com/yui/" target="_blank">YUI Library</a>: is proven, scalable, fast, and robust</h3>
<p><img src="http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/topjsgoogle/yui.jpg" alt="YUI is proven, scalable, fast, and robust" /></p>
<p><a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> 是本列表中规模最宏大的 JavaScript 库，它拥有数不清的强大功能，插件以及扩展，当然要掌握它也需要很长时间。</p>
<ul>
<li>最新版本: <strong>3</strong> (September 2009)</li>
<li>整个开发包尺寸: <strong>5.7 MB</strong> (包括源代码，调试文件，示例等)</li>
<li>开发公司: <a href="http://developer.yahoo.com/yui/" target="_blank">Yahoo! Developer Network</a></li>
<li>著名用户: <a href="http://www.linkedin.com/" target="_blank">LinkedIn</a>, <a href="http://www.wikia.com/" target="_blank">Wikia</a>, <a href="http://www.newsvine.com/" target="_blank">NewsVine</a>, …</li>
</ul>
<h3>9. <a href="http://archetypejs.org/" target="_blank">Archetype</a></h3>
<p><img src="http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/topjsgoogle/archetype.jpg" alt="Archetype JavaScript Framework" /></p>
<p>Archetype 现状：<em><br />
</em></p>
<ul>
<li>最新版本: <strong>0.10.0</strong> (September 2009)</li>
<li>尺寸: <strong>2.14 MB</strong></li>
<li>作者: <strong>Temsa &amp; Swiip</strong></li>
<li>用户: <a href="http://gifteer.com/" target="_blank">GifTeer</a>, <a href="http://france.meteofrance.com/" target="_blank">Meteo France</a>, …</li>
</ul>
<h3>10. <a href="http://qooxdoo.org/" target="_blank">qooxdoo</a>: the new era of web development</h3>
<p><img src="http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/topjsgoogle/qooxdoo.jpg" alt="qooxdoo - the new era of web development" /></p>
<p><em>qooxdoo</em> 是什么？是一个面向对象 JavaScript 库，包含跨平台开发工具链，顶级 GUI 工具以及高级客户端服务器通讯层，它是一个基于 LGPL/EPL 许可的开源项目：</p>
<ul>
<li>最新版本: <strong>0.8</strong> (September 2009)</li>
<li>尺寸: <strong>24 MB</strong></li>
<li>核心开发者: <a href="http://1and1.com/xml/order/AboutUs" target="_blank">1&amp;1 Internet AG</a></li>
<li><a href="http://qooxdoo.org/download" target="_blank">Download</a> | <a href="http://qooxdoo.org/demo" target="_blank">Samples &amp; Demos</a> | <a href="http://qooxdoo.org/documentation" target="_blank">Documentation</a></li>
<li>完整的 GUI 工具包</li>
<li>支持对象间的拖放操作</li>
</ul>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2010. |
<a href="http://www.iwanna.cn/archives/2010/01/10/2457/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2010/01/10/2457/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2010/01/10/2457/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2010/01/10/2457/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2010/01/10/2457/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/ui/javascript/extjs-javascript-ui/" title="Extjs" rel="tag nofollow">Extjs</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/" title="JavaScript" rel="tag nofollow">JavaScript</a>, <a href="http://www.iwanna.cn/tags/javascript/" title="JavaScript" rel="tag nofollow">JavaScript</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/jquery/" title="JQuery" rel="tag nofollow">JQuery</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/mootools-javascript-ui/" title="MooTools" rel="tag nofollow">MooTools</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/prototype/" title="Prototype" rel="tag nofollow">Prototype</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/yui/" title="YUI" rel="tag nofollow">YUI</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/04/29/894/" title="页面输出时一些常用的小技巧 (2009年04月29日)">页面输出时一些常用的小技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/03/31/79/" title="表单元素：40个CSS/JS风格和功能技术处理 (2009年03月31日)">表单元素：40个CSS/JS风格和功能技术处理</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/06/4383/" title="网页打开新窗口的解决方案,拒绝屏蔽 (2010年07月6日)">网页打开新窗口的解决方案,拒绝屏蔽</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/04/29/2874/" title="相见恨晚的一些 JavaScript 技巧 (2010年04月29日)">相见恨晚的一些 JavaScript 技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/09/18/2252/" title="用JS制作的网页版NES模拟器 IE8直接出局 (2009年09月18日)">用JS制作的网页版NES模拟器 IE8直接出局</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/03/31/77/" title="用css+js控制图片大小的方法 (2009年03月31日)">用css+js控制图片大小的方法</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/02/17/2516/" title="有关 JavaScript 的 10 件让人费解的事情 (2010年02月17日)">有关 JavaScript 的 10 件让人费解的事情</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/11/29/2396/" title="新 API 寻求让 JavaScript 操作本地文件 (2009年11月29日)">新 API 寻求让 JavaScript 操作本地文件</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/05/17/1085/" title="并发下载javascript (2009年05月17日)">并发下载javascript</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/13/4521/" title="常用JS验证函数总结 (2010年07月13日)">常用JS验证函数总结</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2010/01/10/2457/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YUI Compressor与ANT结合使用</title>
		<link>http://www.iwanna.cn/archives/2009/06/20/1847/</link>
		<comments>http://www.iwanna.cn/archives/2009/06/20/1847/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 01:42:35 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Tool]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[YUICompressor]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=1847</guid>
		<description><![CDATA[YUI Compressor在上一篇有过介绍了，但是YUI Compressor只能单独对一个CSS或JS文件进行处理，要批量进行操作，或者对一个项目所有的CSS和js文件进行操作，那么和ANT结合起来就 很方便。只要在项目里编写一个build.xml文件就OK了。
比方说在eclipse上操作：run as→ant build，轻松一键完成

Build.xml片段代码 

 &#60;property name=&#8220;web.dir&#8221; location=&#8220;WebRoot&#8221; /&#62; 
 &#60;property name=&#8220;yuicompressor.jar&#8221; location=&#8220;WebRoot/WEB-INF/lib/YUICompressorLib/yuicompressor-2.4.1.jar&#8221; /&#62; 
 &#60;property name=&#8220;js.build.dir&#8221; location=&#8220;webRoot/js/&#8221; /&#62; 
 &#60;property name=&#8220;dist.dir&#8221; location=&#8220;${build.dir}&#8221; /&#62; 
 
&#60;!&#8211; JS Compress &#8211;&#62; 
&#60;target name=&#8220;js.compress&#8221;&#62; 
 &#60;!&#8211; java -jar yuicompressor-2.4.1.jar -o d:/temp/hello_min.js hello.js &#8211;&#62; 
 &#60;apply executable=&#8220;java&#8221; parallel=&#8220;false&#8221; failonerror=&#8220;true&#8221;&#62; 
 &#60;fileset dir=&#8220;${js.build.dir}&#8221; includes=&#8220;**/*.js&#8221; /&#62; 
 &#60;arg line=&#8220;-jar&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor在上一篇有过介绍了，但是<a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor只能单独对一个<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a>或JS文件进行处理，要批量进行操作，或者对一个项目所有的<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a>和js文件进行操作，那么和ANT结合起来就 很方便。只要在项目里编写一个build.xml文件就OK了。<br />
比方说在eclipse上操作：run as→ant build，轻松一键完成<br />
<span id="more-1847"></span><br />
Build.xml片段代码 <object width="14" height="15" data="http://alimama.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" type="application/x-shockwave-flash"><param name="flashvars" value="clipboard=%20%20%20%20%20%3Cproperty%20name%3D%22web.dir%22%20location%3D%22WebRoot%22%20%2F%3E%0A%20%20%20%20%20%3Cproperty%20name%3D%22yuicompressor.jar%22%20location%3D%22WebRoot%2FWEB-INF%2Flib%2FYUICompressorLib%2Fyuicompressor-2.4.1.jar%22%20%2F%3E%0A%20%20%20%20%20%3Cproperty%20name%3D%22js.build.dir%22%20location%3D%22webRoot%2Fjs%2F%22%20%2F%3E%0A%20%20%20%20%20%3Cproperty%20name%3D%22dist.dir%22%20location%3D%22%24%7Bbuild.dir%7D%22%20%2F%3E%0A%0A%09%3C!--%20JS%20Compress%20--%3E%0A%09%3Ctarget%20name%3D%22js.compress%22%3E%0A%09%09%3C!--%20java%20-jar%20yuicompressor-2.4.1.jar%20-o%20d%3A%2Ftemp%2Fhello_min.js%20hello.js%20--%3E%0A%09%09%3Capply%20executable%3D%22java%22%20parallel%3D%22false%22%20failonerror%3D%22true%22%3E%0A%09%09%09%3Cfileset%20dir%3D%22%24%7Bjs.build.dir%7D%22%20includes%3D%22**%2F*.js%22%20%2F%3E%0A%09%09%09%3Carg%20line%3D%22-jar%22%20%2F%3E%0A%09%09%09%3Carg%20path%3D%22%24%7Byuicompressor.jar%7D%22%20%2F%3E%0A%09%09%09%3Carg%20line%3D%22--charset%20utf-8%22%20%2F%3E%0A%09%09%09%3Csrcfile%20%2F%3E%0A%09%09%09%3Carg%20line%3D%22-o%22%20%2F%3E%0A%09%09%09%3Cmapper%20type%3D%22glob%22%20from%3D%22*.js%22%20to%3D%22%24%7Bdist.dir%7D%2Fjs%2F*.js%22%20%2F%3E%0A%09%09%09%3Ctargetfile%20%2F%3E%0A%09%09%3C%2Fapply%3E%0A%09%3C%2Ftarget%3E%0A%0A%09%3C!--%20CSS%20Compress%20--%3E%0A%09%3Ctarget%20name%3D%22css.compress%22%3E%0A%09%09%3Capply%20executable%3D%22java%22%20parallel%3D%22false%22%20failonerror%3D%22true%22%3E%0A%09%09%09%3Cfileset%20dir%3D%22%24%7Bweb.dir%7D%22%20includes%3D%22**%2F*.css%22%20%2F%3E%0A%09%09%09%3Carg%20line%3D%22-jar%22%20%2F%3E%0A%09%09%09%3Carg%20path%3D%22%24%7Byuicompressor.jar%7D%22%20%2F%3E%0A%09%09%09%3Carg%20line%3D%22--charset%20utf-8%22%20%2F%3E%20%0A%09%09%09%3Csrcfile%20%2F%3E%0A%09%09%09%3Carg%20line%3D%22-o%22%20%2F%3E%0A%09%09%09%3Cmapper%20type%3D%22glob%22%20from%3D%22*.css%22%20to%3D%22%24%7Bdist.dir%7D%2F*.css%22%20%2F%3E%0A%09%09%09%3Ctargetfile%20%2F%3E%0A%09%09%3C%2Fapply%3E%0A%09%3C%2Ftarget%3E%0A%0A" /><param name="src" value="http://alimama.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" /><param name="quality" value="high" /></object></p>
<ol class="dp-default">
<li><span><span> &lt;property name=</span><span class="string">&#8220;web.dir&#8221;</span><span> location=</span><span class="string">&#8220;WebRoot&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;property name=<span class="string">&#8220;<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">yuicompressor</a>.jar&#8221;</span><span> location=</span><span class="string">&#8220;WebRoot/WEB-INF/lib/YUICompressorLib/<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">yuicompressor</a>-2.4.1.jar&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;property name=<span class="string">&#8220;js.build.dir&#8221;</span><span> location=</span><span class="string">&#8220;webRoot/js/&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;property name=<span class="string">&#8220;dist.dir&#8221;</span><span> location=</span><span class="string">&#8220;${build.dir}&#8221;</span><span> /&gt; </span></span></li>
<li><span> </span></li>
<li><span>&lt;!&#8211; JS Compress &#8211;&gt; </span></li>
<li><span>&lt;target name=<span class="string">&#8220;js.compress&#8221;</span><span>&gt; </span></span></li>
<li><span> &lt;!&#8211; java -jar <a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">yuicompressor</a>-<span class="number">2.4</span><span>.</span><span class="number">1</span><span>.jar -o d:/temp/hello_min.js hello.js &#8211;&gt; </span></span></li>
<li><span> &lt;apply executable=<span class="string">&#8220;java&#8221;</span><span> parallel=</span><span class="string">&#8220;false&#8221;</span><span> failonerror=</span><span class="string">&#8220;true&#8221;</span><span>&gt; </span></span></li>
<li><span> &lt;fileset dir=<span class="string">&#8220;${js.build.dir}&#8221;</span><span> includes=</span><span class="string">&#8220;**/*.js&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;arg line=<span class="string">&#8220;-jar&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;arg path=<span class="string">&#8220;${<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">yuicompressor</a>.jar}&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;arg line=<span class="string">&#8220;&#8211;charset utf-8&#8243;</span><span> /&gt; </span></span></li>
<li><span> &lt;srcfile /&gt; </span></li>
<li><span> &lt;arg line=<span class="string">&#8220;-o&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;mapper type=<span class="string">&#8220;glob&#8221;</span><span> from=</span><span class="string">&#8220;*.js&#8221;</span><span> to=</span><span class="string">&#8220;${dist.dir}/js/*.js&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;targetfile /&gt; </span></li>
<li><span> &lt;/apply&gt; </span></li>
<li><span>&lt;/target&gt; </span></li>
<li><span> </span></li>
<li><span>&lt;!&#8211; <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a> Compress &#8211;&gt; </span></li>
<li><span>&lt;target name=<span class="string">&#8220;<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>.compress&#8221;</span><span>&gt; </span></span></li>
<li><span> &lt;apply executable=<span class="string">&#8220;java&#8221;</span><span> parallel=</span><span class="string">&#8220;false&#8221;</span><span> failonerror=</span><span class="string">&#8220;true&#8221;</span><span>&gt; </span></span></li>
<li><span> &lt;fileset dir=<span class="string">&#8220;${web.dir}&#8221;</span><span> includes=</span><span class="string">&#8220;**/*.<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;arg line=<span class="string">&#8220;-jar&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;arg path=<span class="string">&#8220;${<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">yuicompressor</a>.jar}&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;arg line=<span class="string">&#8220;&#8211;charset utf-8&#8243;</span><span> /&gt; </span></span></li>
<li><span> &lt;srcfile /&gt; </span></li>
<li><span> &lt;arg line=<span class="string">&#8220;-o&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;mapper type=<span class="string">&#8220;glob&#8221;</span><span> from=</span><span class="string">&#8220;*.<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>&#8221;</span><span> to=</span><span class="string">&#8220;${dist.dir}/*.<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>&#8221;</span><span> /&gt; </span></span></li>
<li><span> &lt;targetfile /&gt; </span></li>
<li><span> &lt;/apply&gt; </span></li>
<li><span>&lt;/target&gt; </span></li>
</ol>
<pre class="script" style="display: none;">     &lt;property name="web.dir" location="WebRoot" /&gt;
     &lt;property name="<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">yuicompressor</a>.jar" location="WebRoot/WEB-INF/lib/YUICompressorLib/<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">yuicompressor</a>-2.4.1.jar" /&gt;
     &lt;property name="js.build.dir" location="webRoot/js/" /&gt;
     &lt;property name="dist.dir" location="${build.dir}" /&gt;

	&lt;!-- JS Compress --&gt;
	&lt;target name="js.compress"&gt;
		&lt;!-- java -jar <a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">yuicompressor</a>-2.4.1.jar -o d:/temp/hello_min.js hello.js --&gt;
		&lt;apply executable="java" parallel="false" failonerror="true"&gt;
			&lt;fileset dir="${js.build.dir}" includes="**/*.js" /&gt;
			&lt;arg line="-jar" /&gt;
			&lt;arg path="${<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">yuicompressor</a>.jar}" /&gt;
			&lt;arg line="--charset utf-8" /&gt;
			&lt;srcfile /&gt;
			&lt;arg line="-o" /&gt;
			&lt;mapper type="glob" from="*.js" to="${dist.dir}/js/*.js" /&gt;
			&lt;targetfile /&gt;
		&lt;/apply&gt;
	&lt;/target&gt;

	&lt;!-- <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a> Compress --&gt;
	&lt;target name="<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>.compress"&gt;
		&lt;apply executable="java" parallel="false" failonerror="true"&gt;
			&lt;fileset dir="${web.dir}" includes="**/*.<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>" /&gt;
			&lt;arg line="-jar" /&gt;
			&lt;arg path="${<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">yuicompressor</a>.jar}" /&gt;
			&lt;arg line="--charset utf-8" /&gt;
			&lt;srcfile /&gt;
			&lt;arg line="-o" /&gt;
			&lt;mapper type="glob" from="*.<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>" to="${dist.dir}/*.<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>" /&gt;
			&lt;targetfile /&gt;
		&lt;/apply&gt;
	&lt;/target&gt;</pre>
<p>PS：注意制定编码格式，不然会出现项目里编码不一致而产生错误。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2009. |
<a href="http://www.iwanna.cn/archives/2009/06/20/1847/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2009/06/20/1847/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2009/06/20/1847/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2009/06/20/1847/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2009/06/20/1847/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/software/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/tags/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/yui/" title="YUI" rel="tag nofollow">YUI</a>, <a href="http://www.iwanna.cn/tags/yui/" title="YUI" rel="tag nofollow">YUI</a>, <a href="http://www.iwanna.cn/tags/yuicompressor/" title="YUICompressor" rel="tag nofollow">YUICompressor</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/04/13/356/" title="Javascript压缩工具(Javascript compressed,Js压缩) (2009年04月13日)">Javascript压缩工具(Javascript compressed,Js压缩)</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/13/363/" title="YUI compressor使用说明 (2009年04月13日)">YUI compressor使用说明</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/19/4628/" title="美化你的Google阅读器 (2010年07月19日)">美化你的Google阅读器</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/07/01/1900/" title="网页鼠标点击轨迹热图跟踪软件-ClickHeat (2009年07月1日)">网页鼠标点击轨迹热图跟踪软件-ClickHeat</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/10/09/2274/" title="替代微软Visio的免费开源软件：DIA (2009年10月9日)">替代微软Visio的免费开源软件：DIA</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/28/3530/" title="数据之美之50个数据图形化工具(下) (2010年05月28日)">数据之美之50个数据图形化工具(下)</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/28/3529/" title="数据之美之50个数据图形化工具(上) (2010年05月28日)">数据之美之50个数据图形化工具(上)</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/20/3244/" title="挑选VPS：Xen与OpenVZ有什么区别？ (2010年05月20日)">挑选VPS：Xen与OpenVZ有什么区别？</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/19/4620/" title="微博通讯和即时通讯的对决 (2010年07月19日)">微博通讯和即时通讯的对决</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/03/30/2617/" title="定制个性化群发邮件的小技巧：Mail Merge (2010年03月30日)">定制个性化群发邮件的小技巧：Mail Merge</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2009/06/20/1847/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google AJAX Libraries API</title>
		<link>http://www.iwanna.cn/archives/2009/05/27/1206/</link>
		<comments>http://www.iwanna.cn/archives/2009/05/27/1206/#comments</comments>
		<pubDate>Wed, 27 May 2009 09:17:59 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Extjs]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Widget]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Library]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=1206</guid>
		<description><![CDATA[
什么是 AJAX 库 API？
AJAX 库 API 是一种内容分布网络，可加载最受欢迎的开源 JavaScript 库的架构。通过使用 Google AJAX API 加载程序的 google.load() 方法，您的应用程序能够迅速从全球任何位置访问不断增长的、最受欢迎的 JavaScript 开源库列表，包括：

jQuery
jQuery UI
Prototype
script.aculo.us
MooTools
Dojo
SWFObject
Yahoo! User Interface Library (YUI)

Google 就每个库的利益直接与关键相关人员配合，并在最新稳定版本发布时接受这些版本。一旦我们托管给定库的版本，我们承诺无限期地托管该版本。
AJAX 库 API 在使用库集合的同时消除了用 JavaScript 开发混搭的不便之处。我们消除了托管库的不便之处、正确地设置缓存标头、与最新错误修正日期保持一致等。
&#60;script src="http://www.google.com/jsapi"&#62;&#60;/script&#62;
&#60;script&#62;
  // Load jQuery
  google.load("jquery", "1");

  // on page load complete, fire off a jQuery json-p query
  // against Google web search
  [...]]]></description>
			<content:encoded><![CDATA[<div class="g-c-gc-home">
<h2>什么是 AJAX 库 API？</h2>
<p>AJAX 库 API 是一种内容分布网络，可加载最受欢迎的开源 JavaScript 库的架构。通过使用 <a href="http://code.google.com/apis/ajax/documentation/">Google AJAX API 加载程序的</a> <code>google.load()</code> 方法，您的应用程序能够迅速从全球任何位置访问不断增长的、最受欢迎的 JavaScript 开源库列表，包括：</p>
<ul>
<li><a href="http://code.google.com/intl/zh-CN/apis/ajaxlibs/documentation/index.html#jquery">jQuery</a></li>
<li><a href="http://code.google.com/intl/zh-CN/apis/ajaxlibs/documentation/index.html#jqueryUI">jQuery UI</a></li>
<li><a href="http://code.google.com/intl/zh-CN/apis/ajaxlibs/documentation/index.html#prototype">Prototype</a></li>
<li><a href="http://code.google.com/intl/zh-CN/apis/ajaxlibs/documentation/index.html#script_aculo_us">script.aculo.us</a></li>
<li><a href="http://code.google.com/intl/zh-CN/apis/ajaxlibs/documentation/index.html#mootools">MooTools</a></li>
<li><a href="http://code.google.com/intl/zh-CN/apis/ajaxlibs/documentation/index.html#dojo">Dojo</a></li>
<li><a href="http://code.google.com/intl/zh-CN/apis/ajaxlibs/documentation/index.html#swfobject">SWFObject</a></li>
<li><a href="http://code.google.com/intl/zh-CN/apis/ajaxlibs/documentation/index.html#yui">Yahoo! User Interface Library (YUI)</a></li>
</ul>
<p><span id="more-1206"></span>Google 就每个库的利益直接与关键相关人员配合，并在最新稳定版本发布时接受这些版本。一旦我们托管给定库的版本，我们承诺无限期地托管该版本。</p>
<p>AJAX 库 API 在使用库集合的同时消除了用 JavaScript 开发混搭的不便之处。我们消除了托管库的不便之处、正确地设置缓存标头、与最新错误修正日期保持一致等。</p>
<pre class="prettyprint">&lt;script src="http://www.google.com/jsapi"&gt;&lt;/script&gt;
&lt;script&gt;
  // Load jQuery
  google.load("jquery", "1");

  // on page load complete, fire off a jQuery json-p query
  // against Google web search
  google.setOnLoadCallback(function() {
    $.getJSON("http://ajax.googleapis.com/ajax/services/search/web?q=google&amp;v=1.0&amp;callback=?",

      // on search completion, process the results
      function (data) {
        if (data.responseData.results &amp;&amp;
            data.responseData.results.length &gt; 0) {
          var results = data.responseData.results;

          for (var i=0; i &lt; results.length; i++) {
            // Display each result however you wish
            alert(results[i].titleNoFormatting);
          }
        }

      });
    });
&lt;/script&gt;</pre>
</div>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2009. |
<a href="http://www.iwanna.cn/archives/2009/05/27/1206/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2009/05/27/1206/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2009/05/27/1206/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2009/05/27/1206/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2009/05/27/1206/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/ui/javascript/ajax/" title="Ajax" rel="tag nofollow">Ajax</a>, <a href="http://www.iwanna.cn/tags/ajax/" title="Ajax" rel="tag nofollow">Ajax</a>, <a href="http://www.iwanna.cn/tags/api/" title="API" rel="tag nofollow">API</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/extjs-javascript-ui/" title="Extjs" rel="tag nofollow">Extjs</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/" title="JavaScript" rel="tag nofollow">JavaScript</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/jquery/" title="JQuery" rel="tag nofollow">JQuery</a>, <a href="http://www.iwanna.cn/tags/library/" title="Library" rel="tag nofollow">Library</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/prototype/" title="Prototype" rel="tag nofollow">Prototype</a>, <a href="http://www.iwanna.cn/topics/develope/widget/" title="Widget" rel="tag nofollow">Widget</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/yui/" title="YUI" rel="tag nofollow">YUI</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/06/03/1678/" title="简单的Ajax实例 (2009年06月3日)">简单的Ajax实例</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/09/280/" title="几种流行的AJAX框架jQuery,Mootools,Dojo,Ext JS的对比 (2009年04月9日)">几种流行的AJAX框架jQuery,Mootools,Dojo,Ext JS的对比</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/27/4752/" title="使用框架建立富联网应用 (2010年07月27日)">使用框架建立富联网应用</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/23/1862/" title="XmlHttpRequest的串行异步 (2009年06月23日)">XmlHttpRequest的串行异步</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/21/752/" title="WordPress插件API手册 (2009年04月21日)">WordPress插件API手册</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/05/20/1107/" title="jQuery与Extjs的Ajax的跨域访问 (2009年05月20日)">jQuery与Extjs的Ajax的跨域访问</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/12/4478/" title="Ajax跨域访问解决方案 (2010年07月12日)">Ajax跨域访问解决方案</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/07/08/1849/" title="AJAX是如何工作的: AJAX的10个实践运用 (2009年07月8日)">AJAX是如何工作的: AJAX的10个实践运用</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/03/31/63/" title="Ajax之XMLHTTP学习理解 (2009年03月31日)">Ajax之XMLHTTP学习理解</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/09/302/" title="Ajax之XMLHTTP学习理解 (2009年04月9日)">Ajax之XMLHTTP学习理解</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2009/05/27/1206/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YUI compressor使用说明</title>
		<link>http://www.iwanna.cn/archives/2009/04/13/363/</link>
		<comments>http://www.iwanna.cn/archives/2009/04/13/363/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 06:19:04 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[OnlineTool]]></category>
		<category><![CDATA[YUICompressor]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=363</guid>
		<description><![CDATA[这几天正在为压缩代码的事情所困扰，大家也可以看见，我的博客顶端有两个在线的压缩工具，但在实际应用过程中，除了CSS的压缩比较满意外，JS的压缩，很是不爽，如果语法有问题的话（比如缺少”;”），就会出现无法预知的错误。
不过让人欣慰的是，Yahoo！给我们带来了YUI  compressor！，呵呵，废话少说，赶紧体验。
YUI compressor的下载地址是：http://developer.yahoo.com/yui/compressor/
淘宝做了一个可视化的版本，叫做TBCompressor，可以到这里下载：http://lifesinger.org/blog/?p=464
谢谢岁月老大！
如果你没有安装JAVA环境的话，还需要安装一下JDK
下载地址是：http://java.sun.com/javase/downloads/index.jsp 我们选择（Java SE Development Kit (JDK) 6 Update 13）这个下载。
下载，安装，一路Next，没有任何问题，对了，你可以修改一下路径。
安装完毕以后，需要配置一下JAVA_HOME环境变量。
配置方法如下。
1、点击我的电脑—&#62;属相—&#62;高级—&#62;环境变量—&#62;系统变量
2、新建变量，变量名JAVA_HOME 路径：D:\Program Files\Java\jdk1.6.0_11 （我的是在D盘，你的JDK安装到那个盘，就写那个盘）
3、找到path变量，在后面添加路径：;%JAVA_HOME%\jre6\bin
OK，一路确定，关闭窗口。
打开CMD，输入java -version
看看能不能出来版本？
java version “1.6.0_11″
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
OK,我的没有问题了，呵呵，现在，我们测试一下，看看他的压缩效果。
我们就压缩一个Dreamweaver自带的“AC_RunActiveContent.js”脚本文件。
下图中，左侧的是原始文件，右侧的是压缩后的文件。

呵呵，接近50%的压缩比，不错了！另外，就目前测试的情况来看，非常完美，不会出现在线压缩工具经常出现的“语法错误”了。

© 我想网 Akon 所有 , 2009. &#124;
永久链接 &#124;
没有评论 &#124;
提交到
Google Reader
鲜果
抓虾


	标签：CSS, JavaScript, JavaScript, OnlineTool, Tool, YUI, YUI, YUICompressor

	您可能会感兴趣的其他文章
	
	Javascript压缩工具(Javascript compressed,Js压缩) 
	YUI Compressor与ANT结合使用 
	页面输出时一些常用的小技巧 
	表单元素：40个CSS/JS风格和功能技术处理 
	网页打开新窗口的解决方案,拒绝屏蔽 
	相见恨晚的一些 JavaScript 技巧 [...]]]></description>
			<content:encoded><![CDATA[<p>这几天正在为压缩代码的事情所困扰，大家也可以看见，我的博客顶端有两个在线的压缩工具，但在实际应用过程中，除了<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a>的压缩比较满意外，JS的压缩，很是不爽，如果语法有问题的话（比如缺少”;”），就会出现无法预知的错误。</p>
<p>不过让人欣慰的是，Yahoo！给我们带来了<a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a>  compressor！，呵呵，废话少说，赶紧体验。</p>
<p><a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> compressor的下载地址是：<a href="http://developer.yahoo.com/yui/compressor/">http://developer.yahoo.com/yui/compressor/</a></p>
<p>淘宝做了一个可视化的版本，叫做TBCompressor，可以到这里下载：<a href="http://lifesinger.org/blog/?p=464">http://lifesinger.org/blog/?p=464</a><br />
谢谢岁月老大！</p>
<p>如果你没有安装JAVA环境的话，还需要安装一下JDK</p>
<p>下载地址是：<a href="http://java.sun.com/javase/downloads/index.jsp">http://java.sun.com/javase/downloads/index.jsp</a> 我们选择（Java SE Development Kit (JDK) 6 Update 13）这个下载。</p>
<p>下载，安装，一路Next，没有任何问题，对了，你可以修改一下路径。</p>
<p>安装完毕以后，需要配置一下JAVA_HOME环境变量。</p>
<p><span id="more-363"></span>配置方法如下。</p>
<p>1、点击我的电脑—&gt;属相—&gt;高级—&gt;环境变量—&gt;系统变量</p>
<p>2、新建变量，变量名JAVA_HOME 路径：D:\Program Files\Java\jdk1.6.0_11 （我的是在D盘，你的JDK安装到那个盘，就写那个盘）</p>
<p>3、找到path变量，在后面添加路径：;%JAVA_HOME%\jre6\bin</p>
<p>OK，一路确定，关闭窗口。</p>
<p>打开CMD，输入java -version</p>
<p>看看能不能出来版本？</p>
<p style="color: #dd4321;">java version “1.6.0_11″<br />
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)<br />
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)</p>
<p style="color: #dd4321;">OK,我的没有问题了，呵呵，现在，我们测试一下，看看他的压缩效果。</p>
<p>我们就压缩一个Dreamweaver自带的“AC_RunActiveContent.js”脚本文件。</p>
<p>下图中，左侧的是原始文件，右侧的是压缩后的文件。</p>
<p><img src="http://www.zhangjingwei.com/img/yuiyasuo.png" alt="YUI压缩对比图" width="731" height="465" /></p>
<p>呵呵，接近50%的压缩比，不错了！另外，就目前测试的情况来看，非常完美，不会出现在线压缩工具经常出现的“语法错误”了。</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2009. |
<a href="http://www.iwanna.cn/archives/2009/04/13/363/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2009/04/13/363/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2009/04/13/363/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2009/04/13/363/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2009/04/13/363/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/ui/css/" title="CSS" rel="tag nofollow">CSS</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/" title="JavaScript" rel="tag nofollow">JavaScript</a>, <a href="http://www.iwanna.cn/tags/javascript/" title="JavaScript" rel="tag nofollow">JavaScript</a>, <a href="http://www.iwanna.cn/tags/onlinetool/" title="OnlineTool" rel="tag nofollow">OnlineTool</a>, <a href="http://www.iwanna.cn/topics/software/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/yui/" title="YUI" rel="tag nofollow">YUI</a>, <a href="http://www.iwanna.cn/tags/yui/" title="YUI" rel="tag nofollow">YUI</a>, <a href="http://www.iwanna.cn/tags/yuicompressor/" title="YUICompressor" rel="tag nofollow">YUICompressor</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/04/13/356/" title="Javascript压缩工具(Javascript compressed,Js压缩) (2009年04月13日)">Javascript压缩工具(Javascript compressed,Js压缩)</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/20/1847/" title="YUI Compressor与ANT结合使用 (2009年06月20日)">YUI Compressor与ANT结合使用</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/29/894/" title="页面输出时一些常用的小技巧 (2009年04月29日)">页面输出时一些常用的小技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/03/31/79/" title="表单元素：40个CSS/JS风格和功能技术处理 (2009年03月31日)">表单元素：40个CSS/JS风格和功能技术处理</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/06/4383/" title="网页打开新窗口的解决方案,拒绝屏蔽 (2010年07月6日)">网页打开新窗口的解决方案,拒绝屏蔽</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/04/29/2874/" title="相见恨晚的一些 JavaScript 技巧 (2010年04月29日)">相见恨晚的一些 JavaScript 技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/09/18/2252/" title="用JS制作的网页版NES模拟器 IE8直接出局 (2009年09月18日)">用JS制作的网页版NES模拟器 IE8直接出局</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/03/31/77/" title="用css+js控制图片大小的方法 (2009年03月31日)">用css+js控制图片大小的方法</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/02/17/2516/" title="有关 JavaScript 的 10 件让人费解的事情 (2010年02月17日)">有关 JavaScript 的 10 件让人费解的事情</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/11/29/2396/" title="新 API 寻求让 JavaScript 操作本地文件 (2009年11月29日)">新 API 寻求让 JavaScript 操作本地文件</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2009/04/13/363/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TBCompressor 2.4.2</title>
		<link>http://www.iwanna.cn/archives/2009/04/13/360/</link>
		<comments>http://www.iwanna.cn/archives/2009/04/13/360/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 05:33:04 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=360</guid>
		<description><![CDATA[有朋友问到淘宝是怎么压缩js和css的，这里分享下。 我们使用的是YUI Compressor :
The YUI Compressor is a JavaScript compressor which, in addition to removing comments and white-spaces, obfuscates local variables using the smallest possible variable name. This obfuscation is safe, even when using constructs such as ‘eval’ or ‘with’ (although the compression is not optimal is those cases) Compared to jsmin, the average savings [...]]]></description>
			<content:encoded><![CDATA[<p>有朋友问到淘宝是怎么压缩js和<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>的，这里分享下。 我们使用的是<a href="http://www.julienlecomte.net/yuicompressor/">YUI Compressor</a> :</p>
<blockquote><p>The <a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor is a JavaScript compressor which, in addition to removing comments and white-spaces, obfuscates local variables using the smallest possible variable name. This obfuscation is safe, even when using constructs such as ‘eval’ or ‘with’ (although the compression is not optimal is those cases) Compared to jsmin, the average savings is around 20%.  The <a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor is also able to safely compress <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a> files. The decision on which compressor is being used is made on the file extension (js or <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>)</p></blockquote>
<p>淘宝前端的开发环境以Windows居多。为了方便使用，对<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">YUICompressor</a>做了层简单的封装，称之为<strong><a href="http://www.iwanna.cn/archives/2009/04/13/360/" title="TBCompressor 2.4.2">TBCompressor</a></strong>. 安装和使用方法如下：</p>
<h4>安装说明</h4>
<p><span id="more-360"></span></p>
<ol>
<li>安装请点击install.cmd</li>
<li>卸载请点击uninstall.cmd</li>
<li>如果以前安装过2.3.5之前的版本, 请点击update.cmd升级</li>
</ol>
<h4>测试使用</h4>
<ol>
<li>在test.source.js上右键，执行菜单“压缩JavaScript”，会生成test.js文件。如果再对test.js文件执行一次压缩，会生成test-min.js文件</li>
<li><a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a>同1</li>
</ol>
<h4>下载试用</h4>
<div class="download"><a href="http://ourtools.googlecode.com/files/yuicompressor_2.4.2.zip">tbcompressor-2.4.2.zip</a><del datetime="2009-02-12T15:15:18+00:00"></del><span id="DataGrid_ctl07_Label2"> (808.38 KB)</span></div>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2009. |
<a href="http://www.iwanna.cn/archives/2009/04/13/360/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2009/04/13/360/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2009/04/13/360/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2009/04/13/360/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2009/04/13/360/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/topics/ui/css/" title="CSS" rel="tag nofollow">CSS</a>, <a href="http://www.iwanna.cn/tags/css/" title="CSS" rel="tag nofollow">CSS</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/" title="JavaScript" rel="tag nofollow">JavaScript</a>, <a href="http://www.iwanna.cn/tags/javascript/" title="JavaScript" rel="tag nofollow">JavaScript</a>, <a href="http://www.iwanna.cn/topics/software/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/yui/" title="YUI" rel="tag nofollow">YUI</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/04/29/894/" title="页面输出时一些常用的小技巧 (2009年04月29日)">页面输出时一些常用的小技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/03/31/79/" title="表单元素：40个CSS/JS风格和功能技术处理 (2009年03月31日)">表单元素：40个CSS/JS风格和功能技术处理</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/03/31/77/" title="用css+js控制图片大小的方法 (2009年03月31日)">用css+js控制图片大小的方法</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/05/24/1129/" title="八种布局方案改善你的设计 (2009年05月24日)">八种布局方案改善你的设计</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/20/713/" title="24 个漂亮的个性化 HTML 表单技术 (2009年04月20日)">24 个漂亮的个性化 HTML 表单技术</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/21/764/" title="2008年国外最佳Web设计/开发技巧、脚本及资源总结 (2009年04月21日)">2008年国外最佳Web设计/开发技巧、脚本及资源总结</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/16/4013/" title="10个绝妙的HTML5，CSS和Javascript示例 (2010年06月16日)">10个绝妙的HTML5，CSS和Javascript示例</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/07/16/2019/" title="面向对象的CSS (2009年07月16日)">面向对象的CSS</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/05/07/981/" title="针对IE8正式版的CSS hack (2009年05月7日)">针对IE8正式版的CSS hack</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/05/01/920/" title="跨浏览器的CSS固定定位{position:fixed} (2009年05月1日)">跨浏览器的CSS固定定位{position:fixed}</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2009/04/13/360/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript压缩工具(Javascript compressed,Js压缩)</title>
		<link>http://www.iwanna.cn/archives/2009/04/13/356/</link>
		<comments>http://www.iwanna.cn/archives/2009/04/13/356/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 03:19:25 +0000</pubDate>
		<dc:creator>seasun</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[Compressed]]></category>
		<category><![CDATA[YUICompressor]]></category>

		<guid isPermaLink="false">http://www.iwanna.cn/?p=356</guid>
		<description><![CDATA[怎么压缩Js？为什么要压缩Javascript？ Javascript compressed/crunched
开发Ajax除了自己要写js代码外，同样也免不了要使用其它第三方js库，是否该为JavaScript减肥？
当你提高了用户体验，做出了很绚丽的效果而欣喜的时候，是否想过优化一下JS的效率,比如微软的live，其中的js做了压缩处理。JS的速度分为两种，JS下载速度和Js执行速度。
今天就先来说说JS下载速度。要想js的下载速度快，就需要尽量减小js文件的大小。
两种Js压缩工具（Javascript压缩工具）
Javascript compressed &#8211; YUI Compressor

According to Yahoo!&#8217;s Exceptional Performance Team, 40% to 60% of Yahoo!&#8217;s users have an empty cache experience and about 20% of all page views are done with an empty cache。
The goal of JavaScript and CSS minification is always to preserve the operational qualities of the code while reducing its [...]]]></description>
			<content:encoded><![CDATA[<p>怎么压缩Js？为什么要压缩Javascript？ Javascript compressed/crunched<br />
开发Ajax除了自己要写js代码外，同样也免不了要使用其它第三方js库，是否该为JavaScript减肥？<br />
当你提高了用户体验，做出了很绚丽的效果而欣喜的时候，是否想过优化一下JS的效率,比如微软的live，其中的js做了压缩处理。JS的速度分为两种，JS下载速度和Js执行速度。</p>
<p>今天就先来说说JS下载速度。要想js的下载速度快，就需要尽量减小js文件的大小。</p>
<p>两种Js压缩工具（Javascript压缩工具）</p>
<p><strong>Javascript compressed &#8211; <a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor</strong><br />
<span id="more-356"></span><br />
According to Yahoo!&#8217;s Exceptional Performance Team, 40% to 60% of Yahoo!&#8217;s users have an empty cache experience and about 20% of all page views are done with an empty cache。</p>
<p>The goal of JavaScript and <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a> minification is always to preserve the operational qualities of the code while reducing its overall byte footprint (both in raw terms and after gzipping, as most JavaScript and <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a> served from production web servers is gzipped as part of the HTTP protocol). The <a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor is JavaScript minifier designed to be 100% safe and yield a higher compression ratio than most other tools. Tests on the <a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Library have shown savings of over 20% compared to JSMin (becoming 10% after HTTP compression). Starting with version 2.0, the <a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor is also able to compress <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a> files by using a port of Isaac Schlueter&#8217;s regular-expression-based <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a> minifier。</p>
<p><a href="http://developer.yahoo.com/yui/compressor/" target="_blank">http://developer.yahoo.com/yui/compressor/</a></p>
<p>Download the <a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor.</p>
<p>http://www.julienlecomte.net/<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">yuicompressor</a>/</p>
<p><a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor最新版本下载 &#8211; <a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor 2.4.1下载地址：<br />
<a href="http://www.julienlecomte.net/yuicompressor/yuicompressor-2.4.1.zip" target="_blank">http://www.julienlecomte.net/yuicompressor/yuicompressor-2.4.2.zip</a></p>
<p><strong>JS和<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a>压缩工具图形界面版本下载地址</strong><br />
淘宝团队对<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">YUICompressor</a>做了层简单的封装，称之为TBCompressor.</p>
<p>http://lifesinger.org/blog/wp-content/uploads/2008/10/TBCompressor_v2.4.zip</p>
<p>淘宝是怎么压缩js和<a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>的，淘宝使用的就是<a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor<br />
目前Jquery从1.3版本开始也使用<a href="http://www.iwanna.cn/tags/yuicompressor/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUICompressor">YUICompressor</a></p>
<div class="quote">
<div class="quote-title">引用</div>
<div class="quote-content">The <a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor is a JavaScript compressor which, in addition to removing comments and white-spaces, obfuscates local variables using the smallest possible variable name. This obfuscation is safe, even when using constructs such as ‘eval’ or ‘with’ (although the compression is not optimal is those cases) Compared to jsmin, the average savings is around 20%.<br />
The <a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">YUI</a> Compressor is also able to safely compress <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">CSS</a> files. The decision on which compressor is being used is made on the file extension (js or <a href="http://www.iwanna.cn/tags/css/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with CSS">css</a>)</div>
</div>
<p><strong>Javascript compressed &#8211; ESC Introduction </strong></p>
<p>这里我们可以使用一个工具ESC(ECMAScript cruncher)来帮我们完成这个工作，不过这个工具只能在Windows下使用。到<a href="http://www.saltstorm.net/depo/esc/introduction.wbm?pod=js" target="_blank">http://www.saltstorm.net/depo/esc/introduction.wbm?pod=js</a>下载<a href="http://www.saltstorm.net/downloads/esc/ESC.zip" target="_blank">ESC.zip</a>,解压后看看它的帮助文档。很简单。</p>
<p>ESC is an ECMAScript pre-processor written in JScript, enabling an unlimited number of external scripts to be compressed/crunched into supertight, bandwidth-optimized packages. Featuring several compression-techniques such as comment removal, whitespace stripping, newline stripping and variable substitution ESC can reduce the overall size of your code with up to ~45%. Single, multiple scripts and even directories with scripts can be merged together at the compression level you decide. The processed output can later be appended or written to a file, or piped to another application for further processing via STDOUT.</p>
<p>ESC do NOT support crunching of inline scripts. So any attempt passing HTML, ASP, JSP, PHP or other equivalent documents to ESC is done at your own risk.</p>
<p>ESC supports four levels of compression, where a higher level equals higher compression. Beware though that levels &gt;2 requires your code to be syntaxically perfect or ESC will punish you by producing a broken and useless output.</p>
<p>The compression ratio should hit around 25% using the default compression level on a vanilla looking script, but results as high as ~45% can be achieved depending on the script&#8217;s design / your style of writing code.</p>
<p>压缩级别分为5种，从0到4</p>
<p>Level 0 :: No compression</p>
<p>Level 1 :: Comment removal</p>
<p>Level 2 :: Whitespace removal</p>
<p>Level 3 :: Newline removal</p>
<p>Level 4 :: Variable substitution</p>
<p>在WINDOWS命令行下执行</p>
<p>cscript ESC.wsf -ow menu2.js menu.js将会把menu.js按照js压缩级别2来压缩（默认js压缩级别为2）为menu2.js</p>
<p>cscript ESC.wsf -l 3 -ow menu3.js menu.js将会把menu.js按照js压缩级别3来压缩为menu3.js</p>
<p>需要注意的是，js压缩级别4会把变量名修改，如果你的js中用到了全局变量或者类的话，就不能使用该压缩级别了，否则其它使用你的js的文件可能会无法正常运行。</p>
<p>试了一下，把<a href="http://www.iwanna.cn/tags/yui/" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with YUI">yui</a>的menu.js压缩了一下，对应的级别和压缩率分别如下：</p>
<p>js压缩级别1:压缩率44.41%</p>
<p>js压缩级别2:压缩率62.82%</p>
<p>js压缩级别1:压缩率64.93%</p>
<p>原来130多K的js文件压缩后也就40多K，看来还是挺有用处的。</p>
<p>另外还有一个小工具<a href="http://www.crockford.com/javascript/jsmin.html" target="_blank">jsmin</a>也可以压缩，不过没有ESC的level选项，看了一下好像压缩效果类似于ESC的level3.济南大学的一些老师写了个jsmin的图形界面程序<a href="http://www.coolcode.cn/?p=162" target="_blank">JsMinGUI</a>,使用起来更加方便。：－）</p>
<p>Dojo项目组也提供了一个工具,shrinksafe可以通过<a href="http://alex.dojotoolkit.org/shrinksafe/" target="_blank">http://alex.dojotoolkit.org/shrinksafe/</a>在线的上传要压缩的文件，处理完毕后可以保存到本地，另外shrinksafe还提供了一个本地运行的版本，需要jre1.4的支持。</p>
<p>Ps:对于一些压缩的代码，在阅读时可以用<a href="http://www.jcay.com/javascript-code-improver.html" target="_blank">JavaScript Code Improver</a>来进行格式化。看看它主页上的一个例子：<br />
<strong>javascript压缩代码示例</strong><br />
原来的代码：</p>
<div class="code">&lt;script language=&#8221;JavaScript&#8221;&gt;var i=0,s=&#8221;",k=0;function foo(){for(j=0;j&lt;10;j++){for(i=0;i&lt;10;i++){s=&#8221;string1&#8243;;k=Math.floor(Math.random()*10);}for(i=20;i&gt;9;i&#8211;){s=&#8221;string2&#8243;;k=I;}}}&lt;/script&gt;</div>
<p>格式化后：</p>
<div class="code">&lt;script language=&#8221;JavaScript&#8221;&gt;<br />
var I = 0, s = &#8220;&#8221;, k = 0;<br />
function foo()<br />
{<br />
for(j = 0; j &lt; 10; j++)<br />
{<br />
for(I = 0; I &lt; 10; i++)<br />
{<br />
s = &#8220;string1&#8243;;<br />
k = Math.floor( Math.random()*10 );<br />
}<br />
for(I = 20; I &gt; 9; i&#8211;)<br />
{<br />
s = &#8220;string2&#8243;;<br />
k = I;<br />
}<br />
}<br />
}<br />
&lt;/script&gt;</div>
<p>js压缩，巨NB的dHTML特效. 来自：<br />
<a href="http://hometown.aol.de/_ht_a/memtronic/MemTronic_CruncherCompressor_v09g.html" target="_blank">http://hometown.aol.de/_ht_a/memtronic/MemTronic_CruncherCompressor_v09g.html</a></p>
<p>JS压缩示例样本：<a href="http://dormforce.net/Blog/Attachment/531" target="_blank">JS压缩示例样本</a></p>
<p><strong>更多的JS压缩器以及混淆器</strong></p>
<p>In terms of code minification, the most widely used tools to minify JavaScript code are Douglas Crockford&#8217;s JSMIN, the Dojo compressor and Dean Edwards&#8217; Packer：</p>
<p>Douglas Crockford&#8217;s JSMIN</p>
<p>http://crockford.com/javascript/jsmin</p>
<p>the Dojo compressor</p>
<p>http://dojotoolkit.org/docs/shrinksafe</p>
<p>Dean Edwards&#8217; Packer</p>
<p>http://dean.edwards.name/download/</p>
<p><a href="http://dean.edwards.name/packer/" target="_blank">http://dean.edwards.name/packer/</a> 在线Js压缩<br />
A Online JavaScript Compressor/Obfuscator version 2.0.2<br />
Also available as a .NET application<br />
开源下载：<a href="http://dean.edwards.name/download/#packer" target="_blank">http://dean.edwards.name/download/#packer</a><br />
JS压缩器帮助：http://dean.edwards.name/packer/usage/<br />
<a href="http://dean.edwards.name/packer/usage/sample.html" target="_blank">http://dean.edwards.name/packer/usage/sample.html</a></p>
<p><a href="http://hometown.aol.de/_ht_a/memtronic/" target="_blank">http://hometown.aol.de/_ht_a/memtronic/</a></p>
<p>JavaScript Compressor/Obfuscator Demo:<br />
<a href="http://www.brainjar.com/js/crunch/demo.html" target="_blank">http://www.brainjar.com/js/crunch/demo.html </a></p>
<p>JavaScript Code Improver：<br />
<a href="http://www.jcay.com/javascript-code-improver.html" target="_blank">JavaScript Code Improver Download</a></p>
<p>前面提到的Javascript压缩，都是采用删除注释,删除多余空格,替换字符等方式进行的，还有一种通过服务器的配置来实现Js静态压缩的方法：<br />
<strong>关于JavaScript的gzip静态压缩方法</strong><br />
传 统的JS压缩(删除注释,删除多余空格等)提供的压缩率有时还是不尽不意,幸亏现在的浏览器都支持压缩传输(通过设置http header的Content-Encoding=gzip),可以通过服务器的配置(如apache)为你的js提供压缩传输,或是appfuse中使 用的GZipFilter使tomcat也提供这种能力</p>
<p>现在的问题是这种动态的压缩会导致服务器CPU占用率过高,现在我想到的解决辨法是通过提供静态压缩(就是将js预先通过gzip.exe压缩好)</p>
<p>一.下面描述在tomcat中的应用</p>
<p>1.将prototype.js通过gzip.exe压缩保存成prototype.gzjs<br />
2.设置header,我编写了一个简单的AddHeadersFilter来将所有以gzjs结尾的文件增加设置header Content-Encoding=gzip<br />
web.xml中的配置</p>
<div class="code">&lt;filter&gt;<br />
&lt;filter-name&gt;AddHeaderFilter&lt;/filter-name&gt;<br />
&lt;filter-class&gt;<br />
badqiu.web.filter.AddHeaderFilter<br />
&lt;/filter-class&gt;<br />
&lt;init-param&gt;<br />
&lt;param-name&gt;headers&lt;/param-name&gt;<br />
&lt;param-value&gt;Content-Encoding=gzip&lt;/param-value&gt;<br />
&lt;/init-param&gt;<br />
&lt;/filter&gt;</div>
<p>&lt;filter-mapping&gt;<br />
&lt;filter-name&gt;AddHeaderFilter&lt;/filter-name&gt;<br />
&lt;url-pattern&gt;*.gzjs&lt;/url-pattern&gt;<br />
&lt;/filter-mapping&gt;</p>
<p>测试prototype.js是否正常的代码</p>
<div class="code">&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;!&#8211; type=&#8221;text/javascript&#8221;不可少,有的浏览器缺少这个不能运行 &#8211;&gt;<br />
&lt;script src=&#8221;prototype.gzjs&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body &gt;<br />
&lt;input id=&#8221;username&#8221; name=&#8221;username&#8221; value=&#8221;badqiu&#8221;/&gt;&lt;br /&gt;<br />
&lt;input id=&#8221;email&#8221; value=&#8221;badqiu@gmail.com&#8221;/&gt;<br />
&lt;script&gt;<br />
&lt;!&#8211; 测试prototype的方法是否正常&#8211;&gt;<br />
alert($F(&#8216;username&#8217;))<br />
&lt;/script&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</div>
<p>在Apache httpd中可以直接通过在httpd.conf增加AddEncoding x-gzip .gzjs来映射.gzjs文件的header</p>
<p>二.相关压缩率数据<br />
1. prototype.js 1.5.0_rc0原始大小56KB,未经任何处理直接使用gzip压缩为12KB,总压缩率79%<br />
2. 通过js压缩工具压缩过的protytype.js为20KB,使用gzip压缩为10KB,总压缩率为83%<br />
3. 实际项目中的多个js合并成的文件 439KB,直接通过gzip压缩为85KB,总压缩率81%<br />
4. 439KB经过js压缩为165KB,再经过gzip压缩为65KB,总压缩率86%</p>
<p>基本上你都可以忽略js压缩工具的压缩率,直接使用gzip压缩</p>
<p>gzip下载地址 <a href="http://www.gzip.org/" target="_blank">http://www.gzip.org</a><br />
tomcat的压缩配置示例下载地址: <a href="http://www.blogjava.net/Files/badqiu/gziptest.rar" target="_blank">http://www.blogjava.net/Files/badqiu/gziptest.rar</a></p>
<p>其主要是利用服务器自带的动态压缩功能 传输时压缩数据流.</p>
<hr />
<p>© <a href="http://www.iwanna.cn">我想网</a> Akon 所有 , 2009. |
<a href="http://www.iwanna.cn/archives/2009/04/13/356/">永久链接</a> |
<a href="http://www.iwanna.cn/archives/2009/04/13/356/#comments">没有评论</a> |
提交到
<a rel="nofollow" target="_blank" href="http://www.google.com/reader/view/feed/http://www.iwanna.cn/archives/2009/04/13/356/">Google Reader</a>
<a rel="nofollow" target="_blank" href="http://www.xianguo.com/subscribe.php?url=http://www.iwanna.cn/archives/2009/04/13/356/">鲜果</a>
<a rel="nofollow" target="_blank" href="http://www.zhuaxia.com/add_channel.php?url=http://www.iwanna.cn/archives/2009/04/13/356/">抓虾</a>
<hr />
</p>
	标签：<a href="http://www.iwanna.cn/tags/compressed/" title="Compressed" rel="tag nofollow">Compressed</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/" title="JavaScript" rel="tag nofollow">JavaScript</a>, <a href="http://www.iwanna.cn/tags/javascript/" title="JavaScript" rel="tag nofollow">JavaScript</a>, <a href="http://www.iwanna.cn/topics/software/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/tags/tool/" title="Tool" rel="tag nofollow">Tool</a>, <a href="http://www.iwanna.cn/topics/ui/javascript/yui/" title="YUI" rel="tag nofollow">YUI</a>, <a href="http://www.iwanna.cn/tags/yui/" title="YUI" rel="tag nofollow">YUI</a>, <a href="http://www.iwanna.cn/tags/yuicompressor/" title="YUICompressor" rel="tag nofollow">YUICompressor</a><br />

	<h2 class="related_post">您可能会感兴趣的其他文章</h2>
	<ul class="st-related-posts">
	<li><a href="http://www.iwanna.cn/archives/2009/04/13/363/" title="YUI compressor使用说明 (2009年04月13日)">YUI compressor使用说明</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/06/20/1847/" title="YUI Compressor与ANT结合使用 (2009年06月20日)">YUI Compressor与ANT结合使用</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/06/17/4031/" title="多个解压缩JavaScript文件工具 (2010年06月17日)">多个解压缩JavaScript文件工具</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/11/06/2366/" title="Google开源JavaScript工具 (2009年11月6日)">Google开源JavaScript工具</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/04/15/2723/" title="8个实用的 JavaScript 测试及效验工具 (2010年04月15日)">8个实用的 JavaScript 测试及效验工具</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/05/19/3234/" title="15个 Javascript 的Web UI库，框架及工具包 (2010年05月19日)">15个 Javascript 的Web UI库，框架及工具包</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/04/29/894/" title="页面输出时一些常用的小技巧 (2009年04月29日)">页面输出时一些常用的小技巧</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/03/31/79/" title="表单元素：40个CSS/JS风格和功能技术处理 (2009年03月31日)">表单元素：40个CSS/JS风格和功能技术处理</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2010/07/19/4628/" title="美化你的Google阅读器 (2010年07月19日)">美化你的Google阅读器</a> </li>
	<li><a href="http://www.iwanna.cn/archives/2009/07/01/1900/" title="网页鼠标点击轨迹热图跟踪软件-ClickHeat (2009年07月1日)">网页鼠标点击轨迹热图跟踪软件-ClickHeat</a> </li>
</ul>


<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iwanna.cn/archives/2009/04/13/356/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
