Which version of the ArcGIS API for JavaScript should I use now? 3.25 or 4.8?

See the Choose a version topic for more information.

I have an app built with the 3.x version of the ArcGIS API for JavaScript and I want to take advantage of some of the features in version 4. What is the best process to migrate to 4.x?

There have been significant changes to the object model in order to enable higher productivity and effectiveness. Due to these major changes in the API, the cleanest approach is to re-write apps from scratch when building with the 4.x API. For more information, see Migrating from 3.x to 4.8.

Does current version of 4.x have all of the features of 3.x?

No, not yet. We are working hard to build a full-featured API that will not only meet but exceed 3.x capabilities. See Choose a version for more information, or review the 4.8 API reference.

When will the ArcGIS API 4.x for JavaScript have full editing support?

The 4.x API supports the ability to edit feature data through the feature layer as well as basic 2D drawing capabilities. An initial version of the 4.x editing widget is targeted for the end of 2018; additional editing and drawing support will be released in a phased approach. This includes: more sophisticated sketching capabilities, attribute inspection, attachment editing and a template picker. Full editing support is planned for the first half of 2019.

How do I know what is comparable from 3.x to 4.x?

See the 3x to 4x functionality matrix topic for more information.

Can I use the ArcGIS API for JavaScript with other JavaScript frameworks (e.g., React, Angular)?

Yes, there are a variety of github projects, libraries and samples that offer examples for integrating the ArcGIS API for JavaScript with popular third-party frameworks such as React, Angular, Vue and Ember. You can read more about it in the Using Framework topic.

If you are using a framework that works well with the Webpack module bundler, the ArcGIS Webpack Plugin is now available. This will be of interest for developers who want to bring the ArcGIS API for JavaScript modules into their build process.

Why don't I see error messages in the console when working with promises?

When working with methods and classes that return promises, error messages can be captured and logged to the console using the otherwise() method. However, if you would like the app to automatically log these errors, you can paste the following code inside a script tag at the top of your app prior to loading the API.

dojoConfig: {
  has: {
    // 1: enables a better debugging support while having an impact on the performance of the app
    "config-deferredInstrumentation": 1

Note that this comes at a performance cost; therefore, it is best used during the development cycle and not for production apps.

How do I access features from my feature layer with mouse clicks?

Use either the MapView.hitTest or SceneView.hitTest methods to search for graphics that intersect the specified screen coordinates. See the Access features with click events for a sample on how this works.

What is the planned release schedule for future 4.x releases?

Version 4.9 is planned for fall 2018, and version 4.10 is planned for winter 2018.

What is the best way to come up to speed on building 3D web apps?

See the Getting Started with 3D in the ArcGIS API for JavaScript Developer Summit talk that discusses some things to take into consideration when working with 3d scenes.

Does 3D run on the browser on my phone?

Yes. Performance has been enhanced in the ArcGIS API for JavaScript to enable 3D scenes in the browser on your phone without a plugin. All your end users need is a URL to your app and they can interact with your data in 3D. Check out this blog for an interesting example of 3D web mapping on mobile devices. See Hardware requirements for 3D for more information on supported devices.

I have an app built on 3.x. What is the roadmap for 3.x and how long will technical support be available?

Esri will actively develop and release the 3.x API until at least Q2 2019. While the majority of our development efforts occur in 4.x, some key capabilities are also brought into 3.x such as the WebGL-enabled feature layer and client-side projection support. Technical support will be available until July 1, 2022. The 3.x versions of the API will be hosted on Esri's CDN for the foreseeable future, therefore apps that are built on 3.x versions of the API will continue to work beyond the support period. See the Product Life Cycle document for more information regarding 3.x releases and the support plan going forward.

Will new features continue to be added to the 3.x release?

We are still actively working on building new capabilities and enhancements into the 3.x API. Some of the new features planned for future 3.x milestones are:

  • New strategies for working with big data. For example, developers will be able to visualize data using various aggregation techniques such as clustering and binning.
  • Continually growing suite of renderers for creating smarter maps
  • FeatureTable enhancements
  • VectorTileLayer improvements
  • OGC improvements
  • Increased ArcGIS platform integration
  • Easier to work with time periods like "last week" or "by weekday"

Which versions of ArcGIS does 4.x work with?

The ArcGIS API for JavaScript 4.x works with supported versions of ArcGIS Server - see Product Life Cycle document. Note that for example, ArcGIS 10.1 was retired on Jan 1, 2018. Non-supported versions might still work to different degrees, but are not being tested (or supported) with the API.

Am I allowed to modify the ArcGIS API for JavaScript?

No. The code for the ArcGIS API for JavaScript cannot be modified.