NSager-esristaff

ArcGIS API for JavaScript 4.12 and 3.29

Blog Post created by NSager-esristaff Employee on Jul 2, 2019

Today, we are pleased to release versions 4.12 and 3.29 of the ArcGIS API for JavaScript. Here are some of the 4.12 highlights (please refer to the 3.29 link at the end for 3.x updates).

 

The Stats

We added 42 new classes, 11 new widgets, and fixed 34 bugs. Also, 93% of the codebase is now written in TypeScript.

 

TimeSlider

 

Time

Time is a key component of this release. We added a TimeInterval class to describe a length of time in different temporal units, a TimeSlider widget to simplify time manipulation in your application, and a timeExtent property in 2D MapViews and 3D SceneViews to easily update all time aware layers.

https://developers.arcgis.com/javascript/latest/guide/release-notes/#time

 

Performance

Loading, rendering, fetching, drawing, all these verbal nouns saw significant improvements with this release. Parallelization of requests. Tile processing optimizations. We’re talking revamped tessellators folks. Who wouldn’t want the new I3S specification version 1.7 to make your scene layers load 2x faster? Or how about pure client-side queries in 3D that don't require a round-trip to the server?

https://developers.arcgis.com/javascript/latest/guide/release-notes/#performance-improvements

 

Modernization

We take major strides to modernize our API at every release. This modernization allows our API to play nicer with others (e.g. other frameworks, native browser methods, and 3rd party APIs). This time around we made the BeforeInterceptorCallback function asynchronous, so it can now also return a promise. In fact, most asynchronous methods in the API now support an optional abort signal parameter, so they can be canceled and return a promise that will be rejected with an error. Lastly, there is a new has flag available to enable native JavaScript promises. Look out for an upcoming blog post to discuss this further.

https://developers.arcgis.com/javascript/latest/guide/release-notes/#api-modernization

 

Sliders

Note: we’re talking widgets, not small hamburgers. We added a slew of new slider widgets to help you interact with any kind of user input involving numbers or a range of values. You already met the TimeSlider, but we have several more Slider widgets that might interest you, including a base Slider widget, which is a great starting point if you want to make your own customized slider experience.

https://developers.arcgis.com/javascript/latest/guide/release-notes/#new-widgets

 

And More...

There’s so much more to cover. Realistic water rendering with the new WaterSymbol3DLayer. New 2D WebStyleSymbols (used to be only available in 3D)! Scale-dependent visualizations for smart mapping. Even better labeling options and behaviors??

 

It’s been a great release, and we are excited to share it with you. If we don’t see you at the UC in San Diego next week, please feel free to let us know how we’re doing via email/GeoNet/social media. Couple more links to share:

 

Release Blog

https://www.esri.com/arcgis-blog/products/js-api-arcgis/announcements/whats-new-in-arcgis-api-for-javascript-july-2019

 

Video: What's new with the ArcGIS API for JavaScript 4.12

https://www.youtube.com/watch?v=J7LPAQx8IBg

 

4.12 Release Notes

https://developers.arcgis.com/javascript/latest/guide/release-notes/

 

4.12 Samples

https://developers.arcgis.com/javascript/latest/sample-code/?search=4.12

 

3.29 What’s New

https://developers.arcgis.com/javascript/3/jshelp/whats_new.html

Outcomes