這一篇稍微說一下 Android 是什麼:
Android 是由 Google支持發起的… 一種 software stack 的 架構,
雖然常常是拿來跟 WinCE、Linux 之類的 OS 來做比較,
不過我覺得不能完全說 Android 是一個 OS,
他其實分成這幾層: Linux Kernel => Libraries => Framework => Applications
也就是說… 最底層還是拿 Linux 做為 Kernel,而這個 Kernel 是被 patch 過的,
然後中間有一些 C/C++ 的 Libraries,
而這一層的 Core Libraries 是專門為手機的應用而發展的,
基於 Core Libraries 的實作,便對輕便型的平台有其特殊的發展性與適用性,
而 DVM 則是 類似 JVM 的功用,讓 framwork 之上的程式能充份具有移植性,
再之上的 application Framwork 就比較像 .net 的概念,
有點像 BCB 之類視窗程式是靠 EVENT 來觸發 Function 的 call back 的概念,
(這裡不確定,請高手指正)
而最上層的 Application 就有較為統一的方式,
可以讓大家依 Framwork 以 JAVA 自行發展各程客制化的程式。
而整體是屬於半開放式的 OS,讓大家可以自己拿去修改。
在這裡先說一下,Android 的優點有哪些,
也就是說,在這些現有的 OS 底下,為什麼還會想用 Android?
而下篇卻會提一下幾個同事提問但解答似乎有點致命的缺憾與心得。
1. 有 Google 支持。
雖然把這一點列為第一個講的有點奇怪,但我覺得這其實是個重點。
Linux 發展至今,雖然好處很多,但終究還是比不過 M$ 的 Windows,
我覺得最重要的一點就是沒有大公司的支持。
就跟我買相機、買耳機、音響…還是會看品牌一樣,
一個傳說中的客製達人高手私有製品,雖然很有吸引力,
但對一般消費者來說,還是比不過知名有保障的品牌。
當 Android 有 Google 在背後發展當推手做背書後,
終於,我們看到了一種有可能足以制衡 M$ 的開放平台。
而這股力量,又可能會結合 Google Map、Gmail...等諸多有趣的應用,
也充滿了無限的商機。
2. APL (Apache License) 的商業模式。
開放源始碼雖然是很好的概念,
但… 說難聽一點,那我們學資工的要靠什麼吃飯?
以往 Linux 所採用的 GPL 應用程式,
代表程式在重新散佈或修改時,必需公開 source code,
同時必需基於 GPL 的原始授權,而不能進行再授權的動作,
以上這幾點,對一個想開發軟體的公司來說是極為不利的。
但 Android 在 Application 層所採用的 APL 則不然,
他允許取得 APL 授權軟體的使用者,在修改程式之後,
不需要公開原始碼,同時,也可以進行再授權的動作,
基於此,就衍生出較為可能的商業行為,
也讓 Android 在商業應用上找到了切入點與契機。
3. 避掉專利陷井
使用 APL ,即代表願意將程式的專利技術授權出來(Patent License),
而 GPL 則相反,這點或許有好有壞,但是在 GPL 就充滿了專利權陷井,
雖然你使用了 GPL 的程式,卻可能因為隱含在其中的專利技術而挨告賠上一大筆錢!
這一點在 APL 就不用擔心,沒有這一層專利權陷井,
另外一提的事是, APL 同時也保護商標 (trademarks)。
4. 採用 Framwork 的架構
這樣的架構,可以使軟體的發展更具有統一性,比較收斂,
像以往的 Linux,是從裡到外的開放,也就產生了,
"為了四面八方的軟體,而要使用數以千計的 Shared Libraries" 的窘境,
而 Android 則用一個 Framwork 良好的包裝起來,
所以… 算是比較不會失控的開放性平台發展模式吧。
以上,是讓人想用 Android 的一些好處,
同時,或許該加個第五點:
現在歐美、亞洲都開始致力於發展 Android,
在 Google 與 各國政府的推動下,
我想他是有無限的商機的。
而下一篇,會提一些其他的心得。