Overview

Over the rest of this course, we’ll be working with version 4.x of the ArcGIS Maps SDK (Software Development Kit) for JavaScript. This version represents a major change from the previous one (3.x) in terms of both coding syntax and what you can do with the SDK. Probably the biggest upgrade was in the ability to develop 3D apps that run directly in the browser without the need for a plugin. One of the best resources for ArcGIS Maps SDK for JS developers is the SDK’s documentation (https://developers.arcgis.com/javascript/latest/). It provides a slew of sample pages that demonstrate how to accomplish various tasks with the SDK. A good method for learning the SDK, especially for novice developers, is to find a sample that does something close to what you’d like and modify it to your liking. So we’ll develop our first simple apps by taking that approach.

Note: Esri began using the ArcGIS Maps SDK for JavaScript branding for this technology in December 2022.  Prior to that, it was referred to as the ArcGIS API for JavaScript, or simply the JavaScript API.  I've  attempted to update the name to the current nomenclature throughout the class lessons, but if you happen to see the old name, rest assured that we're talking about the same technology.   

Objectives

At the successful completion of this lesson, you should be able to:

  • incorporate the Esri ArcGIS Maps SDK for JavaScript into a web page through a content delivery network or downloaded locally;
  • describe how Asynchronous Module Declaration (AMD) works;
  • orient yourself to the ArcGIS Maps SDK for JavaScript documentation at https://developers.arcgis.com/javascript/latest/;
  • navigate and interpret the Maps SDK for JS Core API Reference;
  • modify Esri samples in their code sandbox and/or CodePen;
  • identify the foundational classes in the SDK (Map, MapView, SceneView) and describe the relationships between them;
  • incorporate web maps like you created in Lesson 1 and web scenes into a JS app;
  • navigate a 3D scene;
  • set object properties through their constructor or after initialization;
  • use autocasting to avoid explicitly importing certain modules

Questions?

If you have any questions now or at any point during this week, please feel free to post them to the Lesson 4 Discussion Forum. (That forum can be accessed at any time by clicking on the Discussions tab.)