﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Jasper's Java Jacal-随笔分类-Web技术</title><link>http://www.blogjava.net/zhenandaci/category/37246.html</link><description>嘉士伯的Java小屋</description><language>zh-cn</language><lastBuildDate>Fri, 06 Feb 2009 18:00:34 GMT</lastBuildDate><pubDate>Fri, 06 Feb 2009 18:00:34 GMT</pubDate><ttl>60</ttl><item><title>Google Gadget 开发入门（零）序章</title><link>http://www.blogjava.net/zhenandaci/archive/2009/01/12/250990.html</link><dc:creator>Jasper</dc:creator><author>Jasper</author><pubDate>Mon, 12 Jan 2009 09:02:00 GMT</pubDate><guid>http://www.blogjava.net/zhenandaci/archive/2009/01/12/250990.html</guid><wfw:comment>http://www.blogjava.net/zhenandaci/comments/250990.html</wfw:comment><comments>http://www.blogjava.net/zhenandaci/archive/2009/01/12/250990.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/zhenandaci/comments/commentRss/250990.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhenandaci/services/trackbacks/250990.html</trackback:ping><description><![CDATA[<strong><span style="font-size: 10pt;"><span style="font-size: 12pt;">按：系列文章，将谈及Google Gadget的体系结构和开发入门，后期还会有和类似技术Mozilla Prism的对比。</span></span></strong><br />
<br />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ProgId" content="Word.Document" />
<meta name="Generator" content="Microsoft Word 12" />
<meta name="Originator" content="Microsoft Word 12" />
<link rel="File-List" href="file:///C:%5CUsers%5Cjasper%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" />
<link rel="themeData" href="file:///C:%5CUsers%5Cjasper%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" />
<link rel="colorSchemeMapping" href="file:///C:%5CUsers%5Cjasper%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" /><!--[if gte mso 9]><xml>
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
</xml><![endif]--><!--[if gte mso 9]><![endif]--><style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:微软雅黑;
panose-1:2 11 5 3 2 2 4 2 2 4;}
@font-face
{font-family:""@微软雅黑";
panose-1:2 11 5 3 2 2 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{
mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
line-height:14.0pt;
font-size:12.0pt;
font-family:"Calibri","sans-serif";
mso-bidi-font-family:"Times New Roman";}
.MsoChpDefault
{
mso-bidi-font-family:"Times New Roman";}
/* Page Definitions */
@page
{}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
{page:Section1;}
-->
</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{
mso-style-parent:"";
font-size:10.5pt;
font-family:"Calibri","sans-serif";}
</style>
<![endif]-->
<p style="margin: 12pt 0cm; text-align: left;" align="left"><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">开始之前先澄清一件事，这里所说的</span>Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">实际上是指</span><span>Google
Desktop Gadget</span><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">，而不是指在</span>iGoogle<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">或者</span>FaceBook<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">上运行的</span>Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">，那个叫做</span><span>Universal
Gadget</span><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">。</span></p>
<p style="margin: 12pt 0cm; text-align: left;" align="left"><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">细说起来，其实</span>Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">和</span><span>Universal
Gadget</span><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">不仅名称不同，在实现上也完全是两回事。从使用者的角度看，</span>Univeral Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">就是一个</span>HTML<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">的页面，只不过在显示的时候是实时从</span>iGoogle<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">之类的容器网站上下载过来并展现在一个</span>iframe<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">里面的。而</span>Desktop Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">则是一个不折不扣的桌面应用程序（虽然运行在</span>Google Desktop<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">这个容器中）。</span></p>
<p style="margin: 12pt 0cm; text-align: left;" align="left"><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">从开发人员的角度看，</span>Universal Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">是一个</span>JavaScript<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">文件和</span>XML<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">文件的集合，由容器网站（例如</span>iGoogle<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">，</span>Facebook<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">等等）来渲染成</span>HTML<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">页面并呈现给最终用户。在一个</span>Universal Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">中使用的技术都是标准的</span>Web<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">技术，其能量也限制在浏览器的框架中。</span></p>
<p style="margin: 12pt 0cm; text-align: left;" align="left"><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">而在开发一个</span>Desktop Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">时，虽然也使用</span>XML<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">文件来指定程序的</span>UI<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">，使用</span>JavaScript<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">来实现程序的逻辑，但与</span>Web<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">或者浏览器都没有天然的联系，说是完全的另一套程序开发体系也不为过（使用的</span>XML<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">语法与</span>Universal Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">不同，能够使用的</span>JavaScript<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">的对象及功能也不同）。</span></p>
<p style="margin: 12pt 0cm; text-align: left;" align="left"><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">但另一方面的情况导致两者时常被人混为一谈，那就是，一个</span>Universal Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">是可以被加载到</span><span>Desktop
Gadget</span><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">的面板中并正常运行的（严格的说只有一部分），而一部分</span>Desktop Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">也可以加载到</span>iGoogle<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">网站中运行（因而使它看上去像一个</span>Universal Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">，当然需要系统已安装了</span>Google Desktop<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">才可以）。</span></p>
<p style="margin: 12pt 0cm; text-align: left;" align="left"><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">书归正传，下面就来说</span>Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">到底是什么，以及它的体系结构和背后思想。</span></p>
<p style="margin: 12pt 0cm; text-align: left;" align="left"><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">（注：以下如果没有特别指明，提起</span>Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">全都是指</span><span>Desktop
Gadget</span><span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">，而</span>iGoogle<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">上的</span>Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">会指明为</span>Universal Gadget<span style="font-family: &quot;微软雅黑&quot;,&quot;sans-serif&quot;;">）</span></p>
<img src ="http://www.blogjava.net/zhenandaci/aggbug/250990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhenandaci/" target="_blank">Jasper</a> 2009-01-12 17:02 <a href="http://www.blogjava.net/zhenandaci/archive/2009/01/12/250990.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>