Book Image

Learning ArcGIS Runtime SDK for .NET

By : Ron Vincent
Book Image

Learning ArcGIS Runtime SDK for .NET

By: Ron Vincent

Overview of this book

ArcGIS is a geographic information system (GIS) that enables you to work with maps and geographic information. It can be used to create and utilize maps, compile geographic data, analyze mapped information, share and discover geographic information and manage geographic information in a database. This book starts by showing you where ArcGIS Runtime fits within Esri’s overall platform strategy. You'll create an initial map using the SDK, then use it to get an understanding of the MVVM model. You'll find out about the different kinds of layers and start adding layers, and you'll learn to transform maps into a 3D scene. The next chapters will help you comprehend and extract information contained in the maps using co-ordinates and layer objects. Towards the end, you will learn to set the symbology, decide whether to use 2D or 3D, see how to implement 2D or 3D, and learn to search and find objects. You'll also get to grips with many other standard features of the Application Programming Interface (API), including create applications and finally testing, licensing, and deploying them. Once completed, you will be able to meet most of the common requirements of any mapping application for desktop or mobile platforms.
Table of Contents (19 chapters)
Learning ArcGIS Runtime SDK for .NET
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
3
Maps and Layers
12
Configuring, Licensing, and Deploying
Index

Native versus web versus hybrid


Deciding on whether to develop a web or native app is the most important decision you'll make once the app has been approved to be developed by your users or customer. In some cases, this is something already decided by the user or customer because they already have something in mind. On the other hand, if you're building an app for public consumption, you and your team will have to make the decision. No matter what, it can sometimes be a difficult decision, so it's important you understand the factors. Here are some of the deciding factors:

  • Are the users connected and/or disconnected?

  • Do you need device sensors?

  • Do you have online and/or offline data sources? Can you create offline content?

  • What kind of analytical capabilities are required?

  • What's your budget?

  • Do your developers have the skills for a native or web app?

  • How frequently does your app need to be updated?

  • How large is the data?

  • How many users are there?

  • Do you need secure storage of data?

  • How much time do you have to develop?

  • How often does the data change?

  • What kind of expertise do you need?

  • Can your users easily download the native app?

  • Does the app need to do heavy processing? If so, do you have the processing power on the server, or if this is native, can the device handle it?

  • Does your organization have a hardware platform policy?

  • Will your users accept the cost?

  • Is there a maintenance fee?

That's just a taste of the kinds of question that you need to carefully evaluate. Another important wrinkle in this decision is that sometimes you find you have to combine both web and native. As a developer, I have had to write an app for a large utility that needed to integrate into their enterprise asset system, which used a web app frontend but also required native performance due the volume of the data and the speed at which users drove down the road.

There are no easy answers here. You will need to carefully evaluate your alternatives and make the best decision. Don't be surprised if you start down one path and realize that the other path was more appropriate. If the answer isn't obvious, hire a consultant, review other apps (both native and web), determine the cost, get everyone involved, conduct a proof of concept, and most importantly, be prepared to learn and keep an open mind.