ArcGIS Runtime SDK是一整套用於構建原生及跨平臺的地圖應用程序的開發包,包括移動設備的Android、iOS、Windows Phone,針對桌面的.Net、Java、OSX,以及跨平臺的QT。這全部的API基於一個共同的C++內核,並在不一樣平臺上作了對應的封裝,使得在多平臺下的接口風格和編程模型相一致。當咱們在一個平臺上學會了對應sdk的開發流程,在其餘平臺上若是咱們對該平臺比較熟也能夠很快的將知識結構平移過去,快速的適應新平臺的開發工做。html
相信大部分開發者對ArcGIS Runtime SDKs這個名稱並不生疏,它實際上包含了一系列SDKs,用來開發應用於桌面和移動設備的應用程序。在10.2.2以前的版本中,ArcGIS Runtime SDKs包括ArcGIS Runtime SDK for Android、iOS、Windows Phone、Windows Mobile、JavaSE、QT、OS X、Windows Store及WPF共9種。android
2014年3月10號,正式發佈了Runtime SDK的部分10.2.2版本,咱們也初步窺見了10.2.2 Runtime SDK的新成員。在10.2.2的版本中,Esri對Runtime SDKs進行了從新整合,合併或從新設計了一些SDK。數據庫
從下表中能夠看出,Esri是計劃將原來的Runtime SDK for Windows Phone、Windows Store以及WPF這3大SDK整合成一個,他們都是基於.NET技術,開發應用於Windows平臺上的應用,不過可能因爲WPF SDK的技術架構有些特別,整合的工做量比較大,所以重寫了SDK for .Net,並暫時保留了WPF SDK;而且因爲Windows Mobile系統已經很老,Esri在新的Runtime SDKs體系中也並未打算對其進行繼續升級。編程
所以,10.2.2版本中,正式向用戶推薦的SDKs主要有Android、iOS、.Net、Qt、OS X和Java這6種,主要是在Windows平臺上的開發包有較大改動,進行了大量的整合,我想這對.Net開發者們來講真是一個極好的消息。新的Runtime SDKs包括:緩存
10.2.2以前的Runtime SDKs服務器 |
10.2.2版本的Runtime SDKs網絡 |
面向的操做系統架構 |
ArcGIS Runtime SDK for Androidapp |
ArcGIS Runtime SDK for Android框架 |
Android |
ArcGIS Runtime SDK for iOS |
ArcGIS Runtime SDK for iOS |
iOS |
ArcGIS Runtime SDK for Windows Phone |
ArcGIS Runtime SDK for .Net |
Windows Desktop(for WPF開發者) Windows Store(Windows 8.1) Windows Phone 8 |
ArcGIS Runtime SDK for Windows Store |
||
ArcGIS Runtime SDK for WPF |
ArcGIS Runtime SDK for WPF |
Windows Desktop |
ArcGIS Runtime SDK for Windows Mobile |
—— |
—— |
ArcGIS Runtime SDK for QT |
ArcGIS Runtime SDK for Qt |
Windows、Linux(64/32bit) |
ArcGIS Runtime SDK for OS X |
ArcGIS Runtime SDK for OS X |
Mac(Mountain Lion(OS X 10.8)及以上) |
ArcGIS Runtime SDK for JavaSE |
ArcGIS Runtime SDK for Java |
Windows、Linux(64/32bit) |
ArcGIS Runtime SDKs for Smartphones and Tablets是Esri爲開發者提供的移動應用開發包的統稱,Smartphones and Tablets的意思是「智能手機和平板」,顧名思義就知道包括面向Android、iOS和Windows Phone這三大主流移動操做系統的SDKs。在上個小節中已經提到,之後就沒有ArcGIS Runtime SDK for Windows Phone了,統一歸到了ArcGIS Runtime SDK for .Net旗下。
在ArcGIS 10.2.2版本以前,用戶只要註冊了Esri全球帳號,就能夠在Esri的官網上免費下載各個Runtime SDKs安裝包以及其它資料,並基於此進行免費的應用程序開發和部署;但10.2.2版本以後,Esri的移動產品受權策略發生了一些變化,開始區分開發版、基礎版和標準版。針對不一樣的需求咱們選擇的版本不一樣收費策略也將不一樣。
ArcGIS Runtime SDK for Android包括一個用於Android Studio的lib-project,用於eclipse等環境的jar函數庫,提供了豐富的工具、文檔和示例,使用戶可以使用Java構建移動應用程序(這些應用程序將運用ArcGIS for Server提供的強大的製圖、地理編碼、地理處理和自定義功能)並將它們部署到Android系統的智能手機和平板上。
ArcGIS Runtime SDK for Android能夠經過ArcGIS for Server REST服務獲取數據和服務資源。Esri發佈了GeoServices REST Specification,這一標準規定了ArcGIS REST Service各類接口的訪問參數及返回數據的結構,ArcGIS Runtime SDK for Android正是基於這一標準封裝的。其實,ArcGIS基於REST接口的API,包括ArcGIS Runtime SDK for Android/iOS/Windows Phone,ArcGIS API for Flex/ Silverlight/ JavaScript,以及ArcGIS Runtime SDK for Java/.NET,都是基於這一標準進行封裝的。儘管不一樣平臺、不一樣語言的開發包有其本身的特性,但其對應服務端的編程模型是一致的。下圖能很好的說明這一點。
除了ArcGIS for Server,ArcGIS Runtime SDK for Android還能夠經過Portal API輕鬆訪問ArcGIS Online和Portal for ArcGIS上的資源,即與雲創建密切的聯繫。另外,在10.2的版本中,ArcGIS Android SDK也能使用本地離線的數據,做爲應用的重要數據源,這也是10.2的重大更新,被多數用戶和開發者所關注,後面教程中也會詳細介紹。截止目前寫稿爲止,ArcGIS Runtime SDK for Android最新版本是10.2.6-u2。有關ArcGIS Runtime SDK for Android 10.2.6-u2的全部資料,包括安裝包下載、系統支持、安裝環境說明、API接口說明、Sample、在線幫助等,都能從最新的ArcGIS for Developer站點https://developers.arcgis.com/android/查找到。
ArcGIS for Android從產品上來說分爲兩個部分,一是給開發者準備的ArcGIS Runtime SDK for Android開發包,專用來開發Android設備上的移動GIS應用;另外一個是名爲「ArcGIS」的app,它使用ArcGIS Runtime SDK for Android開發包開發,具有經常使用的和典型的GIS功能,拿來即用,並可在Google Play等商店免費下載。
ArcGIS Runtime SDK for Android開發包的發展歷程以下:
說明:通常官網僅提供最新的SDK,以及部分版本SDK下載,對於須要使用舊版SDK的朋友能夠加羣 ArcGIS Runtime SDK 249819194 在羣空間下載所需歷史版本。
使用ArcGIS Runtime SDK for Android,用戶可以開發出功能強大的移動端GIS應用程序並將它們部署到Android系統的智能手機和平板上,主要功能可覆蓋: