Award winning.
A proud
Esri
business partner.
Together
we can do anything!

ArcGIS JavaScript 4.x Review


ArcGIS Javascript 4.x is here!

ArcGIS Javascript 4.x integrates 2D and 3D into a single easy to use and powerful API. You can build full-featured 3D applications powered by web scenes and include rich information like layers, basemaps and all the great parts of the ArcGIS Enterprise, ArcGIS Online and Enterprise.

ArcGIS JavaScript Image
ArcGIS JavaScript Rocks

The 4.x API is very different from the 3.0. The first thing that I notice is that the DOM (UI) and the Map object are separated. This is really great for custom development and event handling. Creating custom dojo dijits and tailored UI components in the 4.x API is a game changer. By decoupling the UI and the component logic it allows for better integration with javascript frameworks like React, Ember, Angular and MVC’s.

As ArcGIS Online over the last few years has grown in functionality theArcGIS Javascript API has been there all the way with its advancements. The API allows you to work with WebMaps and all of ArcGIS Onlines Item types. Full support for standard layers and server urls plus web resources storage. Integration with GeoProcessing and ArcGIS Pro has grown as well. Programming patterns and syntax between 2D and 3D are identical.

As of today, not all 2D layers and capabilities supported in the 3.x API are supported in 4.x. The API will rapidly evolve so that it not only matches the features in 3.x but far extends its reach.

This is an overview of some key capabilities of the 4.x API:

  • Make a 3D map as easily as a 2D map
  • Easily integrate with your web GIS
  • Author, manage, and mash-up layers using layer items
  • Build a great user experience
  • Create meaningful visualizations of your data
  • Enable interactivity using the local geometry engine
  • Bring in vector tile layers
  • Login to the platform and access secured content
  • Integrate GIS workflows using tasks
  • Work with 3rd Party Tools
  • Make a 3D map as easily as a 2D map
  • Easily integrate with your web GIS

With 3D maps ArcGIS API for JavaScript you can create web scenes by styling your map in ArcGIS Online or Portal for ArcGIS, saving it as a web scene, and then loading it in your app using the web scene’s ID.

Author, manage, and mash-up layers using layer items by setting up initial extent, rendering, filtering, pop-ups, and other settings. Layer items represent individual map layers so you can choose the individual layers needed for each application. For team environments, others can also consume your layers.

Widgets are the UI building blocks. You can use API widgets as-is or style them using CSS to change specific aspects of the widget such as button color.

The API’s local geometry engine can be used to build interactive apps. Perform operations such as buffer, measurement, and spatial intersect without having to make calls to the server –apps can display immediate feedback to the user. The geometry engine will also enable in vector tile layers.

Another great advancement in the 4.x API is support for vector tiles. I would definitely look into implementing ArcGIS Online vector tile basemaps in your next project.

Support for end users to login to the platform and access secured content using OAuth, or token-based authentication has been improving. Logins for your apps have never been easier.

Working with 3rd Party Tools in this new version of the ArcGIS Javascript API widgets have been reengineered to enhance their extensibility and customization. Each widget’s presentation is now separate from its properties, methods, and data.

Integration with frameworks can make code more maintainable and facilitate development when you are collaborating with other developers. Version 4.x is a more consistent API, it is much easier for you to integrate it with other development frameworks.

I look forward to seeing how the ArcGIS Javascript 4.x is preserved in the developers community as features continue to roll out and advance.

Definitely check it out at https://developers.arcgis.com/javascript