|
中国移动研究院终端所 马君 博士
http://www.cww.net.cn 2010年12月14日 15:17 通信世界网
在这个基础上跟大家简单分享一下关于终端API的基本概念,后面一些部分内容可能过于技术一些,但今天我还希望跟大家介绍一下。 首先来讲,什么叫做终端应用开发接口?第一点,这张图存在网络侧和终端侧,从传统电信领域和电信概念来讲,终端侧和网络侧是通信协议,我们对终端应用开发接口的概念可以这样讲,它是应用程序、终端网络环境、操作系统之间的接口,通过一些预先定义的函数,供应用程序访问或调用终端资源与能力。 对于操作系统的API也进行一个简单的分析,其实这块现在相对流行的安卓的例子,对操作系统API进行简单的分析,可以说对它的架构进行一定的探索和研究。某种意义来讲,安卓现在主流是通过这样一个运行环境提供API,所有的应有都是基于JAR的接口进行开发。安卓的系统里所有的应用调用方式和操作系统调用方式等等都与标准相同的。第三方有自己的JAR包也可以方便地添加到安卓系统里。前两天安卓刚刚发布了2.3系统,在2.3系统里有这么一个概念,以前所有的安卓应用都必须基于JAR开发,但这块来讲对于开发者来说都是屏蔽的。但是在今年的6、7月份,安卓提出这么一个概念,NDK,这里面提到一个想法,可以允许开放部分C++的应用接口给开发者直接使用。安卓2.3的接口里也提供了进一步的丰富化,以后在安卓上开发应用程序有可能JAR并不是唯一的选择,虽然谷歌并不推荐这样做,但是有很多C++开发者希望绕开这一层效率较低的方式,可以直接写相关的应用程序。这是安卓的情况。第二块是SYMBIAN,这块不做详细介绍了。 从应用软件的API来看,传统上最早就是有J2ME,JCP它是一个开放的国际组织,主要由JAVA开发者以及被授权者组成,维护J2ME、J2SE等规范。JCP制定移动终端支持J2ME应用的标准,其中相关JSR定制Device API,包括地址本、日程表。 从第二块来讲,现在大家非常流行基于Web Runtime的,在这样一个情况下可以考虑,现在所有的终端厂家、运营商都在基于Web Runtime的环境,投入大量的研究资源。以前像中国移动搞一个叫做JIL的组织,这个组织已经扩大到20多家运营商,最新数应该到30家,这个组织核心也是要做基于Web Runtime的API以及相应的产业化推进。这个Web Runtime可以做什么?目前来看Web Runtime API首先最重要的一点,要对终端的基本功能进行设定,第二点希望终端能够更好地支持对移动互联网的内容支持,包括现在W3C最新定义的相应标准。这块大家有一个问题,为什么这块列了W3C?现在国际上存在多套相关的API标准,包括W3C在做。总体上来讲,基于Web Runtime的这块总体思路就是希望针对移动终端,提供一个基础的能够访问终端的所有软硬件资源。 基于上面的分析,我们可以看到,我们讨论终端,从应用开发者的角度来讲,它对一个应用会有相应的设计,比如这个应用要做什么。刚才举的例子,就是要点亮闪光灯,怎么点亮?我需要一个函数,先考虑应用场景才考虑相应的,到底该选取什么样的API。终端的基础能力大家可以看到基本有相关的基础能力列出来,包括终端的联系人、文件、多媒体等等,同时终端对咱们的电信业务进行支持,同时对互联网的业务也支持。我们是不是该考虑,至少可以从能力层做一个相当的(英语)描述?实际上来讲,相关的组织或者相关的研究方向也是按照这个努力的,像W3C考虑把终端能力抽象化出来,这样可以体现这个API标准的功能和输入、输出的要求,开发者做应用的时候希望能够把这个应用通过一定的API写出来,它有什么样的API、有什么样的功能,每个系统都不一样,开发者很迷茫。但是输入、输出可以标准化,这样可以减轻开发者的开发难度。在这块确实存在一个现状,现在各个软件环境和操作系统都是某种意义上按照自己平台的需求去做,并没有考虑标准化的情况。 综合刚才跟大家介绍的内容,目前最大的问题应用的跨平台适配难度非常大,我们可能要适配不同的软件环境,如果一个应用的开发者许多把他的应用拿去销售,可能要把他的应用重新编写很多遍,这个成本非常高。如果这个现状长期存在的话,会影响其分化整个基于终端应用的市场和它的市场发展。
编 辑:高娟 联系电话:010-67110006-853
文章评论【查看评论()】
|
重要新闻 通信技术 企业黄页 会议活动 |