This article attempts to explain the relationship between the new ArcGIS runtime sdks and the ArcGIS mobile SDK, for IOS/Windows Phone/Android, and the future development of these three mobile sdks.
ArcGIS runtime sdks are a set of cross-platform and lightweight GIS development sdks across desktops and mobile terminals released along with ArcGIS 10.1 beta.
We can see that the ArcGIS runtime sdks family includes the following:
- ArcGIS runtime SDK for Android
- ArcGIS runtime SDK for iOS
- ArcGIS runtime SDK for Windows Phone
- ArcGIS runtime SDK for Windows Mobile
- ArcGIS runtime SDK for Java
- ArcGIS runtime SDK for QT
- ArcGIS rutnime SDK for WPF
ArcGIS runtime sdks span between the desktop and mobile terminals because they contain development sdks for mobile platforms such as IOS, Windows Phone, and Android, it also contains the WPF, Java, QT and other sdks that can develop traditional desktop programs (C/S programs; the last three sdks can be used to develop applications with rich interaction effects and good experience on Windows and Linux platforms. In fact, ArcGIS runtime also includes some ready-made applications, such as the "ArcGIS" program that can be downloaded from IOS, Windows Phone, and Android, and the "ArcGIS" program in ArcGIS mobile.
Speaking of light weight, we should first look at some changes in the product architecture of ArcGIS 10.1.
In ArcGIS 10.1, product division is clearer and simpler. It is mainly divided into four parts: desktop GIS (traditional ArcMAP, arcglobe, etc.), servergis (New Architecture ArcGIS Server), lightweight GIS (ArcGIS Explorer, runtime sdks and their corresponding applications) and ArcGIS online. The first three parts focus on the cloud GIS platform ArcGIS online, which interacts with ArcGIS online to varying degrees or can directly deploy data, or as its client (cloud + end ). Lightweight GIS is designed to access the GIS capabilities provided by the cloud platform from any platform or device.
ArcGIS runtime sdks were born in this context. In fact, it can be divided into two interpretations: narrow sense and broad sense. In the narrow sense, ArcGIS runtime SDK refers to WPF, Java, and QT on the desktop. Their messages have been sent out as early as half a year ago. They emerged to gradually replace the powerful and bloated ArcGIS Engine product. Anyone who has done engine development knows that, even the simplest Map Display requirement, the running time of ArcGIS Engine runtime must be installed on the client theoretically (note that it is not ArcGIS runtime ), the installation package is usually about MB. And use the new ArcGIS
The runtime SDK for WPF/Java/Qt is a completely green program and does not need to install any components on the client (. net Framework and JRE can be run, because all the dependent libraries are directly copied together with the program. If you like the deployment process of the program developed by ArcGIS runtime SDK-copy to a USB flash drive/insert to the target computer/run it, you must also like the uninstallation process-close the program/unplug the USB flash drive.
In a broad sense, ArcGIS runtime sdks are collectively referred to as sdks in the above list. Apart from the narrow ArcGIS runtime SDK, we can see that the mobile part is added: ArcGIS runtime SDK for IOS/Windows Phone/Android/Windows Mobile, which is actually a new bottle of old wine, corresponding to the previous ArcGIS SDK for IOS/Windows Phone/Android and ArcGIS mobile, only the product name is changed. Why is the name changed? Why is ArcGIS mobile an "alternative? From ArcGIS
Start with the runtime SDK function.
If you have developed ArcGIS web API (ArcGIS API for JavaScript/flex/Silverlight), you should be able to quickly understand all the features of the narrow runtime product. Currently, ArcGIS runtime functions are basically the same as ArcGIS Web APIs and ArcGIS mobile APIs (IOS, Windows Phone, and Android), all of which are based on ArcGIS rest APIs. For example, map service (Dynamic/cache) loading, graphicslayer/featurelayer, featureservice-based data editing, identify/find/query operations, geometryservice, geoprocessing
Service calls. Their development ideas and code compilation are almost the same. For example, ArcGIS API for Silverlight and the current ArcGIS runtime SDK for WPF are exactly the same (the latter was formerly ArcGIS API for WPF ). However, in a narrow sense, The ArcGIS runtime SDK differs from the ArcGIS web API in that it can load local data, including map package/tile package/locator package/geoprocessing package. Map package is a compressed package that includes the. mxd document and all referenced data. The rest are similar. The earliest package is the layerpackage in 9.3.1. It not only contains the. lyr layer configuration information, but also packs the actual data referenced by the layer. Early ArcGIS
The online platform allows users to upload layerpackage for sharing. Now it seems that the concept of package is not extended until the emergence of the runtime product, and more data sharing channels are provided for the so-called cloud GIS in the future. Does reading local data damage the ArcGIS rest API-based framework? Actually no. ArcGIS API for WPF/Java/Qt has a built-in C ++ write Web server. After reading local data, the rest Service on the web server is automatically released for use by the runtime SDK. Therefore, all functions are provided by the rest API. Collapse the digress, ArcGIS
The framework of the runtime SDK is for lightweight GIS products (excluding ArcGIS Web APIs). It has a unified programming model and can use consistent development ideas to develop C/S, and mobile applications (Web APIs develop B/S applications), providing great convenience for developers. This is also why ArcGIS runtime sdks are collectively called.
Let's talk about ArcGIS runtime for Windows Mobile (the original ArcGIS mobile. It is reasonable to classify it as ArcGIS runtime SDK. If you have used ArcGIS mobile, you must know that one of its core concepts is to divide the data into basemap layer and operational layer. The former refers to the data that can serve as a visual reference, generally a grid basemap or map service slice. The latter refers to business data including vector information. The package involved in ArcGIS runtime exactly corresponds to it. Basemap for tile package
Layer. The map package corresponds to the operational layer. It can be said that the design concept of ArcGIS mobile has been well continued throughout the ArcGIS runtime product family. In fact, ArcGIS mobile is a very good product ......
By now, the new three mobile sdks (IOS, Windows Phone, and Android) are also categorized as ArcGIS runtime sdks, which are mainly based on the Rest API framework. In addition, it is certain that they all use the same data model, that is, various packages. It is not difficult to infer that the offline function of the mobile SDK on iOS, Windows Phone, and Android platforms will also depend on the tile package and map package. ArcGIS API for iOS 2.1 (later called ArcGIS runtime SDK) Just released last week
In the for iOS version, this speculation has been confirmed-added support for the tile package, implementing the native offline feature of the basemap data. The offline functions of the other two mobile platforms are coming soon.
The revolution triggered by the iPad product has begun. The number of mobile devices is growing explosively, and concepts between desktop devices and mobile devices are becoming increasingly vague. The release of Windows 8 indicates that Microsoft has made a change, that is, it can run on a desktop or tablet device. Some people say that Windows 8 is no less meaningful to Microsoft than Windows 95 in the past. I agree with this. ESRI has also made positive changes, including the new product system, the new product name, and the new ArcGIS runtime.
Here is an example:
Using ArcGIS runtime can bring us a user experience of almost web development. If you have used ArcGIS Server for Silverlight development, I believe you have a deep understanding, next we will use visual stuido 2010 to create a simple ArcGIS runtime application. Now we start our first application. (ensure that arcigis runtime and the corresponding SDK are installed on the machine. I installed the WPF SDK ).
When developing ArcGIS runtime, mxd documents cannot be loaded. Instead, mpk, TPK, GPK, and APK can be used. mpk can be produced using ArcMAP and is a new function of arcgis10.0, TPK is short for (tile Package). In ArcGIS 10, to improve performance, there is a basemap function, and TPK is for this purpose. however, to create a TPK, you need to create a TPK for ArcGIS 10.1. APK and GPK correspond to geocoding and geoprocessing respectively. From the service perspective, they are geocoding and geopreocessing.
Service, which is added in ArcGIS 10.1. For the mpk of ArcGIS runtime, mxd cannot be used during creation, but MSD must be used (ArcGIS 10.1 provides the corresponding tool). Otherwise, the following prompt will be prompted during loading:
1.1 start vs2010. create a project/ArcGIS/WPF and find arcgiswpf.
Map application. For example:
1.2 Add the following code to the XAML file.
My friends who have used ArcGIS API for Silverlight may feel more cordial when they see these labels.
1.3 grant permissions by entering the following information in the main function of XAML. CS.
1.4 effect after running
NOTE: If no authorization is granted, we can see the following results:
1.5 access local resources through code
Add the following snippet to the main function to see the same effect as above.
1.6 access services on ArcGIS online
When using ArcGIS API for Silverlight, we often Access Services released by ArcGIS Server or services on ArcGIS online. When introducing ArcGIS runtime, we said that ArcGIS runtime can access online services, for friends who use ArcGIS API for Silverlight, they are very happy. They can make similar server effects on the desktop without modifying any code. The effect is as follows:
1.7 summary steps for accessing local resources
1. Income:
2. Check the license (available but not available ):
3. instantiate the corresponding service object;
4. Other operations (analysis, query, etc)
Reference: http://blog.newnaw.com/
Http://bbs.esrichina-bj.cn/ESRI/thread-104705-1-1.html