竹科MTK + Android緩和山寨機硬體升級的壓力
By 高煥堂 2009.8.14
也請閱讀:聯發科(MTK)如何擁抱Android手機平台?
山寨手機業面對轟動IT武林的Google Android,至今摸不出自己發揮的空間和未來之路。因為要配合Android升級為智慧型手機,硬體升級壓力就來了,山寨手機的低價殺手鐧就失靈了。在Android平台上,山寨機也可以享受全球Android Application Store(簡稱AAS)上的Java應用軟體。但是如果想要通吃(讓所有AAS上的應用軟體都能在自己的山寨機上跑),硬體升級壓力就來了,山寨手機的低價殺手鐧就失靈了。
由此觀之,山寨機業者不是在MTK與Android兩者之間的抉擇,山寨機業者拋棄MTK而擁抱當今的智慧型Android平台的可能性非常微小。反而,「MTK + Android Lite + 山寨機」的發展空間非常寬廣。所謂Android Lite的意思就是:一方面,可搭配較低成本的硬體晶片組;另一方面,又能讓山寨機業者能開發一些獨特的應用軟體,也能讓AAS上『部分』的應用軟體能在自己的山寨機上跑。
為什麼只有『部分』的應用軟體能在自己的山寨機上跑呢? 理由是:大多AAS上的應用軟體都是在Android的Java層執行,效率較差,所以必須仰賴較高成本的硬件來彌補。如果放棄『通吃』的念頭,就能緩和硬件升級的壓力了。
於是,又有許多人提出問題:山寨機業者自行開發一些獨特應用軟體,就不需要仰賴較高成本的硬件來彌補嗎? 這是個好問題,這可回顧20多年前的歷史而得到啟示,就是在1980年代,電腦語言都想配上當時最新的物件導向(Object-Oriented Programming,簡稱OOP)功能,但是當時的硬體處理(如CPU)能力有限,像Basic、Pascal等執行效率較低的語言配上 OOP(這增加了複雜的處理),都增加了硬體升級的壓力。此時,執行效率高的C語言就派上用場了,因而於1986年C++(即C + OOP)語言上市了,一直流行至今。
如果這個歷史可當作一個借鏡的話;那麼,為了緩和硬件升級的壓力,就不能將所有應用軟體都仰賴VM(Android的Virtual Machine)了。山寨機業者自行開發一些獨特應用軟體,可能需要仰賴較高效率的C或C++語言了。
由於Android本身的架構是完美而完整的,我們稱之為JJC(Java framework + JNI + C++ Core Service)架構,如下圖:
圖1、 Android的JJC美好架構
於是,擺脫掉Android追求跨平台的美夢,取而代之的是Android Lite,其中各山寨機業者的獨特應用軟體可盡量運用C++ Core Service層,來節省硬體能量的消耗。如下圖:
圖2、 追求緊密的軟硬整合的Android Lite
一旦MTK和山寨機業者,在C++ Core Service層相匯合,MTK致力於軟硬整合;山寨機業者致力於獨特應用軟體的開發(也表現於Core Service層),並讓AAS上部份或更多應用軟體能在自己的山寨機裡執行起來。
於是,山寨機的特性:百花齊放的獨特功能、超低價的市場競爭力,就能繼續發展下去。◆