What is the best process to migrate from version 3.x to version 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.18.
What is the status of ArcGIS API 3.x for JavaScript?
We are continuing to release version 3.x with bug fixes only (essentially maintenance mode). It is slated to be retired on August 1, 2022 however we will continue to host all versions on our CDN for the foreseeable future (so apps built with older versions of the API will continue to have access beyond the retirement date). See the Product Life Cycle document for more information.
Our premier web mapping API, version 4.x, now offers optimized performance and an extensive suite of capabilities far beyond what 3.x provides with a few exceptions. Developers should use version 4.x for all new web apps and evaluate whether it makes sense to migrate existing 3.x-based applications to 4.x based on app requirements and strategy.
When will the ArcGIS API 4.x for JavaScript have full editing support?
The 4.x API supports the ability to add, update and delete feature data in 2D and 3D using the Editor widget as of version 4.11 and FeatureTable widget as of version 4.16. The capabilities include viewing and editing attachments in both the Editor and Popup widgets as of version 4.15. Here’s a sample app demonstrating using popups with attachments. For an overview of capabilities check out the Web Editing in 2D and 3D technical session video.
Additional editing and drawing support will be released in a phased approach. This includes more sophisticated sketching capabilities and editing related records. Full editing support is planned for 2021.
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 frameworks (e.g. React, Angular) and build tools?
Yes, see the Introduction to tooling guide topic for more information.
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?
We release four times a year. Version 4.19 is planned for spring 2021, and version 4.20 is planned for summer 2021.
How are breaking changes managed with the ArcGIS API for JavaScript?
Before upgrading to a newer version of the API, we recommend thoroughly reviewing the latest breaking changes section of the release notes. Please refer to the Breaking changes guide topic for a complete list of breaking changes across all releases of the 4x API. Here are our general guidelines for introducing breaking changes:
- Major breaking changes are phased in over three or more releases. An example of this was the switch to WebGL-only rendering. The first release offers the functionality as opt-in. In the second release the functionality is on by default with an opt-out option. Then after the third release the functionality is removed.
- Minor breaking changes, such as a property that was renamed, is phased in over two or more releases. The first release provides a console message and documentation update. After two or more releases the functionality is removed.
While we follow these guidelines as much as possible, there are infrequent circumstances when we will introduce changes without prior notice. For example, breaking changes related to browser security updates. Another example could be changes required in order to introduce a new feature: in this scenario we will weigh delaying the release of the feature against the downside of introducing a breaking change without notice.
What does the beta tag mean for capabilities specific to ArcGIS API for JavaScript?
Production releases of the ArcGIS API for JavaScript sometimes have one or more capabilities that are released with a beta label. If you try out a feature in beta and it meets your app's requirements, you can use it in your app. Here is what the beta label means:
- We are interested in gathering feedback with respect to ease of use of the API and whether the functionality adequately meets developer use-cases.
- In some cases, aspects of the capability haven't been implemented yet, for example it might not support all layer types yet. In those cases, limitations will be noted in the API reference.
- Beta functionality is tested but still provisional. API, behavior and end-user experience might change based on feedback or an improved design.
- Configuration for some beta capabilities may not be saved to web maps and web scenes.
- If you later decide to upgrade your application to a new API version, there might be code changes required in order for the capability to continue to work properly (due to # 3 above).
- Esri's standard policies for beta software can be found at https://www.esri.com/content/dam/esrisites/en-us/media/legal/ma-translations/english.pdf.
What is the best way to come up to speed on building 3D web apps?
For learning about 3D basics in the 4.x API, check out the Fundamentals for Building 3D Web Apps Developer Summit technical session video. It provides an overview of the 3D platform, core concepts, key API functionality, data and more. There are also several 10 minute, step-by-step coding tutorials: Creating a starter app and Add layers to a 3D scene. And, you can also learn about visualization points with 3D symbols.
Does 3D run on the browser on my phone?
Yes, the 4.x API works with 3D scenes in the browser on your phone without a plugin. All you need is a URL to your app to interact with your data in 3D. Here’s a helpful video on building progressive web applications with the 4.x API. And here is a blog discussing an interesting example of 3D web mapping on mobile devices. The Hardware Requirements page has more information as well as a list of supported mobile devices.
Where can I learn about using BIM with the ArcGIS API for JavaScript?
There are multiple resources related to using BIM, or Building Information Modeling, data with the 4.x API including videos, blog posts and samples. Here are two DevSummit technical session videos: Create 3D Planning Web Apps using BIM and Editing Capabilities and Roadmap for BIM-GIS Interoperability. There is also blog post that discusses Common Patterns for BIM and GIS Integration. The blog covers drivers for integration, patterns for data interchange and more. There are also several API samples.
Where can I learn about and find data for 3D web apps?
Working in 3D, you can incorporate real-world elements with your content such as variations in terrain and realistic rendering of trees, buildings, and subsurface geology. Learn about the different types of scene layers for displaying and analyzing 3D data with the 4.x API. You can also browse for ready-made example 3D scenes in the ArcGIS Living Atlas. There is a Practical Guide for Building a 3D Web App from 2D data technical session video where you learn about building sophisticated 3D apps that leverage modern browser technology to render your 2D features with 3D symbology.
Which versions of ArcGIS Enterprise does 4.x work with?
The ArcGIS API for JavaScript 4.x works with supported versions of ArcGIS Enterprise - see Product Life Cycle document. Note that for example, ArcGIS 10.3 was retired on December 1, 2020. 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.