yahoo widget(yahoo的widget )
一、Yahoo YUI 是什么技术(asp.net)
第一章简介Yahoo! User Interface Library(简称yui)是一个使用JavaScript编写的工具和控件库。它利用DOM脚本,DHTML和AJAX来构造具有丰富交互功能的Web程序。yui也包含几个核心的CSS文件。yui中的所有组件已经以开源的形式发布,它们遵循BSD协议并且可以免费使用。可以从Sourceforge站点下载完整的项目文件,同时包含相关文档和示例。
yui项目开发人员的BLOG:YUI Blog,交流社区:ydn-javaScript on Yahoo! Groups。
准备工作:
1、下载yui
yui项目文件已经发布在Sourceforge站点,文件包含相关文档,示例和代码。
注:Yahoo没有为yui的运行提供免费的运行环境,你需要运行在你在即Web服务器上。
2、在你的网页中加入你需要的类库文件
为了使用yui中的组件你必须在你的页面文件中用<script>指定相关组件的类库文件地址。如果该组件依赖于其他组件,你必须使用<script>指定所依赖的组件的类库文件地址。
3、如果有必要,在页面中加入CSS文件
某些yui的控件包含一个相应的CSS文件,用来设定控件的样式。此时,你必须在页面中使用<style>指定相应的CSS文件的地址。你可以通过修改相应的CSS文件达到你想要的效果。
4、浏览相关文档和示例
每一个组件都包含详细的API文档,并且提供了常用的例子。学习完后,回顾一下所有的API,做到心中有数。因为对于API理解的好坏将影响你对yui的使用效果。
第二章组件介绍Yui组件分成2类:工具包和控件库
Yui工具包
Yui工具包利用DOM脚本来简化浏览器内的开发(in-browser devolvement),使用DHTML和AJAX的特性开发所有的Web程序。
动画(Animation):在你的页面中通过指定位置,大小,透明度或者页面元素的其他特性来创建一个“电影效果(cinematic effects)”。这些效果将在你的页面发生变化的时候给用户更好的体验。
连接管理(Connection Manager):这个工具包帮助你管理XMLHttpRequest(一般被称为AJAX)事务,它提供对表单提交(form posts),错误捕获(error handling)和callbacks的全面支持。该工具包也支持文件的上传管理。
DOM:DOM工具包提供更简单的DOM脚本的功能调用方式,包含元素的位置和CSS样式的管理。
拖放(Drag and Drop):创建可拖放的对象。为了提供丰富的交互功能(比如拖动一个对象到目标位置)你可能需要编写很多代码。这个工具包可以在所有支持的浏览器中捕获所有的操作事务并保证其稳定地运行。
事件(Event):这个神奇的管理类库给你提供一种简单安全的方法访问浏览器的事件(比如点击和键盘操作)。这个事件封包中还包含了自定义事件对象,它为你的程序交互提供一种发布和订阅事件的机制。
yui控件:
yui控件库为你页面提供一组高交互性性的可视化元素。这些元素完全在客户端创建维护,不需要请求服务器进行页面刷新。
这些控件包括:
自动完成(AutoComplete)控件:自动完成控件为文本输入提供一种渐进式的用户体验(streamline user interactions)。控件会提供相似项列表和基于多样化的数据格式的提前键入功能(type-ahead functionality based on a variety of data-source formats),并且可以通过XMLHttpRequest访问服务端的数据。
日历(Calendar)控件:一个用来日期选择的动态图形控件。
容器(Container)控件:一组模仿windows样式的控件,他们包括Tooltip, Panel, Dialog和 SimpleDialog。其中Module和 Overlay控件提供一个可扩展的平台,你可以控制自定义的模仿windows样式的控件。
日志(Logger)控件:提供一个快速和简单的记录日志的方式,它直接将日志信息输出到屏幕控制台(on-screen console)、Firefox的扩展组件FireBug,或者Safari的Javascript控制台。yui的Debug组件将完整的记录输出信息和调试信息。
菜单(Menu)控件:利用此控件只需要几行简单的代码就可以设计一个动态样式的菜单。可以完全使用javascript构造一个菜单,can be layered on top of semantic unordered lists。
滑块(Slider)控件:提供一个可滑动的组件,它允许使用者在一定的范围内(x轴,y轴)改变滑块的位置。
树形(TreeView)控件:提供一个节点可缩放的树形控件。节点可以是链接,自定义属性,并且可以动态加载。节点元素的展现可以通过CSS修改,比如文件夹视图,TO-DO任务列表或者其他可视化处理
第三章 yui的CSS资源
为了让CSS能符合不同等级的浏览器(A-Grade browsers)的标准,我们想了很多。我们把这些作为yui类库的一部分共享出来,希望能在这里得到促进,获得一个简洁的,可维护并在浏览器中表现优秀的设计。
页面网格样式(CSS Page Grids):7个基本的用css组织子组件的页面框架,支持130种不通的页面布局。
标准的CSS字体(Standard CSS Fonts):标准的跨浏览器字体样式和大小展现。
标准的CSS排列(Standard CSS Reset):使用这些CSS声明来排除页面的空白部分并且公共元素的样式兼容各种浏览器的展现。
二、有谁知道Widget应用程序的开发工具是什么
Widget(建议中文译名:微巨)「Yahoo!Widget Engine」是一种基于JavaScript的应用程序平台,您必须先安装Widget引擎后才能使用各式各样的Widget工具。
Yahoo!Widget是由雅虎推出的免费并开放源码的桌面应用程序平台。它由Widget引擎和Widget工具两部分组成。能够极大的便利您的网络操作和完善您的桌面应用。Widget引擎提供了一个Ajax应用程序平台,在Windows和Mac OS X的操作系统环境下都可以使用。安装引擎后就能在此平台上运行各式各样的Widget工具了。
1. Widget的这个创想来自一个叫做Rose的苹果电脑工程师。98年的一天,Rose在自己的苹果操作系统桌面玩一个可以更换皮肤的MP3播放器时忽发奇想:如果在我桌面上运行的所有工具都能够更换皮肤或外观,那将是一件很酷的事情,Rose的兴奋之情溢于言表,它给这个酷酷的玩意儿起了个名字叫“Konfabulator”。
于是两人开始共同为了这个炫酷的玩意儿在深夜努力工作,他们开辟了一个和Konfabulator相关的网站向大家传播这个想法,并在论坛中征询网友的意见“到底什么才是真正的Konfabulator?”大家的说法是千奇百怪的,有人说它是一个运行在用户桌面的加热器,有人说它是桌面宠物,有人说它是张牙舞爪的机器人。但是没有人对于Konfabulator的描述是确切的。
4.终于在2003年2月10日的深夜,Konfabulator1.0正式版在Rose和Perry的共同努力下正式发布了。它是运行在苹果操作系统之上的小工具,其中的主运行文件叫做Widget,在Rose头脑中酝酿了5年的想法终于第一次问世了。并且向所有人宣布Konfabulator是运行在用户桌面上最独一无二的工具,你希望它是什么样子,它就能按照你的想法而改变。 5. Konfabulator意想不到的快速在全美疯狂的蔓延着,Rose和Perry感到非常的吃惊,同时他们也认识到这将会成为Konfabulator发展历史上非常关键的一个时期,于是两个人都辞去了各自的工作,开始专注于Konfabulator这件事情。
6.在2003年的7月Konfabulator1.5版本发布了,主运行文件Widget的开发变得风靡一时,越来越多的人参与其中,也因为如此Konfabulator更名为Widget。Widget在苹果操作系统中所表现出的热潮,使得Rose和Perry认为它应该有更广的应用领域。于是在接下的半年中Perry的一个朋友参与到开发Widget Windows平台版本的工作中来,但最开始的一些尝试都是失败的。
7.不久之后Rose找到了一个自己的好朋友ED,ED是苹果电脑公司工作超过十年有着深厚资历的一名优秀的开发工程师。在和他沟通Windows平台下开发Widget的事情之后,ED认为Rose希望在Windows平台下运行Widget的想法有些不可理喻。Rose和Perry开始很失望,但令他们感到吃惊的是,两天以后ED居然拿出了一个Windows平台下运行的Widget原型。
8. 2004年的11月Widget1.8版本正式对外发布了,由此开始Widget进入了一个新的时代,成为了跨平台的产品。使用Windows和Mac操作系统的用户都可以使用和开发自己喜欢的Widget工具。当然这还仅仅只是一个开端。
使用「Yahoo!Widget工具」需要的计算机系统:
Yahoo!Widget工具在Windows和MacOS X上都可执行。 Windows:等级需为Windows 2000 Service Pack 3或以上版本或Windows XP SP1或以上版本。 Macintosh:等级则需为Mac OS X 10.3或以上版本。内存需求为512MB以上,使用宽带网络不小于512k的计算机系统。
三、widget怎么编写呢
你想编写什么样的widget?各种widget如下
1. Yahoo!Widgets
Yahoo! Widgets桌面应用程序平台由Widget工具和Widget引擎两部分组成。在Yahoo! Widgets工具平台上运行的迷你应用程序就统称为Widget工具
Widget引擎提供了Widget应用程序的运行平台,在Windows和Mac操作系统环境下都可以使用,安装引擎后就能在此平台上运行各式各样的Widget工具了。Yahoo! Widgets引擎开放了基于XML和JavaScript的Widget开发接口,任何人都可以开发新的有趣的Widget,包括各种小工具、小游戏等。当多个Widget同时运行时,每一个Widget又作为独立的程序运行,这可以确保一个Widget出现异常时不会影响到其他的Widget。
2. Apple Dashboard Widget
Dashboard技术通过Dashboard可以开发一种新的迷你程序—— Dashboard Widget。
Dashboard是基于WebKit开发的,它为Apple Widget程序提供了一个运行环境。Widget应用可以采用HTML、JavaScript以及CSS等Web技术开发。另外,由于Dashboard是Mac OS系统内置的技术,因此Dashboard Widget还可以调用Mac OS系统本身提供的部分功能。
Dashboard Widget以“.wdgt”为后缀,根据运行所需要的资源,可以分成3种类别。
(1)附件Widget:是自包含的 Widget,它不需要其他应用程序的支持或者访问互联网。时钟、定时器、计算器以及便签都属于这个范畴。
(2)应用程序Widget:它与一个功能完全的应用程序相关联。这种 Widget为应用程序提供一个复杂度比较低的界面,而且通常是只读的界面,对应用程序进行增强。iTunes控制器和地址簿 Widget都属于这个范畴。
(3)信息Widget:这是为了向用户提供来自互联网的数据而设计的。这些 Widget使用户可以监控某些事件,比如天气、航班状态或者股票价格。
Dashboard在为Mac OS的最终用户提供强大功能的同时,也为开发者带来了一个新鲜而丰富的开发环境。Widget开发起来很快且易于部署,还可以调用Mac OS的部分系统功能。对于那些仅使用少量数据或者需要和其他程序交互的场合来说,Widget是非常完美的技术,而且它还提供一个非常好的方式,来为已经存在的应用程序增加功能。对于开发者来说,这意味着很多机会:可以创建一个新的产品,也可以为现有的产品增加新功能,使之区别于其他同类产品。
3. Google Gadget
Google Gadget是简单的XML和JavaScript小型应用程序,,包括iGoogle、Google地图、Orkut或其他任何网页以及Google Desktop。
另外,Google Gadget还将Google现有的一些服务,例如Calendar、Blog、Map等,以独立模块的形式整合在一起。Google Gadget服务的表现形式是个性化主页或者Google桌面软件。
Google Gadget运行环境可以分为两类:一类是网页环境,如iGoogle、Google地图、Orkut或其他任何网页;另外一类就是Google Desktop。目前Google Desktop可以运行在Linux、Windows和Mac三种操作系统之上。运行在网页上的Gadget采用HTML语言编写,为了增强交互效果,可以加入JavaScript、Flash或者Silver light。Desktop Gadgets采用XML和JavaScript编写,也可以采用C、C++、C#或者 VB.net编写。Desktop Gadgets可以使用一些高级功能,如任意形状、透明效果、客户端库,而且能够响应用户来自Gadget外的一些动作
4. Opera Widget
Opera Widget并未提供一个统一的Widget管理工具,如果要运行Widget,需要首先启动Opera浏览器。在浏览器的窗口中,人们可以通过Opera桌面浏览器菜单“饰件→添加Widgets”来访问Opera Widget网站,并且可以进行Widget应用的下载、安装以及运行。
Opera Widget也是用 HTML、CSS和JavaScrip等Web技术创建的跨平台应用程序,它是按照zip格式压缩的。Opera Widget必须以“.wgt”为后缀,content-type为“application/x-opera-Widgets”。它可以运行在所有安装Opera浏览器的平台上,如个人电脑、移动设备和游戏机。
Opera Widget是在不同设备上快速创建和部署应用程序的很好的方案。因此,用户可以快速轻松地开发Opera Widget,并且只要稍加改动就可以运行在各种不同的设备上。
Opera Widget运行环境可以运行在很多平台上,不同的平台有不同的特性和用例。不同平台的Widget运行环境,都希望最好地支持此设备的特性。运行环境可能会要求Widget以下面4种模式中的一种模式显示:Widget模式、漂浮模式、应用程序模式、全屏模式。
可以通过设置Widget的配置文件config. xml中的Widget的default mode属性来设置Widget的默认模式。Widget运行环境可能会要求Widget在模式间切换,例如从浮动模式先切换到应用程序模式,再切换到全屏模式。
为了方便开发Widget,Opera公司开发了Opera Widgets SDK,该SDK提供了开发工具、库、文档和实例。Opera Dragonfly是一个轻量级的开发工具,它可以调试JavaScript,查看CSS和HTML DOM。
5. JIL Widget
JIL Widget采用HTML、CSS、JavaScript编写的Web应用程序,后缀为“.wgt”。通过分析JIL Widget格式,可以发现JIL Widget与W3C Widget格式极为相似,所以开发者可以将基于W3C Widget格式应用很容易地转换成JIL Widget格式。
JIL Widget运行在JIL Widget引擎之上,JIL Widget引擎在支持Web标准的同时,也扩展了很多新的功能,这主要体现在以下两个方面。
(1)各种终端能力:JIL Widget引擎扩展了Telephony、PIM、Multimedia、Device、Messaging等对象,可以提供电话、通讯录、日程安排、多媒体、文件操作、系统信息等功能。
(2)运营商网络能力:通过扩展接口,可以获得位置、手机号码、在线状态等信息。
6. WRT Widget
Web Run-Time(WRT)是Symbian S60第三版Feature Pack 2平台引入的一个很重要的功能。Web Run-Time扩展了S60 Web浏览器,使之能支持Widget。它所支持的Widget是用标准Web技术开发的轻量级应用。
Web Run-Time的第一个版本专注于在移动终端上提供快速的信息呈现新方法。
从技术角度来看,WRT在流行的S60 Web浏览器中增加了一个Web程序的运行环境,使得S60设备可以运行Widget。事实上,几乎不花什么工夫就可以将桌面Widget迁移到WRT中来,
开发者可以使用现有的编写工具来创建和打包自己的应用。
在最新的S60第5版中整合了S60平台服务,可用标准的HTML和JavaScript技术创建更具个性和环境感知性的Widget。通过获取存储在本地设备上的信息,如日历和通讯录程序,Widget可以整合互联网和本地资源,提供一个全新的、个性化的服务体验。例如,通过访问设备上的GPS功能,Widget可以给用户提供更具相关性和环境感知性的信息。作为Web开发者,可以轻易地使用JavaScript扩展来访问这些新特性。
基于S60 V3.2平台的手机都支持WRT Widget,在Nokia的N97上,用户可以将自己喜欢的Widget应用放在待机屏幕上。目前,Widget应用成为Nokia OVI商店中一种重要的应用形式,可供用户下载的Widget应用有70多种。