上一期讨论到以BAE这样的技术,结合云端服务到手机端,这是一种不一样的应用程序发模式,让手机客户端(client)的应用整合有了很大的不同。开启手机的云端应用整合,Data Push的机制在这里更显重要,在此提供一些个人浅见,请不吝指教。
Push API的技术研发是Android操作系统目前所久缺的一环,但已经有一些相关技术正在进行。向服务器发出请求,再建立联机后进行数据传输,这是典型的网络模式。行动装置的应用上,改采Push的方式进行数据传输,是普遍被认为是一种更有效的方法。Push API的做法是由服务器主动「推出」数据给「接收端」,也就是,这是一种由「sender」主动发送数据的技术。
相对于Data Push,上述所提及的典型模式称为Data Pull,也就是由接接收端控制数据传输,与Data Push正好相反。Data Push在手持装置上应用,其实已行之有年,例如:SMS、Push mail;Data Push机制第一次被大量讨论,是在Web service兴起的那几年,当时又被泛称为「主动式服务」。Data Push也讲求Server Side技术,因为数据由传送端(Server)主动发出,所以Server端的架构与技术是关键。
随着3G与4G网络的普及,以及开放平台的兴盛,在手机端以Data Push的机制整合云端服务,可以造就一些有兴的新应用;以应用产品的角度看待Data Push机制,虽然这是旧瓶新装的技术,但所见有很大的不同。技术发展面来看,可以在Android框架里发展一套成熟的Push API,让应用开发者可以使用大量的Push API来制造应用软件。这个机制的好处是什么呢?例如,应用程序只需要「描述」数据属性,就可以被动式从服务器端接收信息;服务器端会根据用户的数据需求,「客制化」般地推出用户需要的信息。
在一个以数据传输(Data Communication)为导向的3G网络环境下,Data Push的机制更形重要;在这里,我们讨论的角度是「让开发者以Data Push的思考模式制造应用软件」。将Push API整合到装置,开放云端服务,就是融入Data Push的机制到应用程序里的第一步,这此,就可以达成「让应用开发者更轻松地使用Data Push想法来制造软件」。
开放平台的「SDK」是很重要的环节,所以更具体的做法是提供SDK,让开发者在装置上发展应用软件。所以,只要能将Push API加入SDK,并将云端服务开放给Push API使用,就可以达到这个构想。当装置,例是手机,能使用开放的云端Push API来撰写各式应用,这个装置的功能将更强大;当然,更强大是技术层面上的意义,让装置更「个人化」、以及「更生活化」、更好用,这产品层面的意义,也是更重要的意义。
Data Push导向的应用软件,也可以解决部份麻烦的技术问题,例如:电源管理。在客户端以Ping方式通知Server端「我还活着」,Server端再将数据推出,可以做出更好的电源管理机制,主要的关键在于通讯模块可以不需要做永续性的开启。Data Push导向的应用软件,也可以解决浏览内容的问题,Data Push以HTTP做为基础,送出XML甚致HTML的文件,如此便能采用现有的Browser技术,或是上一期曾提到的BASE技术。许多新的想法,都是建构在已有的技术之上,Data Push导向的应用软件,确实是一个旧瓶装新酒的想法,但是可以带来新的使用体验。