什么是mashup/widget/gadget?
2010-09-10 15:20
836 查看
http://azhilin.spaces.live.com/blog/cns!363404581D2BCC35!645.entry
Widget/Gadget
Widget(微件)又称Software widget,是一个一个的小插件,或者小应用,是一种可重用的代码,通常暗含的意思是一种轻量级的相对简单好用的应用或用户界面。Widget名字的由来是“window gadget”的缩写[2]。Google确实称之为Gadget(小工具)。依照Wikipedia Software widget的说法,widget分类很多[1],作为Internet用户而不是开发者,我们常用的有用于网页的Web Widget和用于操作系统的Desktop widget两种:
Web Widget是一种HTML代码,可以嵌入到网页上,举例Yahoo! widget,iGoogle Gadget,豆瓣API。Wikipedia web widget说又称为badge, module, webjit, capsule, snippet, mini and flake. DHTML, JavaScript, Adobe Flash。听起来绰号还不少呀。
Desktop widget是运行在PC 操作系统上的微件,例如Apple dashboard widget,Windows Sidebar and gadgets,Google desktop sidebar(Google桌面搜索侧栏)上的一个一个小应用,通常涉及到一个概念widget engine,即widget的运行环境。
从提供方(编程者)和消费者的角度看,Web widget分别如下:
提供方 | 消费者 |
HTML代码(如豆瓣API) | 拷贝HTML代码到自己的网页(例如博文),生成最终页面中的一个小插件。 在iGoogle和My Yahoo!中以图形小窗口显示,用户可拖拉。 |
.png]
另外,博客上侧边栏显示的也是Widget. 比如RSS订阅, 分类, Tag标签,日历,最新留言列表,最新文章列表等等。[6]
Mashup
Mashup维基译为“混搭”,指整合网络上多个资料来源或功能,以创造新服务的网络应用程式。“混搭”一词源自于流行音乐将两种不同风格的音乐混合,以产生新的趣味的作法。暗含的意思是简单、快速的合成,通常用开放的API和数据源来产生更丰富的应用效果,可能与数据提供商的原始意图无关。为了能永远的接入其他业务的数据,通常mashup是客户端应用或者在线应用。在过去几年里,越来越多的网络应用提供商开放API供其他软件开发者很容易地集成他们的数据和功能,而不是自己再开发一遍。通常Mashup被视作是社区软件social software 和Web 2.0的一个鲜明的因素。
我们举例来看,美国的房屋租售网[3]将craigslist网站的数据标在Google Maps上,看起来让craigslist的表项数据有生气多了。
%2057834DAF.png]
在Mashup这种开发方式中,角色为数据提供方(mashup data sources)和接收方(the recipient of a mashup),从提供方和接收方的角度看,Mashup分别如下:
提供方 | 消费者 |
数据格式标准化(web-accessible),例如遵守WSDL, REST,RSS标准 | 获取多个数据提供方的数据,用自己的方法重新处理、呈现。 |
• 协同性(Collaborative) - Mashups数据被标上标签、可搜索、可共享。用户标签,常被称作“平常话”(folksonomy),使得用户为自己和别人注明含义。
• 聚焦“小型团队”(Focused on the 'pack') – Mashups常见的是为一小部分互相关联的人所创、所用、所共享。知识型员工在小范围内协同,尽管他们可能是大公司的一部分,当他们传播信息时,他们通常以小型团队工作。
• 时间敏感(Time-sensitive) - 用户现在就需要数据。Mashups通常有近乎实时传递数据的需求。他们没有时间等待IT来“预合成”数据供他们获取。网站是事实的,商务用户现在成长成在公司内也期望实时。
• 不新加设备(Non-invasive) - 因为Mashups在企业内部运行,没有必要新建一个基础设施,既指mashup数据源(数据库,SOA服务等),又指mashup目的地(IT门户、博客、wikis、email、表格等)。
• 数据清理简洁(Limited cleansing) - 数据的清理和格式化要与Excel表的操作量那么大。假如更大,需要在mashup提供之处就同时向用户说明。
• 用户界面(Have a face) - Mashups 通常有一个用户界面(有一张脸)并且这个用户界面是widget。就如同mashups 是“微小”(micro)的,mashup的前端应用也是微小的,如果用户是mashup的接收者,很自然要提供给用户一个与数据交互的方法。
终于的我们看到Mashup和widget的关联——Mashup是一种组合多个数据源的应用开发方式,其呈现给用户的交互界面是widget,简单、短小、形式丰富。
我们想象一下iGoogle上的“读书新闻-新书信息”可以这样做:对于widget提供方来说可以用mashup的开发方式去各个书店网站或书评网搜集数据,最终用widget应用发布给用户,供其嵌在网页上显示。
至于企业已有软件——CRM/ERP/BI/SFA等支持SOA的软件——如何做数据管理(governance)、划分数据颗粒(granularity)、确定数据范围(scope)来适应mashup应用,IT架构如何设计,是另外一个话题。
缩写:
WSDL(Web Service Definition Language)
REST(REpresentational State Transfer)
RSS(Really Simple Syndication)
CRM(Customer relationship management)
ERP(Enterprise resource planning )
BI(Business intelligence )
SFA(Sales Force Automation)
相关文章推荐
- Qt中的ui(new Ui::Widget)是什么意思呢?
- 什么是Widget
- 什么是Widget
- Widget&& w{} 究竟表示什么?这跟 std::forward 又有什么关系
- 博客开放模块、Widget、Gadget
- nopcommerce里面的@Html.Widget("home_page_top") 是什么?
- 什么是Mashup应用?
- 什么是Mashup?
- [翻译]Popfly系列课程3 - 地震地图及纺织照片:什么是一个mashup?
- android 什么是appwidget
- 什么是Qt Widget?
- 什么是widget?widget是什么意思?
- 什么是移动Widget
- Widget是什么?
- widget是什么意思?
- nopcommerce里面的@Html.Widget("home_page_top") 是什么?
- 什么是Widget
- 什么是mashup?
- 什么是mashup?附案例:TaiwanRank
- Widget 还是 Gadget