One of the main things that Esri wanted to introduce in version 4 of the ArcGIS API for JavaScript is support for 3D. This would have been a very messy addition to the API in its current format and therefore a new design was required. One of the most obvious changes is the way you create standard 2D maps in v4. In order to understand these differences, consider the following diagram:
The first thing to notice in version 4 of the ArcGIS API for JavaScript is that the map class exists purely as a container for GIS services. As a pure data source, it has no visible attributes and is therefore never actually rendered. This allows the API to deal with both 2D and 3D representations of the map and is very powerful anyway, because it lets us access the underlying layers in our service without ever having to draw a map. Instead, the visual representation of...