序言
手機App程式與雲端運算的影響力與日俱增,例如滑手機成為日常生活的一部分,而雲端運算的威力,可從Google即使有平均每秒有上百萬使用者進行資料搜尋,但仍可很順暢地回傳搜尋結果。因此從校園資訊相關科系的課程規劃,乃至於公司行號相關服務的開發與導入,都與這兩項主軸息息相關。
但有志於學習這兩方面專業知識,並從事這方面工作的人,在手機App開發方面首先會面臨選擇使用原生程式開發,抑或尋找跨平台的手機開發方式;另外,雲端運算主要包含三大分類,這三類之間存在相當程度的差異,因此又該選擇何者來提供我們的服務;最後,手機App端與雲端伺服器兩者間也需要相互的搭配,才能發揮最大的綜效,開發者所面臨門檻隨之提高了許多。本書作者了解多數人所遇到的困難後,規劃本書解決讀者所會遇到的問題,希望讀者能迎刃而解。有鑑於以上的需求,本書內容可區分為三大項目之內容:
1. Android手機程式開發
Google所開發出的Android手機作業系統,因為其開放的策略已攻占大部分的智慧手機市場,根據Strategy Analytics公司於2014年1月底最新調查,Android的全世界市占率高達69.7%,以及至2013年底的累積出貨量將達10億以上,因此對於新型態的電子商務而言,可以說是一個相當大的戰場。本書不僅實作一個具地理方面應用的程式外,也有與伺服器端的程式進行結合,更棒的是本書也強調如何透過HTML、JavaScript,與CSS撰寫出跨平台的手機程式,在此可以運作於iPhone與眾多的手機平台上,相信讀者看到這些內容時,一定會有「歐麥尬」的感覺。
2. 雲端三大分類與雲端資料庫
雲端運算看似是一個虛無縹緲的服務,多數人可謂是不得其門而入,本書除了說明雲端之概念外,最重要的是實際接觸使用三大類的雲端分類,其中包含了基礎建設即服務的Amazon EC2與最新的Google Computing Engine,在平台即服務深入地說明Google App Engine,最後在軟體即服務提供了常見的Dropbox,我們也將在該服務上架設靜態雲端網站。另外,在在資料存取的方面App Engine是使用Datastore API,其優勢是可提供一個分散式儲存的環境,因此可加速檔案的存取;當然,該方法而非網站開發者所熟悉的資料庫,對於要進行現有網站的移植或是新開發一個網站,會帶來一些困擾。為了解決此問題,介紹許多人殷切期盼的Google雲端資料庫(Cloud SQL),因為Google雲端資料庫實際運行的是常見的MySQL資料庫,可大幅地降低開發的門檻。因此對於亟需了解雲端運算內容,並快速開發雲端的系統者,本書將提供一個最佳的解決方案。
3. 雲與端的整合
雲指的是伺服端的程式,主要提供運算與資料儲存的服務,端則泛指使用者的存取裝置,由裝置顯示操作的介面並顯示資料的內容,兩者間當然需要緊密的結合,才能設計出強大的系統,因此本書提供台灣藝文通的範例程式,讓讀者能了解如何從手機程式呼叫遠方的伺服器,並將回傳後的結果顯示在App上,借由此範例協助讀者跨過此較高的門檻。
除了以上的三大項目之外,本書也提供了許多的應用範例,期望能激發出讀者更多的創意,開發出殺手級的應用,若有任何的建議與問題,也歡迎來信指教。相關資源與程式範例,皆請至本書的網站http://peterbookmace.appspot.com/查詢。
最後感謝家人在我徹夜趕書,一邊還要進行教學與研究的同時,給予支持與鼓勵;也要特別感謝「華藝數位股份有限公司」團隊,給與寶貴機會再版本書,以及編輯佳珊修訂新版內容;也由於「全華圖書」協助推廣本書,讓更多人得以看到本書扎實的內容;本書若沒有你們大力的幫忙是無法付梓,因此本人在此致上由衷的感謝。