什么是mashup/widget/gadget?

本文介绍了Widget(微件)的概念及其分类,包括WebWidget和DesktopWidget,并探讨了Mashup(混搭)作为整合多种数据源以创建新服务的网络应用程序的方式。文中详细解释了Mashup的工作原理和技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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! widgetiGoogle Gadget豆瓣APIWikipedia web widget说又称为badge, module, webjit, capsule, snippet, mini and flake. DHTMLJavaScriptAdobe Flash。听起来绰号还不少呀。

Desktop widget是运行在PC 操作系统上的微件,例如Apple dashboard widgetWindows Sidebar and gadgets,Google desktop sidebar(Google桌面搜索侧栏)上的一个一个小应用,通常涉及到一个概念widget engine,即widget的运行环境。

从提供方(编程者)和消费者的角度看,Web widget分别如下:

提供方消费者
HTML代码(如豆瓣API)拷贝HTML代码到自己的网页(例如博文),生成最终页面中的一个小插件。
在iGoogle和My Yahoo!中以图形小窗口显示,用户可拖拉。

贴一个iGoogle的界面,其中的一个一个应用即widget/gadget,如“搜索浑天仪”、“读书新闻-新书信息”、“Google飙升热搜”、“日历”。

image

另外,博客上侧边栏显示的也是Widget. 比如RSS订阅, 分类, Tag标签,日历,最新留言列表,最新文章列表等等。[6]

Mashup

Mashup维基译为“混搭”,指整合网络上多个资料来源或功能,以创造新服务的网络应用程式。“混搭”一词源自于流行音乐将两种不同风格的音乐混合,以产生新的趣味的作法。暗含的意思是简单、快速的合成,通常用开放的API和数据源来产生更丰富的应用效果,可能与数据提供商的原始意图无关。

为了能永远的接入其他业务的数据,通常mashup是客户端应用或者在线应用。在过去几年里,越来越多的网络应用提供商开放API供其他软件开发者很容易地集成他们的数据和功能,而不是自己再开发一遍。通常Mashup被视作是社区软件social software 和Web 2.0的一个鲜明的因素。

我们举例来看,美国的房屋租售网[3]将craigslist网站的数据标在Google Maps上,看起来让craigslist的表项数据有生气多了。

image

在Mashup这种开发方式中,角色为数据提供方(mashup data sources)和接收方(the recipient of a mashup),从提供方和接收方的角度看,Mashup分别如下:

提供方消费者
数据格式标准化(web-accessible),例如遵守WSDL, REST,RSS标准获取多个数据提供方的数据,用自己的方法重新处理、呈现。

 

Mashup这种开发方式不仅仅可以用于网站开发(web mashups)[5],也可以用于企业IT系统的开发(enterprise mashups)[5],这时是一种潜力巨大的商机[4],也涉及IT系统开发架构的课题SOA(Service-oriented architecture ),例如把ERP系统和CRM数据库系统和LDAP用户帐户系统的数据组合起来。此时Mashup有一些独特处[4]:

• 协同性(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)

内容概要:本文档详细介绍了基于MATLAB实现的无人机三维路径规划项目,核心算法采用蒙特卡罗树搜索(MCTS)。项目旨在解决无人机在复杂三维环境中自主路径规划的问题,通过MCTS的随机模拟与渐进式搜索机制,实现高效、智能化的路径规划。项目不仅考虑静态环境建模,还集成了障碍物检测与避障机制,确保无人机飞行的安全性效率。文档涵盖了从环境准备、数据处理、算法设计与实现、模型训练与预测、性能评估到GUI界面设计的完整流程,并提供了详细的代码示例。此外,项目采用模块化设计,支持多无人机协同路径规划、动态环境实时路径重规划等未来改进方向。 适合人群:具备一定编程基础,特别是熟悉MATLAB无人机技术的研发人员;从事无人机路径规划、智能导航系统开发的工程师;对MCTS算法感兴趣的算法研究人员。 使用场景及目标:①理解MCTS算法在三维路径规划中的应用;②掌握基于MATLAB的无人机路径规划项目开发全流程;③学习如何通过MCTS算法优化无人机在复杂环境中的飞行路径,提高飞行安全性效率;④为后续多无人机协同规划、动态环境实时调整等高级应用打下基础。 其他说明:项目不仅提供了详细的理论解释技术实现,还特别关注了实际应用中的挑战解决方案。例如,通过多阶段优化与迭代增强机制提升路径质量,结合环境建模与障碍物感知保障路径安全,利用GPU加速推理提升计算效率等。此外,项目还强调了代码模块化与调试便利性,便于后续功能扩展性能优化。项目未来改进方向包括引入深度强化学习辅助路径规划、扩展至多无人机协同路径规划、增强动态环境实时路径重规划能力等,展示了广阔的应用前景发展潜力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值