建立称作mashup的Web应用程序是Web 2.0的流行趋势之一。mashup利用现有的Web应用程序或数据来源,组合这些资源建立一个新的应用程序。我将分析mashup背后的技术,mashup结构,并提供一些mashup应用实例。
不要做重复的工作
Web上充满了表面上可以满足一切需要的网站。开发者认识到这些资源,决心重新加以利用,对它们进行扩充,而不是模仿它们的功能。重新利用和扩充这些资源的结果即为mashup概念。
mashup是一些应用程序,它从许多资源和服务中组合数据,用它们建立一个新的应用程序。在建立他们自己的mashup时,开发者可以使用各种技术。下面的列表简单概括了这些技术:
其基本的理念是使用这些技术与Web service或API和内容提供商进行交互。
mashup结构
通常,一个mashup应用程序由三个级别或层次构成。mashup中所使用的服务或数据来源为第一层。根据应用程序的要求,这个层中可能包括一个或几个资源,直接在应用程序(如Blogger)中输入数据的用户就是一个常见的数据来源。
第二层即将这些资源组合起来的mashup应用程序。其中可能包含它自己的功能,或简单呈现数据来源。最后一层为用于访问网站的用户客户端。客户端脚本可用来改善用户体验。
mashup应用程序的关键点在于提供数据来源的第一个步骤。Web提供了大量的可能性,下表列出其中一小部分样本:
应用
看到其他开发者利用现有的Web service和数据常常令人惊奇,并给人带来启示。下面是几个现有的mashup网站:
在ProgrammableWeb网站可找到大量这些网站信息。
提倡重新使用
mashup概念似乎遵照社区发展,以与Web紧密结合。也就是说,服务和数据都拿来共享(有时不是免费的),以便开发者能够扩充功能,而不用花时间重复开发已有的服务。看到其他开发者利用现有数据和服务,使我很受启发。