ArcGIS for iOS 開發系列(1) – 基本概念

arcgis_mobile發表於2012-10-18

1.1   iOS簡介

        2006年蘋果公司釋出了智慧手機iPhone,卓越的外形設計和新穎的觸控式互動,令其迅速風靡全球,隨後釋出的平板電腦iPad同樣也取得了巨大成功,二者所搭載的都是iOS智慧移動作業系統(早期叫做iPhone OS,後來更名為iOS),所謂的“智慧”作業系統簡單理解就是允許使用者自主擴充套件功能,比如通過安裝新應用而獲取了新功能。依靠iOS開發者計劃和App Store應用商店,蘋果公司構建起完整的開發者-使用者生態系統,來自世界各地的開發人員每天都在貢獻豐富、高品質的應用程式,涉及到我們工作生活的方方面面:商業、社交、娛樂、教育、醫療、音樂、地圖…,截止2012年9月12日,App Store應用商店裡已經有了約700,000個應用,總的應用下載數更是高達300億次。

        iOS,衍生自OS X,本質上是一種Unix作業系統,自下而上可以劃分成四個抽象層:系統層(Core OS)、服務層(Core Services)、媒體層(Media)和Cocoa互動層(Cocoa Touch)。系統層是最底層,包括系統核心、檔案系統、電量管理、通訊協議等作業系統的核心內容;服務層在核心層基礎上提供了網路服務、檔案訪問、執行緒、定位等能力;媒體層主要實現對多媒體的訪問,比如:圖片、文件、音訊、視訊等,同時也包括圖形渲染、動畫效果等內容;Cocoa互動層是大家最常接觸到的,包括使用者互動和一些裝置介面,比如:多點觸控的手勢操作:輕按(Tap)、長按(Long-Press)、平移(Pan)、捏合(Pinch)、撐開(Stretch)、旋轉(Rotate)以及更多組合手勢。目前iOS最新版本是6.0,已應用於蘋果的多種觸控式裝置:iPhone/iPad/iPod Touch/Apple TV等。

        iOS SDK,提供了一系列iOS開發的框架、工具和模板,在iOS釋出之初賈伯斯就高調透露會盡快提供開發者工具包,讓第三方開發人員可以為iOS擴充套件新功能,並因此得到付費分成,於是iOS SDK的主要程式語言“Object-C”迅速流行起來。Object-C是由C擴充套件而來,語法要求相對嚴格,假如你只熟悉.NET/Java開發,也不必擔心,因為Object-C是完全物件導向的,封裝、繼承一樣都不少,而MVC模式(Model-View-Controller)也讓程式結構非常清晰。新手剛開始可能會感覺其語法和構造很怪異,但實際上程式碼的可讀性非常好,此外根據實際專案的需求,也可以採用C、C++和Object-C的混合編譯。如果說還有困擾的話,那肯定是 “記憶體管理和指標”,因為其他高階程式語言中都有垃圾自動回收機制,開發人員也早已習慣與此,轉到Object-C後很容易忘記手動釋放記憶體,從而造成記憶體洩露,好訊息是iOS 5.0已引入ARC機制(Automatic Reference Counting),減少了記憶體管理的步驟。最後還要贊一下高度模擬的“模擬器”,真的非常好用,能夠在iPhone和iPad間隨時切換,模擬位置定位、裝置晃動...使除錯更加方便和高效。

    *關於iOS的更多介紹可參考蘋果官方網站:http://www.apple.com.cn/ios/

1.2   ArcGIS for iOS簡介

        Esri(美國環境系統研究所公司)是行業內首個提出“雲 + 端”發展戰略的企業GIS平臺廠商,iPhone/iPad毫無疑問是重要的移動“端”之一,於是2009年底Esri宣佈了ArcGIS for iOS 計劃,並於第二年夏天釋出1.0版App和API,作為一款免費應用,ArcGIS App釋出的第一週就有來自全球20多個國家超過5,000次的下載量,反響還算不錯。經過不斷更新,目前最新版本是2.3.2,官方產品名稱是ArcGIS Runtime for iOS,但我還是習慣稱之為ArcGIS for iOS,簡稱AGS4iOS。

        ArcGIS for iOS包括執行時和SDK,開發者基於SDK能夠快速定製出使用者所需的地圖應用,功能包括:地圖瀏覽、資訊查詢、地址匹配、地理分析和更多自定義能力。其中包括了原生的Object-C動態庫、幫助文件和示例模板,如果你瞭解ArcGIS Web API,就會發現動態庫的介面都很熟悉,簡直就是Web API的原生實現,只不過額外增加了iOS移動裝置的特性,比如用手勢來控制地圖進行漫遊和縮放。幫助文件和示例模板降低了開發者的入門難度,但幫助文件還只有E文,所以我才來班門弄斧搞這個中文教程。

        接下來的文章中我將依次介紹上述功能的實現,但假如你是個急脾氣,想先體驗體驗,建議你直接去App Store搜尋“ArcGIS”或“Esri”,結果會列出一大堆應用,它們都是基於ArcGIS for iOS SDK二次開發的。

        *更多介紹可參考Esri官方網站:http://resources.arcgis.com/en/help/runtime-ios-sdk

        另外推薦閱讀博文: ArcGIS Runtime SDK  for iOS開發介紹:http://www.cnblogs.com/esrichina/archive/2012/10/25/2738809.html 



相關文章