Wednesday, March 26, 2014

Creating Quick, Responsive Web and Mobile Map Applications

It is not easy to find a GIS web app builder that takes you all the way from the basic initial steps of familiarizing yourself with HMTL, CSS, and JavaScript to fairly complicated web applications. 

Building Web and Mobile ArcGIS Server Applications with JavaScript, by Eric Pimpler and published by Packt Publishing has two main advantages: first, you can use high-quality GIS data (or at least data that is specific to your needs), and second, you can create light apps that work quickly over a number of different devices. You’re not likely to have obsolete apps using HTML 5 and JavaScript, which is what is featured here.

The book is very logically organized: you start by creating a base map, and then add layers of data to the map, and then have it all display as a web page. You’re able to add different types of data layers, which include tiled, dynamic, and feature. The section on adding data layers is very robust (as it should be), and it’s followed by adding Graphics to the Map. It’s important to keep in mind that the graphics layer sits on top of the other layers – so, some data management / housekeeping / filing protocols and customs are very helpful here. In this book, the basemaps are provided by ArcGIS Online.

For a person who does not work with GIS data or ArcGIS every day, it’s probably best to work through the examples and see how they’re being developed.  In that case, I’d look at chapter 8, “Turning Addresses into Points and Points into Addresses,” and then work through the example a couple of times. The chapter covers geocoding, which is at the heart of web mapping applications. It’s the way you turn physical addresses into latitude and longitude coordinates.  

The book clearly demonstrates how to write and test the JavaScript code in the JavaScript Sandbox, and then it gives you a chance to practice. I also like the little tips and tricks – example, use Notepad++ instead of Notepad for coding (to avoid the extraneous code problems of Word, etc.).

In addition to Geocoding, there is a very clear and easy-to-follow chapter on using Geoprocessor, which is very good for developing models.  

The appendix gives an example of using ArcGIS templates and also Dojo in order to develop user interfaces. This section alone is worth the price of the book. The instructions are very clear and the screenshots appropriate and easy to follow.

Some of the chapters contain a great deal of code and not perhaps as much detailed explanation as might be useful for people who are fairly new. It would not be a bad idea to have more callouts in the code to point to what exactly is happening.

Overall, this is a great manual – very practical and extremely timely.  

Just a last thought -- when you first read the title of the book, Building Web and Mobile ArcGIS Server Applications with JavaScript, you may immediately ask yourself two questions:  first, why ArcGIS and why not Google Earth or Google Maps integrated apps?; and second, why JavaScript?

First, ArcGIS Server is the most popular and widely-used platform for developing GIS applications for the web. It uses many different dynamic map sources, and is not tied to just one (such as Google Earth). So, if you use ArcGIS Server, you can incorporate the best possible map sources / GIS information.

Second, JavaScript works really well with modern web browsers (Internet Explorer, Firefox, Chrome, and Safari), and it works well with HTML 5. This allows maximum flexibility with mobile applications. Using JavaScript in web applications will optimize performance because the applications are dynamic and do not have to return to the server for data. As a result, they are very responsive and use-friendly, not to mention that they are also faster. 

Blog Archive