mashup是糅合,是当今网络上新出现的一种网络现象,将两种以上使用公共或者私有数据库的
web应用,加在一起,形成一个整合应用。一般使用源应用的API接口,或者是一些
rss输出(含
atom)作为内容源,合并的web应用用什么技术,则没有什么限制。mashup在geek群体和互联网玩家之中获得了极大的欢迎,mashup未必需要很高的编程技能,只需要熟悉api和
网络服务工作方式,都能进行开发,所以很快成为一个流行的网络现象。很多公司例如
yahoo/google都为此提供开放接口,以吸引这个群体。
基本介绍
一般使用源应用的API接口,或者是一些
rss输出(含
atom)作为内容源,合并的web应用用什么技术,则没有什么限制。mashup在geek群体和互联网玩家之中获得了极大的欢迎,mashup未必需要很高的编程技能,只需要熟悉api和
网络服务工作方式,都能进行开发,所以很快成为一个流行的网络现象。很多公司例如yahoo/google都为此提供开放接口,以吸引这个群体。
Mashup 是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解Mashup的模型。计算机运行着操作系统,例如Windows。现在开源的操作系统无疑是一个非常好的APIs 的集合或者一个
应用程序编程接口,帮助开发者去构建他们的应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。一个API可能是帮助电脑
接入网络又或者用来提供显示功能。总之,这些APIs 帮助开发者更加容易的去构建他们的应用程序。在过去开发者需要描绘每一个点显示的位置,而现在仅仅需要给出
对称坐标,就可以完成一个窗口的绘制。
APIs做的事情是这样的。假如你访问
文件系统,那么你所需得到APIs,这是计算机工作的途径。然后你就可以在一个窗口里运行一个应用程序。人们开发一个应用程序通常需要3或4个不同的APIs,或许更多。
运行方式
这是一个计算机传统的运行方式。现在,我们将Windows,操作系统替换成网络。那么同样的,就会有许多公司来提供哪些APIs。比如
yahoo,google.例如一个叫EVDB的公司,它是一个事件
日历的数据库,可以提醒你什么时间到哪里做什么事情。也包括像 Amazon 和 eBay,又比如
Technorati ,所有这些不同的公司把APIs放到网上使开发者可以访问。
现在假如你是一个Web开发者,你通过一个API 找到你附近哪些地方会有犯罪。然后你访问Google 地图API,把这两个内容整合在一起,那么你就得到了一个标有犯罪纪录的地图。这个新的地图就叫Mashup。因为开发者通过来自多个网站的APIs,把他们合并在一起,成为了一个新的很cool的应用程序。
现状
越来越多的APIs被开放,这是一个比较明确的方向,每天都会有大概2.5个Mashup产生,预计到2007年每天Mashup的产生数量会增加到10个。
之所以,一天会有10个Mashup产生是因为,开发将会变得越来越容易,你不用再必须变成一个C语言
程序员去展示你的创造力,你可以开发很Cool的应用,例如哪里有停车空位的地图,就像在
California得Bay 地区的 ParkingCarma 所做的那样。又或者你开发一个地图标记出你的邻居和你想去会见某人,这其实也已经是一个事实存在的应用了,FrozenBear公司正在做这方面的开发。
我们展示这些Mashup的同时,又有新的APIs随时发布到网上,这就形成了一个
生态系统,而且这个生态系统比目前现存的所有生态系统都会增长的更快。Windows,你必须成为一个程序员才可以开发
应用程序,
Linux,
Macintosh也同样是如此,但是Mashup却不必, 它将会是今天增长速度最快的一个生态
体统。
发展
Mashup 不仅仅是发展的很快,更好的一个地方是你不再需通过某人才可以发布一个新API到网上。以前你必须要通过
微软才可以发布一个新的API加入到Windows,这种情况同样出现在Macintosh。另外,尽管你也许可以添加一个API直接到Linux,因为它是开源的,但是这对大多开发者来说并不具备这样的权利。
另外,你在发布了一个API到网上之后,不需要再通过谁去批准它,它会自动对所有开发者有效。所有的不同的APIs都会成为更多Mashup的燃料。
越来越多的Mashup出现在网上,越来越多的
网络用户去使用这些新的Mashup应用程序。越来越多的开发者加入到开发Mashup这个生态系统当中。在未来两年,你将可以听到关于Mashup的信息。
典型应用
地图 Mashup
在这个阶段的信息技术中,人们搜集大量有关事物和行为的数据,二者都常常具有位置注释信息。所有这些包含位置数据的不同
数据集均可利用地图通过令人惊奇的图形化方式呈现出来。mashup 蓬勃发展的一种主要动力就是
Google 公开了自己的 Google Maps
API。这仿佛打开了一道大门,让 Web 开发人员(包括爱好者、修补程序开发人员和其他一些人)可以在地图中包含所有类型的数据(从
原子弹灾难到
波士顿的
CowParade 奶牛都可以)。为了不落于人后,Microsoft(Virtual Earth)、Yahoo(Yahoo Maps)和
AOL(
MapQuest)也很快相继公开了自己的 API。
视频和图象 Mashup
图像主机和
社交网络站点(例如 Flickr 使用自己的 API 来共享图像)的兴起导致出现了很多有趣的 mashup。由于内容提供者拥有与其保存的
图像相关的
元数据(例如谁拍的照片,照片的内容是什么,在何时何地拍摄的等等),mashup 的设计者可以将这些照片和其他与元数据相关的信息放到一起。例如,mashup 可以对图片进行分析,从而将相关照片拼接在一起,或者基于相同的照片元数据(标题、
时间戳或其他元数据)显示社交网络图。另外一个例子可能以一个 Web 站点(例如
CNN 之类的新闻站点)作为输入,并在新闻中通过照片匹配而将照片中的内容以文字的形式呈现出来。
搜索和购物 Mashup
搜索和购物 mashup 在 mashup 这个术语出现之前就已经存在很长时间了。在
Web API 出现之前,有相当多的购物工具,例如 BizRate、PriceGrabber、MySimon 和 Google 的
Froogle,都使用了 B2B 技术或屏幕抓取的方式来累计相关的价格数据。为了促进 mashup 和其他有趣的 Web 应用程序的发展,诸如
eBay 和
Amazon 之类的消费网站已经为通过编程访问自己的内容而发布了自己的 API。
新闻 Mashup
新闻源(例如
纽约时报、
BBC 或
路透社)已从 2002 年起使用 RSS 和 Atom 之类的
联合技术来发布各个主题的新闻提要。以联合技术为基础的 mashup 可以聚集一名用户的提要,并将其通过 Web 呈现出来,创建个性化的报纸,从而满足读者独特的兴趣。
将多个
微博在一个平台上进行聚合显示, 在一个平台上可以同时绑定多个微博(
腾讯微博、新浪微博、
搜狐微博、
网易微博、
人人网、
豆瓣、饭否、嘀咕、Follow5、
天涯微博、人间网、
做啥、9911、
同学网、
开心网等),从而满足用户同步多个平台的要求,提供了微博信息汇总表,让用户方便查看自己所有平台的
粉丝,关注和微博数,轻松实现在不同微博间自由切换。并且提供多微博评论列表读取,
跨平台分享,聚合收藏等功能。使用户可在同一屏幕中同步收发信息,实现了真正意义上的社交网站双向聚合。类似网站功能的有
玛撒网,
微博通等。
重要提示
JSONP 是构建 mashup 的强大技术,但不幸的是,它并不是所有跨域通信需求的万灵药。它有一些缺陷,在提交开发资源之前必须认真考虑它们。第一,也是最重要的一点,没有关于 JSONP 调用的
错误处理。如果动态脚本插入有效,就执行调用;如果无效,就静默失败。失败是没有任何提示的。例如,不能从服务器捕捉到 404 错误,也不能取消或重新开始请求。不过,等待一段时间还没有响应的话,就不用理它了。(未来的
jQuery 版本可能有终止 JSONP 请求的特性)。
JSONP 的另一个主要缺陷是被不信任的服务使用时会很危险。因为 JSONP 服务返回打包在
函数调用中的 JSON 响应,而函数调用是由浏览器执行的,这使宿主 Web 应用程序更容易受到各类攻击。如果打算使用 JSONP 服务,了解它能造成的威胁非常重要。