Transcript Chapter 2

Chapter 1
Introduction on Smartphone Platform
本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資
源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、
網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
著作權所有 © 旗標出版股份有限公司
What is Android?
What is Android?
傳統以來,手機一直被視為用來打電話的,
與電腦分屬於電信及網際網路兩個不同世
界。
而提供語音的電信服務在網際網路尚未興
起前,一直是一寡佔且封閉的產業,早期
的手機也只提供通話服務。
What is Android?
隨著手機與網際網路結合,上網普及化之
後,使用者對手機的功能有截然不同的需
求。
透過網際網路,各種新的服務與應用應運
而生,使用者也希望手機平台能像電腦一
樣,讓使用者能發揮設計創意,自主地開
發服務。
What is Android?
因此智慧型手機隨之上市,於是微軟公司
以其在電腦終端作業系統霸主的地位,推
出智慧型手機專用之WinCE及Window
Mobile作業平台。
由於微軟公司的作業系統並不開放原始程
式碼,因此除有版權問題外,也因無法深
入作業系統核心而限縮了應用軟體發展的
空間。
What is Android?
有鑑於此,以開放程式碼Linux作業系統為
基礎發展Android手機平台的構想應運而生。
Android字面上的意義是指科技小說裏面的
機器人,隱含有新奇、能接受指示,且具
有智慧的意思。
它是Google在2007年鼓吹它為手機系統平台,
初期由Google開發,後由開放手機聯盟
(Open Handset Alliance)接手後續發展推
廣。
What is Android?
由於它開放式架構的特性,可以很容易地
進行系統擴充。Android平台具有以下特點:
– 系統的開放性
– 應用程式的對等性
– 跨應用程式的整合性:
– 開發環境的效率性:
Overview on Framework of
Android Platform
Overview on Framework of
Android Platform
Android使用堆層(Stack)做為軟體平台的
建構方式。
堆疊主要分為四層,分別為作業系統核心
層、系統函式庫層、應用架構層、及應用
程式層,如下頁圖所示。
作業系統核心層以Linux核心工作為基礎,
提供作業系統基本功能及一些硬體驅動程
式。
Overview on Framework of
Android Platform
應用程式層 (Application Program)
應用架構層 (Application Framework)
系統函式庫層
(Libraries)
Android 執行環境
(Android Runtime)
核心函式庫
Dalvik虛擬機器
(Core Libraries)
(DVM)
作業系統核心底層 (Linux Kernel)
Framework of Android Platform
Overview on Framework of
Android Platform
要注意到的一點是,目前Android的Linux核
心與常用的GNU/Linux並不完全相同,
GNU/Linux有的東西在Android Linux核心中
並不一定有。
為提供在手機環境使用,Android的Linux核
心特別加強了程式間通訊(Inter Process
Communication, IPC)及電源管理(Power
Management)的功能。
Overview on Framework of
Android Platform
作業系統核心底層之上是函式庫及Android
執行環境(Android Runtime),函式庫有許多
開放原始碼的有用函式,例如,OpenGL、
libc (bionic)、WebKit等等。
而Android Runtime主要包括核心函式庫
(Core Libraries)及Android專有之虛擬機器
Dalvik (Dalvik Virtual Machine, DVM)。
Overview on Framework of
Android Platform
應用架構層主要是提供Android應用程式的
API,包括位置管理、資源管理、電話管理、
提示管理等一些軟體套件,應用架構層再
透過JNI去呼叫下層函式庫。
若有新的函式加到函式庫裏,則應用架構
層就需要加以擴充。透過應用架構層的規
範,可以對軟體函式的增加做較好的管理。
Overview on Framework of
Android Platform
有了上述三層的支援,系統已將硬體元件
抽象化(Hardware Abstraction),並以層次的
架構提供各種有用且方便取用的函式庫,
再經由其DVM建構的跨平台Java開發環境,
使用者即可在應用程式層設計Android平台
上的各種好玩的應用服務。
Introduction on Android Market
Android Market 平台介紹
Android是一開放平台,任何人都可以在此
平台上發揮創意,設計應用服務,而且可
以與別人分享。除了分享之外,如果認為
所開發的軟體有市場性,也可以線上以收
費方式讓他人下載。
為提供便利的分享與銷售環境,Android
Market平台提供此一交流管道。就類似蘋果
iPhone及iPod的App Store一樣,提供軟體分
享。
Introduction on Android Market
Android是一開放平台,任何人都可以在此
平台上發揮創意,設計應用服務,而且可
以與別人分享。除了分享之外,如果認為
所開發的軟體有市場性,也可以線上以收
費方式讓他人下載。
為提供便利的分享與銷售環境,Android
Market平台提供此一交流管道。就類似蘋果
iPhone及iPod的App Store一樣,提供軟體分
享。
Introduction on Android Market
Android是一開放平台,任何人都可以在此
平台上發揮創意,設計應用服務,而且可
以與別人分享。除了分享之外,如果認為
所開發的軟體有市場性,也可以線上以收
費方式讓他人下載。
為提供便利的分享與銷售環境,Android
Market平台提供此一交流管道。就類似蘋果
iPhone及iPod的App Store一樣,提供軟體分
享。
Introduction on Android Market
Android是一開放平台,任何人都可以在此
平台上發揮創意,設計應用服務,而且可
以與別人分享。除了分享之外,如果認為
所開發的軟體有市場性,也可以線上以收
費方式讓他人下載。
為提供便利的分享與銷售環境,Android
Market平台提供此一交流管道。就類似蘋果
iPhone及iPod的App Store一樣,提供軟體分
享。
Introduction on Android Market
Android Market網頁
Introduction on Android Market
Android Market免費軟體下載網頁
Introduction on Android Market
Android Market付費軟體下載網頁
Introduction on Android Market
除了蘋果的Apple Store及Android Market之
外,微軟的Windows Mobile手機平台也推出
具類似功能的Windows Marketplace,讓軟
體程式開發者可以有分享及銷售的管道。
而這種發展趨勢,將提供個人工作室及
SOHO族創業的另類的商業模式。
Comparison of Existing
Mobile Platforms
Comparison of Existing
Mobile Platforms
手機的功能從傳統的打電話為主,逐步增
加影音與相機功能,到具無線網路上網,
再到現今的開放使用者可以自行設計應用
服務並分享自己作品,甚至可透過Apple
Store、Android Market、及Windows
Marketplace等交易平台散佈及銷售自己設
計的軟體。這短短五、六年的變化不可謂
不大。
Comparison of Existing
Mobile Platforms
 Eevolution of mobile platforms is listed below:
