By 高焕堂 2011/01/01
框架API与软硬整合产品的差异化之路
1. 发挥Android特色:框架API和开源(开放)
Android平台就如同万里长城般,两岸的硬件业厂商就如同关内居民,是建造万里长城的最先获利者。也基于这样的效益,让许多硬件大厂竞相拥抱Android,让Android的气势如虹,扶摇直上。其中的主要效益是:差异化。许多开发(或生产)底层组件的硬件厂商,基于过去传统平台的经验,而不会擅用 Android平台的特性来创造硬件层的差异化,而无法享受Android这个软件万里长城,替关内居民(即硬件厂商)带来的利益。
Android平台的主要特性是:框架API和开源(开放)。只要善加发挥这两项特色,就能创造硬件厂商的「没钱就差异化(改版),差异化(改版)就有钱」的绝佳商业模式。
2. 被动型API局限差异化的发挥
Android提供了框架API,但是它与硬件的差异化有什么密切关系呢? 首先必须理解到,框架API是主动型API,而主动型API的相反词是被动型API;被动型API是掌握在AP手里,硬件组件必须配合AP的要求,大大局限了硬件组件创新机会,日趋同质化,就与差异化背道而驰了。兹拿餐厅与厨房来做比喻吧,如下图:
图1、此传统架构下,底层日趋同质化
此图里,餐厅就像AP,厨房(或供货商)就像硬件组件。这里的API,就厨房(或供货商)而言,它是被动的,控制点位于餐厅(AP)里,也就是,主动(控制)权掌握在餐厅(AP)里。在此架构里,厨房(即硬件)组件的创新和差异化,无法有效传递到餐厅(AP)。当上层(即AP)无法反应底层(即硬件)的创新或差异化,就无法呈现给客人了,就无法带给客人特别的服务(功能)和感受(性能),不能带来商业利益。此时,如果底层硬件组件刻意要去差异化,就会掉入「为差异化而差异化」的困境了。[歡迎光臨 高煥堂 網頁: http://www.cnblogs.com/myEIT/ ]
3. 主动型(如框架)API发挥了底层的差异化
在上图里,由于主动权掌握在AP开发者手中,使得底层硬件厂商处于被动地位,其差异化难以呈现给客人,所以差异化只是增加自己的成本而已,可说是徒劳无功。其系统层面的解决途径是:让底层硬件厂商拥有主动权。于是,我将上图的系统架构调整如下图:
图2、架构(一):底层硬件厂商拥有主动权
在这图里,我们设计了一个框架,由它提供主动型API,让底层硬件厂商处于主动地位,其差异化就很容易呈现给客人,产生商业收益。由于这是一种架构「设计」图,意味着有无限多种可能的架构,只要能底层硬件厂商拥有主动权,就能有效传递和呈现差异化给客人,获得商业收益。例如,还可以设计如下图:
图3、架构(二):底层硬件厂商拥有主动权
请留意,「供货商」与「厨房」相当于两个不同的硬件组件厂商(Server)的角色,如果「厨房」厂商拥有绝对的主导权,很可能会刻意封杀或阻挡「供货商」厂商的差异化,让「供货商」厂商的差异化徒增成本而已。
4. 建立多层框架
由于这是一种架构「设计」图,意味着有无限多种可能的架构,只要能底层硬件厂商拥有主动权,就能有效传递和呈现差异化给客人,获得商业收益。例如,还可以将上述两个框架迭起来,设计如下图:
图4、多层(Multi-Layered)框架
5. 观摩Android的多层框架
基于上述的说明,如果你觉得有些道理,就拿实际的Android平台来解析看看。欲掌握Android的知识体系,从框架角度切入,可以找到它的甜心点(Sweet Spot)。它是一个开源开放的架构,我们可以直接切入核心,看到树干结构,一目了然;而不必像iOS、Win8等封闭平台,只能从外部功能(树叶)去猜测底层架构。所以,欲掌握Android架构体系,从它的多层框架体系视角切入,是最有效的途径。其框架体系如下:
图5、Android多层架构体系
也可以看看Android官方的架构图:
图6、Android官方的多层框架图
Android多层框架体系,保护了底层硬件模块的变动自由度,鼓励硬件厂商的差异化,让差异化带来巨大收益。
图7、鼓励硬件厂商的差异化
基于这个框架体系,再将众多功能(子系统)的模块添挂上去,每一项子系统就如同一棵完整的树,有树叶、树干、树根等。例如,MediaPlayer播放功能,就含有Java、JNI、系统服务、HAL等完整的体系(即一棵完整的树):
图8、各子系统就像一棵完整的树
6. 结语
Android问市至今已经5年多了,其声势扶摇直上,其版图迅速从手机产业扩展到其它各领域,如电视STB、车载系统、对讲机、LED室内装潢等等。到了2011年底的Android 4.0上市以来,它正迈向智慧手机、智能Pad、智能电视和智能家庭的一致性平台。除了软件的开放之外,Android ADK更迈向硬件的开放API,让形形色色的周边装置都能够整合到Android平台上。Android的高度开放性,非常有利于软硬整合,人人都能自由使用Java & C/C++撰写上、中、下层服务,紧密结合硬件,呈现其差异化,创造增值效果。其中,值得关注的是,框架(Framework)开发技术是呈现软硬整合、创造差异化的必备条件。框架设计就是API设计,在Application Market潮流下,Android平台里的各种产品都必须提供Open API给广大的第三方开发者。◆
[Go Back]