原文: Google Search API?
有几个人给我讲了关于Google从基于SOAP访问机制的搜索转向基于AJAX的搜索。
O'Reilly的文章开始对此进行了详细讲解,但是我认为这里还有更多的内容。
我专门花了几分钟时间,在Google的站点上,将大家所指的地方看了一遍,结果,吓了一大跳。
我期望找到一些详细讲解的JSON格式,这样我就可以选择运行时库/平台/语言来阐述搜索的相关内容。
不幸的是,我只找到了一些Html/Javascript例子。下面是一段代表性的代码: var searchControl = new GSearchControl();
// Add in a full set of searchers var localSearch = new GlocalSearch(); searchControl.addSearcher(localSearch); searchControl.addSearcher(new GwebSearch()); searchControl.addSearcher(new GvideoSearch()); searchControl.addSearcher(new GblogSearch()); searchControl.addSearcher(new GnewsSearch());
// Set the Local Search center point localSearch.setCenterPoint("New York, NY");
// tell the searcher to draw itself and tell it where to attach searchControl.draw(document.getElementById("searchcontrol"));
// execute an inital search searchControl.execute("VW GTI");
我不知道在我的Asp.net/C#小程序中如何让它动起来,更不要提Ruby了。
开始的时候,我以为Google正在提供一套基于格式/协议顶层的,方便调用的封装。唉,当你废弃从那个例子(http://www.google.com/uds/api?file=uds.js&v=1.0),你会得到一小段"真正的"执行Javascript代码(http://www.google.com/uds/js/uds_compiled.js)。这是一段代码看起来有点乱(或者至少已被编译)的Javascript,我认为他太巴洛克了,没有必要进行译解。
简言之,从任意一个运行时库,你都无法分析出可辨别的格式。
在我看来,这是一个巨大的退步。
有一件事情要指出的是从SOAP迁移到POX或者甚至从XML迁移到JSON--前者的变化抵消了在YAGNI精神中的扩展性,后者的变化抵消了SGML针对广大人群的编程语言,为了更好的差异匹配而提供的协同性。
这完全是另外一个概念,它要求你使用一种特殊的语言,运行时库甚至是本地API来获取你需要的服务。
不管理如何定义"web service",我都不认为这个新事物有资格来做这件事情。
我希望这只是一个意外而不是一个趋势,以免我们倒退到难懂的/封闭的协议世界。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1462605