手機平台演進
主要功能
目標使用者
基本手機
語音收發話
僅將手機當為電話使
用
整合影音功能手機
除基本手機功能外,
喜歡影音服務及隨機
增加MP3播放器、及
攝影之使用者
數位相機等影音功能
網路手機
除整合影音手機之功
喜歡隨時上網,並經
能外,還提供無線
常需送收電子郵件之
WiFi及藍牙Bluetooth
使用者
通訊功能
開放式手機
除上述網路手機功能
喜歡嘗試新的網路應
外,還開放手機軟體
用服務,或熟悉軟體
開發環境,提供使用
設計,對手機應用具
者自行設計應用服務,
創意之使用者
及應用服務軟體之散
播通路
Comparison of Existing
Mobile Platforms
本教材除針對Android平台之軟體設計進行
詳細解說之外,也在最後兩章分別說明
Window Mobile 6.5及iPhone的軟體開發環境
與簡單範例,供讀者做比較。
除此之外,在本章最後也對其他包括Palm
的webOSdev、Qualcomm的BREW、Nokia
的Symbian、及BlackBerry OS等手機平台做
精簡的介紹。
Palm WebOS dev Platform
Palm WebOS dev Platform
隨著手機平台走向開放,Palm在2009年7月
正式宣佈將其webOS開放給使用者,並一併
將開發所需之軟體工具與如何上傳所設計
的軟體等環境完整建立在其portal網站
http://developer.palm.com/上。
Palm WebOS dev Platform
Palm的webOS是以HTML及Javascript做為應
用程式開發的基礎,應用程式的兩個主要
元件是scenes及stage。
基本上stage代表一個應用卡(applications
card),相當於是一個瀏覽器上的視窗或tab,
而scene則是視為不同的網頁,每一scene再
透過Javascript來設計其動作與呈現方式。
Palm WebOS dev Platform
Palm鼓勵使用者加入社群,透過彼此的經
驗分享,來加速應用服務之開發。
除此之外,Palm也隨時透過
Blog(http://pdnblog.palm.com/)發佈其
webOSdev的一些最新發展情形,供使用者
參考,如下頁圖所示。
Palm WebOS dev Platform
Palm webOSdev的Blog
Qualcomm BREW Platform
Qualcomm BREW 平台
Qualcomm公司是一家專門研究開發通訊產
品的廠商,一直以來對於嵌入式系統之研
發非常熱衷,其網站
http://brew.qualcomm.com/brew/en/上也有相
當豐富的開發資源供應用,如下頁圖所示。
Qualcomm BREW Platform
BREW平台網頁
Qualcomm BREW Platform
近年來,除了既有手機晶片及相關專利授
權外,也積極投入手機平台研發。
BREW初期是定位在Client端之平台,稱為
BREW Client,而配合最近興起的手機平台
開放熱潮,Qualcomm將其平台擴充為
BREW MP (Mobile Platform),如下頁圖所
示。
Qualcomm BREW Platform
BREW MP平台
Nokia Symbian Platform
Nokia Symbian Platform
Nokia多年來一直是手機的主要提供者之一,
而其手機所用之作業系統Symbian也已延用
多時,具高穩定性。。
其版本v9.0開始,即將其原有EKA2的即時
作業系統核心加以擴充演進加強包括新的
通訊介面、圖型架構、與即時性,因應B3G
時代高網路傳輸頻寬之需求,以提供包括
音視訊串流,及手機廣播電視服務。
Nokia Symbian Platform
 在其http://developer.symbian.com/main/index.jsp網
頁上提供包括技術說明文件及Sample code等有用
資訊,如圖所示。
Symbian平台網頁
BlackBerry OS Platform
BlackBerry OS Platform
黑莓機(BlackBerry)主要由加拿大RIM公司
所發展(據說也曾給台灣宏達電代工),其主
要的強項是在便捷的電子郵件功能,另外
在內建GPS及地圖應用軟體與影音服務也頗
為人稱道,因此廣受政商界的喜愛。
BlackBerry平台提供頗為豐富的使用者介面
(UI),讓使用者可以很容易地取用,設計多
變化的顯示介面。
BlackBerry OS Platform
另外,BlackBerry非常強調使用的便利性,
因此依機型不同而有不同的輔助輸入介面:
包括:
– 軌跡輪(TrackWheel),如7100及8700等系列。
– 軌跡球(TrackBall),如8800及Pearl 8100等系列。
– 軌跡板(TrackPad),如Bold 9700及Curve 8500等
系列。
– 觸控螢幕(Touch Screen),如Storm 9500系列等。
BlackBerry OS Platform
在開發環境的規劃方面,BlackBerry也依應
用的不同而有不同的開發環境,主要可分
為以Java為基礎的應用開發環境(Java
Application Development)及以網頁為基礎的
應用開發環境(Web Development)
BlackBerry OS Platform
而配合企業網路所需與管理相關應用程式
開發方面,則提供了企業應用開發環境
(Enterprise Application Development)。
BlackBerry 技術支援相關網頁如下頁圖所示
(http://na.blackberry.com/eng/support/)。
BlackBerry OS Platform
BlackBerry平台技術支援網頁
Google Chrome Operating System
Google Chrome Operating System
近年來,由於雲端計算(Cloud Computing)架
構的興起,未來許多電腦、行動裝置、及
手機等終端設備的應用服務將有可能放置
在由許多高效能伺服器組成的雲端架構中,
終端設備將儘量簡化,所需要之各種應用
服務都從雲端接取。
Google Chrome Operating System
雲端計算架構的最重要推手是Google,因此
Google以開放程式碼概念對於作業系統提出
另一思考模式。
Google所提出之Chrome作業系統是一以
Web為基礎的作業系統,所有的運作均架構
在Web介面上,而且除Chrome作業系統外,
所需之軟體服務都是透過瀏覽器介面向雲
端取得。
Google Chrome Operating System
這種架構有如下幾項優點:
– 由於作業系統的極簡化,因此,終端設備的運
作將更為快速。
– 而且由於所有應用軟體都由雲端提供,因此只
要雲端伺服器做好安全把關,則一些包括電腦
病毒在內的安全威脅,都有可能獲得舒解。這
種新的架構將對軟體市場造成結構性的轉變,
類似像Apple Store或Android Market的商業模式
將更盛行。
Google Chrome Operating System
Chrome OS Operating Interface
Google Chrome Operating System
Using Chrome Browsing Cloud Computing Application Software