从上周六突发奇想到昨天悄然完工,总共花了半个周末外加三个晚上的时间,累计24小时左右,完成了一个
Mashup的网站:
http://www.iEuro2008.com。
一直很喜欢Mashup的思路,但是一直没有好的创意,想要自己完全不创造内容,单纯靠各种Javascript API整合一个网站出来,题材并不是那么容易寻找的。好在终于找到了一个,于是迅速注册域名,攻读API文档,然后照葫芦化瓢写了一些代码,生成了这个
欧洲杯2008的Mashup。
网站挂在
Dreamhost的空间上,Dreamhost最近和
Google Apps合作,所以在Dreamhost上注册域名并托管网站,可以直接开通Google Apps的所有服务。这就给了我很强大的后盾。比如用Apps里的Calendar生成
赛程表,然后用
Google Calendar API读取显示在页面,当然也可以订阅到自己的Calendar里——可以按球队订,按小组订,按场地订,等等等等。只手动做了一个日历,就实现了这些功能。如何实现的,这里可以卖个关子。本来想直接用HTML嵌入的方式做,但是直接嵌入的Calendar不支持更改初始显示时间,于是只得作罢。
地图自然用的是
Google Maps API了,这也许是Google所有API中名声最大,用户最多的一个了,我只是用了一些最最基础的功能。反正够用就行。如果深入研究下去,Maps API的功能远远超出我的想像。
新闻用的是
Google AJAX Feed API,读
UEFA官方网的新闻feed。事实上我觉得Feed API比Maps API有着更加广阔的应用前景,它可以读取所有ATOM和RSS格式的feed,输出JSON与XML,于是可以进行完全的自定义显示。当然,显示Headline的大图片还是有点hack代码的。Google News也提供
Feed输出,但是不好用。顺便说一句,UEFA提供RSS的新闻很赞,不过也很可怜,因为在
Google Reader里,我是它的唯一订阅者……
照片用的是
Flickr的API(所以国内用户请自行寻找代理),和
Picasa相比,Flickr的API更好用些,图也更多些,所以相比之下搜索结果质量也不错。
Panoramio貌似不提供关键词搜索的API,坚定Geo路线到底了,所以只在有的页面给了链接而已。
搜索用的是
Google Co-op自定义搜索引擎,本来想用
AJAX Search API的,可以完全定制自己的UI,但是看了文档之后就一个头两个大……尤其是样例代码稍微做点修改就跑不正常了。所以在与其奋斗了两个多小时后,还是使用了Co-op的iframe结果页面,稍稍做点定制就行。
最后就是网站的布局和UI,这个直接就半抄半改用了
Yahoo!的,不想花力气去设计了。所有页面里空白部分,用
Google Adsense填上,不是为了赚钱,而是为了让页面不显得那么难看。当然,域名的成本也许还是能赚回来的……
总得来说,这次速成了这么一个Mashup站点还是有很多收获的。Mashup,也许真的是一个很有前途的发展方向。