{"id":2942023,"date":"2025-10-09T11:00:53","date_gmt":"2025-10-09T18:00:53","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2942023"},"modified":"2025-10-16T06:35:17","modified_gmt":"2025-10-16T13:35:17","slug":"arcgis-hosted-data-services-visualization-interactivity-differences","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences","title":{"rendered":"ArcGIS Hosted Data Services: Visualization &#038; Interactivity Differences"},"author":293052,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[738191],"tags":[176482,780819,29651,780817,780816],"industry":[],"product":[761642,36551,36601],"class_list":["post-2942023","blog","type-blog","status-publish","format-standard","hentry","category-developers","tag-feature-service","tag-hosted-data-services-blog-series","tag-hosted-services","tag-map-tile-service","tag-vector-tile-service","product-platform","product-arcgis-online","product-developers"],"acf":{"short_description":"Understand how services and SDKs impact performance, UX, and visualization quality, so you can make better decisions.","flexible_content":[{"acf_fc_layout":"content","content":"<p style=\"font-size: 0.9rem; text-align: left; color: #797979;\"><em><strong>Last updated<\/strong>: Oct 16, 2025<\/em><\/p>\n<p>After learning <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-retrieval-and-loading-time-differences\">how hosted data services work behind the scenes and the SDK trade-offs<\/a>, this article compares the <strong>visual customization and data interaction capabilities<\/strong> of each service <strong>and how they are supported across SDKs<\/strong>.<\/p>\n<p><small><strong>Note<\/strong>: We will see that most of these capabilities are <strong>highly<\/strong> dependent on the client SDK used.<\/small><\/p>\n<p>Although this is a technical article, it\u2019s intended for anyone involved in designing the final experience of an application, including <strong>client-side developers (web and native), UX\/UI designers, technical leads, solution architects, technical product managers, and performance specialists<\/strong>.<\/p>\n<p>We will cover:<\/p>\n<ul>\n<li><a href=\"#what-each-service-is-optimized-for\">What each service is optimized for<\/a><\/li>\n<li><a href=\"#high-resolution-support\">High resolution support<\/a><\/li>\n<li><a href=\"#basic-client-side-interaction\">Basic client-side interaction<\/a><\/li>\n<li><a href=\"#advanced-client-side-interaction\">Advanced client-side interaction<\/a><\/li>\n<li><a href=\"#basic-client-side-style-customization\">Basic client-side style customization<\/a><\/li>\n<li><a href=\"#advanced-client-side-style-customization\">Advanced client-side style customization<\/a><\/li>\n<li><a href=\"#client-side-performance\">Client-side performance<\/a><\/li>\n<\/ul>\n<p>[<a href=\"https:\/\/en.wikipedia.org\/wiki\/TL;DR\">TL;DR<\/a>] Short on time? Check this table for the key highlights or jump to the <a href=\"#summary\">summary<\/a>:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2942448,"id":2942448,"title":"arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity","filename":"arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity.jpg","filesize":192366,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity","alt":"","author":"293052","description":"","caption":"","name":"arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity","status":"inherit","uploaded_to":2942023,"date":"2025-10-09 11:39:02","modified":"2025-10-09 11:39:02","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1024,"height":509,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity.jpg","medium-width":464,"medium-height":231,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity.jpg","medium_large-width":768,"medium_large-height":382,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity.jpg","large-width":1024,"large-height":509,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity.jpg","1536x1536-width":1024,"1536x1536-height":509,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity.jpg","2048x2048-width":1024,"2048x2048-height":509,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity-826x411.jpg","card_image-width":826,"card_image-height":411,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity.jpg","wide_image-width":1024,"wide_image-height":509}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity.jpg"},{"acf_fc_layout":"content","content":"<p>By the end, you\u2019ll understand which services best fit your needs and how to<strong> combine <\/strong>them.<\/p>\n<p><small><strong>Note:<\/strong> Apps that rely on geospatial data rarely use a single service; instead, they typically utilize a combination of services. That\u2019s why it\u2019s important to select the right one for each type of data and specific functional requirement to optimize performance and deliver a great user experience.<\/small><\/p>\n<details>\n<summary><span style=\"color: #800080;\">Notes on accuracy: Surviving the test of time &#8230;<\/span><\/summary>\n<div>\n<p>As introduced in <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-services-explained-feature-vector-map-tiles-services\">the first article of this series<\/a>, this series is a unified resource to save you time and clarify differences between similar technologies, based on information from official sources.<\/p>\n<p>Technology evolves rapidly, so some details may become outdated. Each article includes references to official documentation, which contains the most up-to-date information. <strong>In case of discrepancies, the official documentation takes precedence<\/strong>.<\/p>\n<p>If you find something unclear or notice an error, contact us at <a href=\"mailto:developers@esri.com\">developers@esri.com<\/a><\/p>\n<\/div>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"what-each-service-is-optimized-for\">What each service is optimized for<\/h2>\n<p>As a reminder from the article on <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-services-use-cases-for-each-type-of-data-service\">use cases for each ArcGIS hosted service<\/a>, each service type is designed and optimized for different purposes:<\/p>\n<ul class=\"spaced\">\n<li><strong>Hosted map tile services<\/strong> for static raster content (e.g., including basemaps, drone imagery, scanned maps, etc). They provide fast, pre-rendered tiles but are non-interactive.<\/li>\n<li><strong>Hosted vector tile services<\/strong>\u00a0are designed for vector data that is relatively stable (i.e., doesn\u2019t change often). They support lighter interactivity, styling, labeling, and zoom-level optimizations, but don\u2019t support advanced queries or editing.<\/li>\n<li><strong>Hosted feature services<\/strong> for operational, interactive data. They let you query, filter, edit, run spatial analysis, and dynamically style data. They are backed by a database or spatial data store, not just pre-rendered tiles, so they support much richer user interaction.<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":2942256,"id":2942256,"title":"arcgis-hosted-data-services","filename":"arcgis-hosted-data-services.jpg","filesize":256153,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\/arcgis-hosted-data-services","alt":"","author":"293052","description":"","caption":"From left to right: Map tile service, vector tile service, feature service","name":"arcgis-hosted-data-services","status":"inherit","uploaded_to":2942023,"date":"2025-10-07 20:45:22","modified":"2025-10-07 20:46:00","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":850,"height":248,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services.jpg","medium-width":464,"medium-height":135,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services.jpg","medium_large-width":768,"medium_large-height":224,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services.jpg","large-width":850,"large-height":248,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services.jpg","1536x1536-width":850,"1536x1536-height":248,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services.jpg","2048x2048-width":850,"2048x2048-height":248,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-826x241.jpg","card_image-width":826,"card_image-height":241,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services.jpg","wide_image-width":850,"wide_image-height":248}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><small><strong>Reminder<\/strong>: Tile and vector tile services can also be useful when you want to protect sensitive data, since they only expose rendered output, not the underlying features. Map tile services can additionally support clients with limited rendering capabilities.<\/small><\/p>\n<h2 id=\"high-resolution-support\">High resolution support<\/h2>\n<p>High-resolution displays (such as Retina) render more pixels in the same physical space, making images and text appear sharper and more detailed.<\/p>\n<p>Each service type behaves differently with respect to DPI (dots per inch) and high-PPI (pixels per inch) support. Here\u2019s how they typically respond:<\/p>\n<ul class=\"spaced\">\n<li><strong>Map tile services<\/strong>: By default, pre-rendered raster images are 256\u00d7256 pixels and have a standard resolution of 96 DPI. On high-DPI displays, these tiles can appear slightly blurry or pixelated. If that&#8217;s your case, remember that you can customize the tiling scheme for higher resolutions, as <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences#how-to-create-hosted-data-services\">explained in the previous article<\/a>.<\/li>\n<li><strong>Vector tile services and feature services<\/strong>: Deliver vector data that is rendered client-side (drawn dynamically), so it automatically scales cleanly at any DPI. It\u2019s ideal for retina displays, as they remain crisp without requiring extra bandwidth or storage costs (but they consume more CPU).<\/li>\n<\/ul>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"basic-client-side-interaction\">Basic client-side interaction<\/h2>\n<p>Client SDKs\u00a0<span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">enable you to manage layers (show, hide, or disable them), but let&#8217;s focus on the\u00a0<strong>interactions that can be applied to <\/strong><\/span><strong>individual features<\/strong>.<\/p>\n<ul class=\"spaced\">\n<li><strong>Map tile services<\/strong> do not support feature interaction on the client side. When published from a feature service, you can fake it by making server requests to the feature service, as shown in <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/workflows\/create-map-tile-service-for-app\/#display-tiles\">this example<\/a>.<\/li>\n<li><strong>Vector tile service<\/strong>: You can<strong>\u00a0filter and restyle layers dynamically<\/strong> on the client, and access attribute data embedded in the tiles to populate the UI (for example, <strong>popups or hover effects<\/strong>), <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/sandbox\/?sample=layers-vectortilelayer-hittest\">as shown here<\/a> and <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/workflows\/create-vector-tile-service-for-app\/#display-attributes\">here<\/a>. If the vector tile service originates from a feature service, you can still run server-side queries and retrieve the original geometries, though with lower performance on the client.<\/li>\n<li><strong>Feature services<\/strong>: Like vector tile services, but with some advantages. In addition to simplified geometries, feature services can <strong>request full geometries<\/strong>, optimize attribute retrieval from the server, and <strong>save edits<\/strong> directly back to the same service. As we will see below, it also supports <strong>richer interaction<\/strong> and far <strong>more advanced data-driven styling<\/strong> than vector tiles, which is very useful in use cases such as data exploration.<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":2939047,"id":2939047,"title":"interactive-vector-tile-layer","filename":"interactive-vector-tile-layer.gif","filesize":1264982,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/interactive-vector-tile-layer.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-services-use-cases-for-each-type-of-data-service\/interactive-vector-tile-layer","alt":"","author":"293052","description":"","caption":"Interactive contour lines and dynamic places of interests","name":"interactive-vector-tile-layer","status":"inherit","uploaded_to":2938599,"date":"2025-09-09 18:04:55","modified":"2025-09-09 18:05:39","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":850,"height":218,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/interactive-vector-tile-layer-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/interactive-vector-tile-layer.gif","medium-width":464,"medium-height":119,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/interactive-vector-tile-layer.gif","medium_large-width":768,"medium_large-height":197,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/interactive-vector-tile-layer.gif","large-width":850,"large-height":218,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/interactive-vector-tile-layer.gif","1536x1536-width":850,"1536x1536-height":218,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/interactive-vector-tile-layer.gif","2048x2048-width":850,"2048x2048-height":218,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/interactive-vector-tile-layer-826x212.gif","card_image-width":826,"card_image-height":212,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/interactive-vector-tile-layer.gif","wide_image-width":850,"wide_image-height":218}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/mediaspace.esri.com\/media\/t\/1_1qlnxqgf"},{"acf_fc_layout":"content","content":"<p><small><strong>Note<\/strong>: SDKs can\u2019t easily access full feature geometries from vector tiles. Some SDKs can utilize unique feature IDs to reconstruct simplified geometries to expose basic attributes for pop-ups or hover effects, but others, such as the ArcGIS Maps SDKs for Native Apps, treat vector tiles purely as visual layers.<br \/>\n<\/small><\/p>\n<h2 id=\"advanced-client-side-interaction\">Advanced client-side interaction<\/h2>\n<p>Tile-based services are great for performance and visualization, but sometimes we need to go a step further. When your app involves <strong>live data exploration<\/strong>, <strong>on-the-fly analysis<\/strong>, or <strong>collaborative editing<\/strong>, feature services give you more control.<\/p>\n<p>As we discussed (see <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-creation-and-maintenance-differences#how-data-is-structured-and-stored\">1<\/a>\u00a0&amp; <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-retrieval-and-loading-time-differences#optimization-mechanisms\">2<\/a>), feature services store data in ArcGIS-managed relational storage, giving <strong>client-side<\/strong>, <strong>SQL-aware query engines<\/strong> (such as the ArcGIS Maps SDKs) direct access to the underlying data and enabling a level of interactivity that static tile services can\u2019t provide.<\/p>\n<p>Here are some examples of what you can do with feature services:<\/p>\n<ul class=\"spaced\">\n<li>Access to <strong>up-to-date data<\/strong> (with full geometries and all attributes) on request.<\/li>\n<li><strong>Run precise statistical, spatial, and non-spatial queries<\/strong>:\n<ul>\n<li><strong>Server-side<\/strong>, reducing the computational load from the client (e.g., average, standard deviations, <a href=\"https:\/\/mediaspace.esri.com\/media\/t\/1_4e7fyqde?st=1429\">query bins<\/a>, and more). Check <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/query-attribute-bins\/\">this example<\/a>.<\/li>\n<li><strong>Client-side<\/strong>, using geometry engines with <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/spatial-analysis\/intro-geometry-operators\/\">geometry operations<\/a> as shown in <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featurelayerview-query-geometry\/\">this population density example<\/a>, performing on-the-fly reprojections (<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/client-projection\/\">example<\/a>), and more.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Client-side filtering, selection, and highlighting of individual features:<\/strong>\n<ul>\n<li>User-driven interactions, such as <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/search-component-multisource\/\">text-based search,<\/a> <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/highlight-features-by-geometry\/\">spatial selections<\/a>, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/feature-table\/\">finding related records<\/a>, or accessing <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-featuretable-editing\/\">attachments<\/a>.<\/li>\n<li>Developer-defined interactions, such as attribute-based animations in the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/visualization-vv-color-animate\/\">New York construction example<\/a>.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Edit live data <\/strong>directly on the client and save changes to the same service, while maintaining data integrity.<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":2939159,"id":2939159,"title":"feature-service-age-income-in-LA","filename":"feature-service-age-income-in-LA.gif","filesize":1101218,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/feature-service-age-income-in-LA.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-services-use-cases-for-each-type-of-data-service\/feature-service-age-income-in-la","alt":"","author":"293052","description":"","caption":"Interactive app to explore age and income across Los Angeles using feature services","name":"feature-service-age-income-in-la","status":"inherit","uploaded_to":2938599,"date":"2025-09-09 20:28:28","modified":"2025-09-10 10:22:55","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1000,"height":544,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/feature-service-age-income-in-LA-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/feature-service-age-income-in-LA.gif","medium-width":464,"medium-height":252,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/feature-service-age-income-in-LA.gif","medium_large-width":768,"medium_large-height":418,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/feature-service-age-income-in-LA.gif","large-width":1000,"large-height":544,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/feature-service-age-income-in-LA.gif","1536x1536-width":1000,"1536x1536-height":544,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/feature-service-age-income-in-LA.gif","2048x2048-width":1000,"2048x2048-height":544,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/feature-service-age-income-in-LA-826x449.gif","card_image-width":826,"card_image-height":449,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/feature-service-age-income-in-LA.gif","wide_image-width":1000,"wide_image-height":544}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/building-dynamic-web-applications-with-the-arcgis-api-for-javascript"},{"acf_fc_layout":"content","content":"<details>\n<summary><span style=\"color: #800080;\">Vector tile service limitations<\/span><\/summary>\n<div>\n<p>Vector tiles are designed and optimized for efficient visualization of contextual data, which brings several important limitations when it comes to advanced interaction.<\/p>\n<p>Some key aspects to consider are:<\/p>\n<ul style=\"padding-bottom: .5rem;\">\n<li><strong>Limited attributes<\/strong>: Include only the attributes needed for visualization; non-visual attributes are <strong>usually<\/strong> excluded.<\/li>\n<li><strong>Performance trade-off:<\/strong> Adding extra attributes to support interactions such as pop-ups or hover effects increases tile size, which can slow down loading and rendering.<\/li>\n<li><strong>Simplified and segmented geometries<\/strong>:\n<ul style=\"padding-bottom: 0;\">\n<li>Geometries are generalized to reduce the number of vertices, especially at lower zoom levels.<\/li>\n<li>Not all zoom levels contain every geometry: if a feature hasn\u2019t been \u201cbaked\u201d (preprocessed) for a given level of detail, it won\u2019t be available at that scale.<\/li>\n<li>Topological relationships (e.g., adjacency, connectivity, contiguity) are not preserved, since the focus is on visual accuracy rather than spatial analysis.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>In summary, vector tiles are designed for fast, stylized visualization. However, when applications require advanced interaction like the ones we\u2019ve just seen, feature services remain the best choice.<\/p>\n<\/div>\n<\/details>\n<h2 id=\"basic-client-side-style-customization\">Basic client-side style customization<\/h2>\n<p>Client SDKs support layer-level style customization, such as adjusting opacity, and some even support <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/intro-blendmode-layer\/\">blend modes<\/a>.<\/p>\n<p>Let&#8217;s look at the <strong>styles you can apply to individual features<\/strong>.<\/p>\n<ul class=\"spaced\">\n<li><strong>Map tile services, <\/strong>being pre-rendered raster tiles, don\u2019t allow client-side styling or feature customization.<\/li>\n<li><strong>Vector tile services and feature services<\/strong> support <strong>attribute-driven styling of geometries<\/strong> (e.g., color, fill, stroke, rotation, opacity) and <strong>labels<\/strong>, as well as scale-dependent visibility.\n<ul class=\"spaced\">\n<li>2D: You can manually define feature-level styles (code the symbology logic yourself), but some SDKs (such as the ArcGIS Maps SDK for JavaScript) provide <em>renderers<\/em>, which are dedicated classes (e.g., <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/data-driven-styles\/unique-types\/\">unique types<\/a>, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/data-driven-styles\/class-breaks\/\">class breaks<\/a>, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/data-driven-styles\/visual-variables\/\">visual variables<\/a>, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/data-driven-styles\/multivariate\/\">multivariate<\/a>,\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/data-driven-styles\/relationship\/\">relationship<\/a>, and <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/data-driven-styles\/predominance\/\">predominance<\/a>) that simplify the process.<\/li>\n<li>3D: While all service types can be visualized in 3D, feature services and vector tile services offer greater control and customization options, such as assigning elevation (z-values) to features, icons, and text, and performing attribute-driven extrusion, as demonstrated in the extrusion examples <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/sandbox\/?sample=visualization-buildings-3d\" target=\"_blank\" rel=\"noopener\">for feature services<\/a>\u00a0and <a href=\"https:\/\/www.rauljimenez.info\/arcgis-vector-tile-maplibre-extrusion\/\" target=\"_blank\" rel=\"noopener\">vector tile services<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":2942141,"id":2942141,"title":"ArcGIS Vector tile and feature services extruded","filename":"ArcGIS-Vector-tile-and-feature-services-extruded.jpg","filesize":261814,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Vector-tile-and-feature-services-extruded.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\/arcgis-vector-tile-and-feature-services-extruded","alt":"","author":"293052","description":"","caption":"On the left, a vector tile service extruded with MapLibre GL JS. On the Right a feature service extruded with the ArcGIS Maps SDK for JavaScript","name":"arcgis-vector-tile-and-feature-services-extruded","status":"inherit","uploaded_to":2942023,"date":"2025-10-07 13:54:47","modified":"2025-10-07 18:06:49","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":850,"height":247,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Vector-tile-and-feature-services-extruded-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Vector-tile-and-feature-services-extruded.jpg","medium-width":464,"medium-height":135,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Vector-tile-and-feature-services-extruded.jpg","medium_large-width":768,"medium_large-height":223,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Vector-tile-and-feature-services-extruded.jpg","large-width":850,"large-height":247,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Vector-tile-and-feature-services-extruded.jpg","1536x1536-width":850,"1536x1536-height":247,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Vector-tile-and-feature-services-extruded.jpg","2048x2048-width":850,"2048x2048-height":247,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Vector-tile-and-feature-services-extruded-826x240.jpg","card_image-width":826,"card_image-height":240,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Vector-tile-and-feature-services-extruded.jpg","wide_image-width":850,"wide_image-height":247}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><small><strong>Note<\/strong>: Keep in mind that not all SDKs support extrusion for all service types. <\/small><\/p>\n<details>\n<summary><span style=\"color: #800080;\"><strong>Learn more about what basic style customization means <\/strong><\/span><\/summary>\n<div>\n<p>Access to vector <strong>data<\/strong> enables styling, but supported customizations differ widely across services and SDKs.<\/p>\n<p>Depending on the implementation, you might be able to adjust elements like these (not an exhaustive list):<\/p>\n<ul style=\"padding-bottom: 0;\">\n<li><strong>Geometry symbolization<\/strong>:\n<ul style=\"padding-bottom: 0;\">\n<li><strong>Points<\/strong>: Icon image, icon size, icon color, icon rotation, icon opacity, icon offset (x\/y), and icon anchor point.<\/li>\n<li><strong>Polygons fill:<\/strong> Fill color, fill opacity, outline (stroke) color, outline width, outline opacity, and fill pattern (sprite-based fills such as <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/symbols-color-ramps\/esri-web-style-symbols-2d\/\">hatches and landscape textures<\/a>).<\/li>\n<li><strong>Lines\/Polylines<\/strong>: Line color, line width, line offset, and line opacity, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-SimpleLineSymbol.html#style\">line dash patterns<\/a>, line joins (<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-SimpleLineSymbol.html#join\">miter, bevel, round<\/a>), and line caps (<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-SimpleLineSymbol.html#cap\">butt, round, square<\/a>).<\/li>\n<\/ul>\n<\/li>\n<li><strong>Label\/text styling<\/strong>: fonts, font size, font color, font opacity, text halo color, text halo width, text halo blur, letter spacing, line height, text transform (uppercase, lowercase, none), text justification, text rotation alignment, text anchor, text offset (x\/y).<\/li>\n<li><strong>Scale-dependent visibility<\/strong>: Min zoom \/ max zoom per layer, scale-dependent size adjustments (e.g., text size, line width, icon size).<\/li>\n<\/ul>\n<\/div>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"advanced-client-side-style-customization\">Advanced client-side style customization<\/h2>\n<p>While basic symbology may cover many use cases, projects that aim for immersive experiences, high-quality cartography, or complex data-driven visualizations benefit from the <strong data-start=\"728\" data-end=\"774\">advanced, client-side styling capabilities<\/strong> suitable for feature services.<\/p>\n<p>Advanced style capabilities:<\/p>\n<ul class=\"spaced\">\n<li><a href=\"#feature-specific-styles\">Feature-specific styles<\/a><\/li>\n<li><a href=\"#photoshop-like-effects\">Photoshop-like effects<\/a><\/li>\n<li><a href=\"#advanced-rule-based-2d-symbology\">Advanced rule-based 2D symbology<\/a><\/li>\n<li><a href=\"#semi-realistic-3d-scenarios\">Semi-realistic 3D scenarios<\/a><\/li>\n<li><a href=\"#advanced-renderers\">Advanced renderers<\/a><\/li>\n<li><a href=\"#smart-mapping\">Smart mapping<\/a><\/li>\n<\/ul>\n<p><small><strong>Note:<\/strong> Not every SDK supports every advanced visualization feature. We\u2019ll focus on <strong data-start=\"851\" data-end=\"871\">Esri\u2019s Maps SDKs<\/strong>, which provide the deepest integration with feature services. Still, even across Esri\u2019s SDK family, feature support varies.<\/small><\/p>\n<p><small><strong>Note:<\/strong> Although it might be possible to emulate some of these capabilities using other SDKs, the additional effort required to replicate them should not be underestimated.<\/small><\/p>\n"},{"acf_fc_layout":"content","content":"<h3 id=\"feature-specific-styles\"><strong>Feature-specific styles<\/strong><\/h3>\n<p>As you have seen, you can <strong>search<\/strong>, select, and dynamically apply styles directly to <strong>individual features<\/strong>, as shown in the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featureeffect-layers-histogram\/\">Phoenix Average Age distribution<\/a>.<\/p>\n"},{"acf_fc_layout":"kaltura","video_id":"1_o4wbgqrt","time":false,"start":0,"stop":""},{"acf_fc_layout":"content","content":"<h3 id=\"photoshop-like-effects\"><strong>Photoshop-like effects<\/strong><\/h3>\n<p><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">With the ArcGIS Maps SDK for JavaScript, you can\u00a0<span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">apply <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/create-maps\/use-effects.htm#ESRI_SECTION1_245A7F3BF432455E8244AC934A917FF3\" target=\"_blank\" rel=\"noopener\">visual<\/a><\/span><a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/create-maps\/use-effects.htm#ESRI_SECTION1_245A7F3BF432455E8244AC934A917FF3\" target=\"_blank\" rel=\"noopener\">\u00a0effects<\/a><\/span>\u00a0to a <strong>whole layer<\/strong> (any service type) or <strong>individual features <\/strong>(feature services only). They behave much like CSS filters or the image filters you\u2019d find in photo-editing apps.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2942293,"id":2942293,"title":"ArcGIS Maps SDK Photoshop-like effects-v2","filename":"ArcGIS-Maps-SDK-Photoshop-like-effects-v2.jpg","filesize":104155,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Maps-SDK-Photoshop-like-effects-v2.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\/arcgis-maps-sdk-photoshop-like-effects-v2-2","alt":"","author":"293052","description":"","caption":"Applications using feature effects such as\u00a0clip, blur, bloom, drop shadow, and more.","name":"arcgis-maps-sdk-photoshop-like-effects-v2-2","status":"inherit","uploaded_to":2942023,"date":"2025-10-08 07:05:41","modified":"2025-10-08 07:08:47","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":850,"height":284,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Maps-SDK-Photoshop-like-effects-v2-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Maps-SDK-Photoshop-like-effects-v2.jpg","medium-width":464,"medium-height":155,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Maps-SDK-Photoshop-like-effects-v2.jpg","medium_large-width":768,"medium_large-height":257,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Maps-SDK-Photoshop-like-effects-v2.jpg","large-width":850,"large-height":284,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Maps-SDK-Photoshop-like-effects-v2.jpg","1536x1536-width":850,"1536x1536-height":284,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Maps-SDK-Photoshop-like-effects-v2.jpg","2048x2048-width":850,"2048x2048-height":284,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Maps-SDK-Photoshop-like-effects-v2-826x276.jpg","card_image-width":826,"card_image-height":276,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Maps-SDK-Photoshop-like-effects-v2.jpg","wide_image-width":850,"wide_image-height":284}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/ArcGIS-Maps-SDK-Photoshop-like-effects-v2.png"},{"acf_fc_layout":"content","content":"<details>\n<summary><span style=\"color: #800080;\"><strong>Learn more about Photoshop-like effects &#8230;<\/strong><\/span><\/summary>\n<div>\n<p>Highly recommended resources:<\/p>\n<ul class=\"spaced\">\n<li><a href=\"https:\/\/mediaspace.esri.com\/media\/t\/1_dfzjlu3k\/244321192\">Photoshop-style Graphics Effects for Your Layers and Data<\/a><\/li>\n<li><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/?tagged=featureEffect\">ArcGIS Maps SDK for JavaScript &#8211; Feature effect samples<\/a><\/li>\n<\/ul>\n<\/div>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<h3 id=\"advanced-rule-based-2d-symbology\"><strong>Advanced rule-based 2D symbology<\/strong><\/h3>\n<p>If you need professional-grade symbology, feature services are compatible with <a href=\"https:\/\/github.com\/esri\/cim-spec\">Esri&#8217;s Cartographic Information Model<\/a> (CIM), which lets you apply\u00a0rules to control feature styling (e.g., color, size, rotation).<\/p>\n<p><small><strong>Note<\/strong>: Don\u2019t confuse this with <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/mapping\/layer-properties\/procedural-symbol-layers.htm\">procedural rules<\/a> (.rpk), <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/mapping\/layer-properties\/attribute-driven-symbology.htm\">ArcGIS Pro attribute-driven symbology<\/a>, or conditional style systems used in other mapping tools.<\/small><\/p>\n<p>CIM symbols are customizable, <strong>multilayer<\/strong> vector symbols that enable advanced, <strong>data-driven<\/strong> visualizations, such as multivariate symbology, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/cim-line-arrows\/\">road styles<\/a>, <a href=\"https:\/\/developers.arcgis.com\/documentation\/mapping-and-location-services\/data-visualization\/resources\/military-symbology-styles\/\">military symbology<\/a>, and custom cluster representations. They can be <strong>static<\/strong> or <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/visualizing-air-quality-with-animated-symbols\"><strong>animated<\/strong><\/a>, extending far beyond the capabilities of standard symbol types.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2942299,"id":2942299,"title":"CIM-symbology-animated","filename":"CIM-symbology-animated.gif","filesize":387889,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/CIM-symbology-animated.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\/cim-symbology-animated","alt":"","author":"293052","description":"","caption":"","name":"cim-symbology-animated","status":"inherit","uploaded_to":2942023,"date":"2025-10-08 12:24:59","modified":"2025-10-08 12:24:59","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":960,"height":432,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/CIM-symbology-animated-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/CIM-symbology-animated.gif","medium-width":464,"medium-height":209,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/CIM-symbology-animated.gif","medium_large-width":768,"medium_large-height":346,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/CIM-symbology-animated.gif","large-width":960,"large-height":432,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/CIM-symbology-animated.gif","1536x1536-width":960,"1536x1536-height":432,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/CIM-symbology-animated.gif","2048x2048-width":960,"2048x2048-height":432,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/CIM-symbology-animated-826x372.gif","card_image-width":826,"card_image-height":372,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/CIM-symbology-animated.gif","wide_image-width":960,"wide_image-height":432}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/CIM-symbology-animated.gif"},{"acf_fc_layout":"content","content":"<details>\n<summary><span style=\"color: #800080;\"><strong>Learn more about CIM symbology &#8230;<\/strong><\/span><\/summary>\n<div>\n<p>Highly recommended resources:<\/p>\n<ul class=\"spaced\">\n<li style=\"list-style-type: none;\">\n<ul class=\"spaced\">\n<li><a href=\"https:\/\/mediaspace.esri.com\/media\/t\/1_n4rmiwq0\/244321192\">Dynamic Vector Symbology &#8211; ArcGIS API for JavaScript<\/a> (technical session)<\/li>\n<li><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/?tagged=CIMSymbol\">CIM symbols examples<\/a> (ArcGIS Maps SDK for JavaScript)<\/li>\n<li><a href=\"https:\/\/sagewall.github.io\/symbol-builder\/cim-symbol\/\">CIM symbol builders<\/a> (playground)<\/li>\n<li><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-CIMSymbol.html\">CIMSymbol API reference<\/a> (ArcGIS Maps SDK for JavaScript)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/details>\n<h3 id=\"semi-realistic-3d-scenarios\"><strong>Semi-realistic 3D scenarios<\/strong><\/h3>\n<p>If you\u2019re working in 3D, you can create semi-realistic 3D scenes by rendering <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-LineSymbol3D.html\" target=\"_blank\" rel=\"noopener\">lines<\/a><\/span> and <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-PolygonSymbol3D.html\" target=\"_blank\" rel=\"noopener\">polygons<\/a><\/span> as either <strong>flat<\/strong> or <strong>volumetric<\/strong> shapes (e.g., <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/visualization-realistic-water\/\" target=\"_blank\" rel=\"noopener\">realistic animated water<\/a><\/span>). <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-PointSymbol3D.html\">Point<\/a> features can also use <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/3d-visualization\/visualizing-points-3d\/\">3D models<\/a><\/span>, including custom GLTF assets, <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/symbols-color-ramps\/esri-web-style-symbols-3d\/\">Web Style Symbols<\/a>, and <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/visualization-heatmap-scene\/\">heatmaps<\/a><\/span>.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2942302,"id":2942302,"title":"arcgis-javascript-3d-semi-realistic","filename":"arcgis-javascript-3d-semi-realistic.gif","filesize":547956,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-javascript-3d-semi-realistic.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\/arcgis-javascript-3d-semi-realistic","alt":"","author":"293052","description":"","caption":"","name":"arcgis-javascript-3d-semi-realistic","status":"inherit","uploaded_to":2942023,"date":"2025-10-08 13:31:57","modified":"2025-10-08 13:31:57","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":860,"height":398,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-javascript-3d-semi-realistic-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-javascript-3d-semi-realistic.gif","medium-width":464,"medium-height":215,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-javascript-3d-semi-realistic.gif","medium_large-width":768,"medium_large-height":355,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-javascript-3d-semi-realistic.gif","large-width":860,"large-height":398,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-javascript-3d-semi-realistic.gif","1536x1536-width":860,"1536x1536-height":398,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-javascript-3d-semi-realistic.gif","2048x2048-width":860,"2048x2048-height":398,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-javascript-3d-semi-realistic-826x382.gif","card_image-width":826,"card_image-height":382,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-javascript-3d-semi-realistic.gif","wide_image-width":860,"wide_image-height":398}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>By combining your data with other available 3D layers (such as <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-living-atlas\/announcements\/enhanced-3d-layers-in-arcgis\">global 3D basemaps<\/a> that include trees and buildings), you can create compelling and good-looking visualizations.<\/p>\n<p><small><strong>Note:<\/strong> For highly realistic scenarios, such as building 3D digital twins of cities, you\u2019ll need to use other service types (<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/3d-visualization\/cities-in-3d\/#what-are-cities-in-3d\">more<\/a>).\u00a0<\/small><\/p>\n<details>\n<summary><span style=\"color: #800080;\"><strong>Learn more about 3D visualization &#8230;<\/strong><\/span><\/summary>\n<div>\n<p>Some recommended resources:<\/p>\n<ul class=\"spaced\">\n<li><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/3d-visualization\/\">3D visualization<\/a> (ArcGIS Maps SDK for JavaScript)<\/li>\n<li>Playgrounds: <a href=\"https:\/\/sagewall.github.io\/symbol-builder\/point-symbol-3d\/\">PointSymbol3D<\/a>, <a href=\"https:\/\/sagewall.github.io\/symbol-builder\/line-symbol-3d\/\">LineSymbol3D<\/a>, <a href=\"https:\/\/sagewall.github.io\/symbol-builder\/polygon-symbol-3d\/\">PolygonSymbol3D<\/a>, and for <a href=\"https:\/\/sagewall.github.io\/symbol-builder\/picture-marker-symbol\/\">Picture marker symbol<\/a> and <a href=\"https:\/\/sagewall.github.io\/symbol-builder\/web-style-symbol\/\">WebStyleSymbol<\/a> select &#8220;3D&#8221;.<\/li>\n<li><a href=\"https:\/\/doc.arcgis.com\/en\/3d\/workflows\/visualization\/3d-visualization.htm\">3D Workflows &gt; 3D visualization<\/a><\/li>\n<li><a href=\"https:\/\/mediaspace.esri.com\/category\/Esri+Developer+%26+Technology+Summit\/244321192\">3D Technical sessions<\/a><\/li>\n<\/ul>\n<\/div>\n<\/details>\n<h3 id=\"advanced-renderers\"><strong>Advanced renderers<\/strong><\/h3>\n<p>In addition to basic renderers, advanced renderers let you <strong>uncover deeper spatial patterns<\/strong> and create more sophisticated visual effects or <strong>animations<\/strong>.<\/p>\n<p>Beyond the feature-level renderers that style existing geometries, some renderers (such as <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/high-density-data\/heatmap\/\">heatmaps<\/a>, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/data-driven-styles\/dot-density\/\">dot density<\/a>, and <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/data-driven-styles\/charts\/\">charts<\/a>) visualize attributes using <strong>alternative geometric representations<\/strong> instead of the raw feature shapes.<\/p>\n<p><strong>Aggregated data renderers<\/strong> like <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/high-density-data\/clustering\/\">clustering<\/a> and <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/high-density-data\/binning\/\">binning<\/a> are optimized for visualizing high-density datasets. They rely on <strong>server-side geospatial statistics<\/strong> to summarize feature concentrations and spatial patterns. This is only possible with feature services, since <strong>the server has access to the full feature geometries<\/strong> rather than simplified or tiled representations, allowing for accurate aggregation and realistic distribution patterns.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2942435,"id":2942435,"title":"Advanced renderers-v2","filename":"Advanced-renderers-v2.jpg","filesize":66029,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Advanced-renderers-v2.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\/advanced-renderers-v2","alt":"","author":"293052","description":"","caption":"","name":"advanced-renderers-v2","status":"inherit","uploaded_to":2942023,"date":"2025-10-09 07:06:19","modified":"2025-10-09 07:06:19","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":850,"height":163,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Advanced-renderers-v2-213x163.jpg","thumbnail-width":213,"thumbnail-height":163,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Advanced-renderers-v2.jpg","medium-width":464,"medium-height":89,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Advanced-renderers-v2.jpg","medium_large-width":768,"medium_large-height":147,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Advanced-renderers-v2.jpg","large-width":850,"large-height":163,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Advanced-renderers-v2.jpg","1536x1536-width":850,"1536x1536-height":163,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Advanced-renderers-v2.jpg","2048x2048-width":850,"2048x2048-height":163,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Advanced-renderers-v2-826x158.jpg","card_image-width":826,"card_image-height":158,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Advanced-renderers-v2.jpg","wide_image-width":850,"wide_image-height":163}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Advanced-renderers.jpg"},{"acf_fc_layout":"content","content":"<p>While standard renderers handle most scenarios, <strong>custom renderers<\/strong> let you go beyond the limits of the predefined renderers. You have <strong>total control<\/strong> over how features are drawn, so you can create anything from animated or 3D symbols to custom clustering, interactive charts, or entirely new visualization styles.<\/p>\n"},{"acf_fc_layout":"kaltura","video_id":"1_lhwwj8o1","time":false,"start":0,"stop":""},{"acf_fc_layout":"content","content":"<p><small>Demos shown above: <a href=\"https:\/\/www.linkedin.com\/posts\/seanstone27700_ive-just-released-pulse-v2-it-allows-you-activity-7283178965769322496-SSR4\/\">Pulse by Sean Stone<\/a>, <a href=\"https:\/\/github.com\/nickcam\/FlareClusterLayer\">FlareClusterLayer by Nick Cameron<\/a>, and <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/custom-render-node-windmills\/\">Animated Windmills<\/a> and <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/custom-gl-animated-lines\/\">Animated lines with WebGL<\/a> by Esri.<\/small><\/p>\n<h3 id=\"smart-mapping\"><strong>Smart mapping<\/strong><\/h3>\n<p>Data visualization has a <strong>paradox<\/strong>: to properly visualize a dataset, you first need to be familiar with it; but to understand the data, you usually first have to visualize it.<\/p>\n<p>Thanks to feature services and the analytical endpoint <em><a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/enterprise\/generate-renderer\/\">generateRenderer<\/a><\/em>, it is possible to close this gap,<strong> reduce trial and error,\u00a0<\/strong>and<strong> prevent misleading visualizations<\/strong><strong>. <\/strong>These capabilities enable SDKs to offer <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/data-driven-styles\/smart-mapping\/\"><strong>smart mapping tools<\/strong><\/a> that help analyze attribute distributions, as does the ArcGIS Maps SDK for JavaScript.<\/p>\n<p>These tools, combined with those that simplify attribute exploration (such as predefined renderers), provide an optimized experience to\u00a0build applications that require interactive spatial data exploration.<\/p>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"client-side-performance\">Client-side performance<\/h2>\n<p>In the previous article, we explored the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-retrieval-and-loading-time-differences\">inner workings of these services and SDK trade-offs<\/a>, including the backend factors that affect client-side performance.<\/p>\n<p>Let\u2019s look at a few final factors that influence client-side performance for each service type.<\/p>\n<h3><strong>Map tile services<\/strong><\/h3>\n<p>Map tile services are the fastest to render on the client side, but because they\u2019re pre-rendered images, they don\u2019t support any client-side styling or interaction.<\/p>\n<h3><strong>Vector tile\u00a0<\/strong><strong>services <\/strong><\/h3>\n<p>Let&#8217;s examine performance from two perspectives:<\/p>\n<ul class=\"spaced\">\n<li><strong>Initial loading time: <\/strong>\n<ul>\n<li>When optimized for rendering, vector tiles minimize the amount of data downloaded, offering excellent performance.<\/li>\n<li>They are particularly efficient for visually complex datasets (with large polygons, polylines, or mixed geometry types, like basemaps).<\/li>\n<li>Performance is generally consistent across SDKs, since most rely on similar GPU-based rendering pipelines for vector tiles.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Interaction and dynamic styling<\/strong>:\n<ul>\n<li>Style or filter changes trigger full tile re-evaluation and GPU redraws, so updates can feel slower than in feature services.<\/li>\n<li>Adding extra attributes enables richer interactivity but increases payload size, which can impact load and draw times, as explained in &#8220;<a href=\"#advanced-client-side-interaction\">Advanced client-side interaction<\/a>&#8220;.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><small><strong>Note<\/strong>: Rendering optimizations like simplification and clipping make drawing fast, but restrict per-feature access, reducing responsiveness for interactive or dynamic updates.<\/small><\/p>\n<p>Despite these limitations, vector tiles remain a great choice when <strong>visualization speed<\/strong>\u00a0<strong>matters more than interactivity<\/strong>.<\/p>\n<h3><strong>Feature services<\/strong><\/h3>\n<p>Feature services are highly flexible, but their performance can vary widely depending on the <strong>service configuration<\/strong>, the <strong>SDK <\/strong>used<strong>,<\/strong> <strong>data complexity, <\/strong>and <strong>features used<\/strong>.<\/p>\n<p>Looking at performance from the same perspectives:<\/p>\n<ul class=\"spaced\">\n<li><strong>Initial loading time<\/strong>: Due to the nature of feature services, the first draw rarely matches the speed of optimized vector tiles. However, the ArcGIS Maps SDK for JavaScript employs client-side techniques such as progressive data loading and snapshot generation to smooth navigation and reduce perceived delay during zooming and panning.<\/li>\n<li><strong>Interaction and dynamic styling<\/strong>: For interactive or data-driven operations, feature services can outperform vector tile services by allowing direct access to full geometries and attributes.<\/li>\n<\/ul>\n<p>Here are a few ways these factors can influence performance:<\/p>\n<ul class=\"spaced\">\n<li><strong>Service configuration<\/strong>: Private feature services without CDN caching load more slowly.<\/li>\n<li><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><strong>SDK<\/strong>: Performance can vary across SDKs and third-party libraries, depending on whether they implement optimizations, as seen in <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-retrieval-and-loading-time-differences\" target=\"_blank\" rel=\"noopener\">ArcGIS Hosted Data Services: Behind the Scenes and SDK Trade-offs<\/a>.<\/span><\/li>\n<li><strong>Data complexity<\/strong>: Point data can be as fast as vector tiles, but complex datasets take longer.<\/li>\n<li><strong>Features used<\/strong>: Advanced renderers and dynamic symbology, like complex CIM symbols, can add overhead.<\/li>\n<\/ul>\n<p><small><strong data-start=\"314\" data-end=\"323\">Note:<\/strong> Feature services are significantly more efficient than using raw vector data sources such as GeoJSON, which typically deliver unsimplified geometries and larger payloads.<\/small><\/p>\n<p><small><strong>Also note<\/strong> that both vector tile and feature services use WebGL or OpenGL for efficient client-side rendering when used with Esri SDKs. Unlike map tile services, their performance also <strong>depends on the client device\u2019s hardware<\/strong>.<\/small><\/p>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"summary\">Summary<\/h2>\n<p>From a client-side developer&#8217;s perspective, here&#8217;s how I would summarize the key points:<\/p>\n<ul class=\"spaced\">\n<li>Use map tiles for <strong>basemaps<\/strong>, vector tiles for <strong>contextual data<\/strong>, and feature services for <strong>operational data<\/strong>.<\/li>\n<li><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><strong>Use map tile services\u00a0<\/strong>when rendering performance is critical, you need to protect sensitive data, or you must support older SDKs or low-power devices.<\/span><\/li>\n<li><strong>Use vector tile services <\/strong>for fast, high-quality visualization of contextual data with basic interactivity.<\/li>\n<li><strong>Use feature services <\/strong>when you need rich interactivity, querying, editing, or advanced 2D and 3D visualization.<\/li>\n<li><strong>Combine all services strategically<\/strong>\u00a0to strike a balance between performance and interactivity.<\/li>\n<li><strong>Consider using ArcGIS Maps SDKs<\/strong>, especially if you work with feature services. Any SDK can be used with any of the services, but when using feature Services, Esri-provided client SDKs offer (by far) the best integration and possibilities.<\/li>\n<\/ul>\n<div class=\"mb1\">Does this align with your experience?<\/div>\n<p>In the following article, \u201c<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-services-terms-of-use-pricing-differences\">Terms of Use &amp; Pricing Differences<\/a>&#8220;, <strong>we\u2019ll cover additional factors<\/strong> to help you decide which service type and product best fit your project.<\/p>\n<details style=\"margin-top: 1rem;\">\n<summary><span style=\"color: #800080;\"><strong>More resources on these topics<\/strong><\/span><\/summary>\n<div>\n<ul class=\"spaced\">\n<li><a href=\"https:\/\/developers.arcgis.com\/documentation\/mapping-and-location-services\/data-visualization\/\">Mapping and location services guide &gt; Data visualization<\/a><\/li>\n<li>ArcGIS JavaScript SDK:\n<ul class=\"spaced\">\n<li><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/visualization\/\">Styles and data visualization chapter<\/a><\/li>\n<li><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/query-filter\/\">Introduction to query and filter<\/a><\/li>\n<li><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/utility-network\/feature-service\/\">Perform edits using the feature service<\/a><\/li>\n<li><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/spatial-analysis\/spatial-analysis-intro\/\">Spatial analysis<\/a><\/li>\n<li><a href=\"https:\/\/mediaspace.esri.com\/esearch\/search?fields=all&amp;sortBy=recent&amp;keyword=%22A%20Look%20Under%20the%20Hood%22\">A Look Under the Hood&#8221; technical sessions<\/a><\/li>\n<li><a href=\"https:\/\/mediaspace.esri.com\/media\/t\/1_xcuzb32n\">ArcGIS Maps SDK for JavaScript: Max Speed &amp; Capabilities of the Feature Layer<\/a><\/li>\n<li><a href=\"https:\/\/mediaspace.esri.com\/playlist\/dedicated\/368599242\/1_v7vsqnff\/1_zsb25i8r\">ArcGIS Maps SDK for JavaScript: Developer and Technology Summit 2025 sessions<\/a><\/li>\n<\/ul>\n<\/li>\n<li>ArcGIS Maps SDK for Native Apps\n<ul class=\"spaced\">\n<li>Styles and data visualization: <a href=\"https:\/\/developers.arcgis.com\/kotlin\/styles-and-data-visualization\/\">Kotlin<\/a>, <a href=\"https:\/\/developers.arcgis.com\/swift\/styles-and-data-visualization\/\">Swift<\/a>, <a href=\"https:\/\/developers.arcgis.com\/flutter\/styles-and-data-visualization-heading\/\">Flutter<\/a>, <a href=\"https:\/\/developers.arcgis.com\/net\/styles-and-data-visualization\/\">.NET<\/a>, <a href=\"https:\/\/developers.arcgis.com\/qt\/styles-and-data-visualization-heading\/\">Qt<\/a><\/li>\n<li>Query: <a href=\"https:\/\/developers.arcgis.com\/kotlin\/query\/\">Kotlin<\/a>, <a href=\"https:\/\/developers.arcgis.com\/swift\/query-heading\/\">Swift<\/a>, <a href=\"https:\/\/developers.arcgis.com\/flutter\/query\/\">Flutter<\/a>, <a href=\"https:\/\/developers.arcgis.com\/net\/query\/\">.NET<\/a>, <a href=\"https:\/\/developers.arcgis.com\/qt\/query\/\">Qt<\/a><\/li>\n<li>Edit features: <a href=\"https:\/\/developers.arcgis.com\/kotlin\/edit-features\/\">Kotlin<\/a>, <a href=\"https:\/\/developers.arcgis.com\/swift\/edit-features-heading\/\">Swift<\/a>, <a href=\"https:\/\/developers.arcgis.com\/net\/edit-features\/\">.NET<\/a>, <a href=\"https:\/\/developers.arcgis.com\/qt\/edit-features-heading\/\">Qt<\/a><\/li>\n<li><a href=\"https:\/\/mediaspace.esri.com\/playlist\/dedicated\/368599242\/1_wtede53i\/1_o6qmpf8a\">ArcGIS Maps SDK for Native Apps: Developer and Technology Summit 2025 sessions<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Game Engine Maps SDKs\n<ul class=\"spaced\">\n<li>Filtering and modification: <a href=\"https:\/\/developers.arcgis.com\/unity\/filtering-and-modification\/\">Unity<\/a>, <a href=\"https:\/\/developers.arcgis.com\/unreal-engine\/filtering-and-modification\/\">Unreal Engine<\/a><\/li>\n<li>Spatial reference and data analysis: <a href=\"https:\/\/developers.arcgis.com\/unity\/spatial-reference-and-data-analysis-intro\/\">Unity<\/a>, <a href=\"https:\/\/developers.arcgis.com\/unreal-engine\/spatial-reference-and-data-analysis\/\">Unreal Engine<\/a><\/li>\n<li><a href=\"https:\/\/mediaspace.esri.com\/playlist\/dedicated\/368599242\/1_qj641e9k\/1_eabqufpq\">Game Engine Maps SDKs: Developer and Technology Summit 2025 sessions<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Open source web mapping libraries:\n<ul class=\"spaced\">\n<li>Data chapter within: <a href=\"https:\/\/developers.arcgis.com\/esri-leaflet\/layers\/\">Esri Leaflet<\/a>, <a href=\"https:\/\/developers.arcgis.com\/maplibre-gl-js\/data\/\">MapLibre GL JS<\/a>, <a href=\"https:\/\/developers.arcgis.com\/openlayers\/layers\/\">OpenLayers<\/a>, <a href=\"https:\/\/developers.arcgis.com\/cesiumjs\/layers\/\">CesiumJS<\/a><\/li>\n<li><a href=\"https:\/\/mediaspace.esri.com\/category\/Esri+Developer+%26+Technology+Summit\/244321192\">Building web apps with open source mapping APIs<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<h2>Next steps<\/h2>\n<p>You now have a clearer view of each service\u2019s strengths, trade-offs, and how the ArcGIS Maps SDKs fit in. With this understanding, you can make smarter choices about which service and SDK to use for your next project.<\/p>\n<p>If you have questions, join the conversation in\u00a0<a href=\"https:\/\/community.esri.com\/t5\/developers\/ct-p\/developers\">Esri Community &gt; Developers,<\/a> or if you found something confusing or believe you\u2019ve spotted an error or inconsistency in this article, reach out to us at <a href=\"mailto:developers@esri.com\">developers@esri.com<\/a>.<\/p>\n<p><small>Your input helps us improve the clarity and accuracy of this content.<\/small><\/p>\n<p>Finally, if you found this article useful and believe others in your professional network may benefit from it, we would greatly appreciate it if you could share or engage with the post on\u00a0<a href=\"https:\/\/www.linkedin.com\/posts\/jimenezortegaraul_developers-ux-designers-and-the-rest-of-activity-7382113937926033408-vuWR?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAFTWIUB408_I8M39G1F7ZzN47wVswa8PcA\">LinkedIn<\/a>,\u00a0<a href=\"https:\/\/bsky.app\/profile\/rauljimenez.info\/post\/3m2rqnahg472s\">Bluesky<\/a>, or\u00a0<a href=\"https:\/\/x.com\/hhkaos\/status\/1976348171044331886\">X<\/a>.<\/p>\n<p>Thank you to everyone who contributed to the content of this article. You rock! Extra special thanks to <a href=\"https:\/\/www.linkedin.com\/in\/matt-george-247317a5\/\">Matt George<\/a>, <a href=\"https:\/\/www.esri.com\/arcgis-blog\/author\/julie-powell\">Julie Powell<\/a>, and <a href=\"https:\/\/www.esri.com\/arcgis-blog\/author\/nfurness\">Nick Furness<\/a>.<\/p>\n<style>ul.spaced>li,ul.spaced>li ul li{margin-top:.5rem} ul.spaced li ul{padding-bottom:0 !important}<\/style>\n<style>details div{background-color: #efefef; padding: 1rem 1rem 0 1rem; border: 1px solid #ccc; margin-top: 0; margin-bottom: 1rem;}<\/style>\n<style>summary{margin-bottom: 1rem;cursor:pointer}<\/style>\n<style>details ul li ul{margin-top: 1rem; padding-bottom: 0.5rem;}<\/style>\n<style>details[open] summary span:before{content: \"\u2296 \"}<\/style>\n<style>details summary span:before{content: \"\u2295 \"}small, .small{font-size: 1.1rem; border: 1px dotted #ccc; padding: .6rem; display: block; background-color: #fdfdfd;} ul.spaced ul{display:block !important; } ul.spaced ul li:last-child{padding-bottom:0rem}} details ul.spaced ul{padding-top: 0 !important;}h3{margin-bottom: 0;}.mb0{margin-bottom:0}.pb0{padding-bottom:0}.mb1{margin-bottom:1rem}<\/style>\n"}],"authors":[{"ID":293052,"user_firstname":"Raul","user_lastname":"Jimenez Ortega","nickname":"Raul Jimenez Ortega","user_nicename":"rjimenez","display_name":"Ra\u00fal Jim\u00e9nez Ortega","user_email":"rjimenez@esri.com","user_url":"http:\/\/links.rauljimenez.info\/","user_registered":"2021-11-17 17:27:29","user_description":"Developer on the Developer Experience (DX) team, looking for ways to improve the DX through better educational resources, developer tools, and community support among other things.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/raul-jimenez-ortega-social-picture-enhanced-blur-desaturated-white-levels-465x465.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"show_article_image":false,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/arcgis-hosted-data-services-comparison-client-side-visualization-and-interactivity-thumbnail.png","wide_image":false,"related_articles":[{"ID":2941236,"post_author":"293052","post_date":"2025-09-29 06:28:38","post_date_gmt":"2025-09-29 13:28:38","post_content":"","post_title":"ArcGIS Hosted Data Services: Behind the Scenes and SDK Trade-offs","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-data-services-retrieval-and-loading-time-differences","to_ping":"","pinged":"","post_modified":"2025-10-16 06:32:54","post_modified_gmt":"2025-10-16 13:32:54","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2941236","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2939766,"post_author":"293052","post_date":"2025-09-15 09:34:48","post_date_gmt":"2025-09-15 16:34:48","post_content":"","post_title":"ArcGIS Hosted Data Services: Creation and Maintenance Differences","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-data-services-creation-and-maintenance-differences","to_ping":"","pinged":"","post_modified":"2025-10-22 06:21:38","post_modified_gmt":"2025-10-22 13:21:38","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2939766","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2940568,"post_author":"293052","post_date":"2025-09-26 04:54:25","post_date_gmt":"2025-09-26 11:54:25","post_content":"","post_title":"ArcGIS Hosted Data Services: Management Tools Differences","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-data-services-management-tools-differences","to_ping":"","pinged":"","post_modified":"2025-10-22 06:17:57","post_modified_gmt":"2025-10-22 13:17:57","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2940568","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2942023,"post_author":"293052","post_date":"2025-10-09 11:00:53","post_date_gmt":"2025-10-09 18:00:53","post_content":"","post_title":"ArcGIS Hosted Data Services: Visualization & Interactivity Differences","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-data-services-visualization-interactivity-differences","to_ping":"","pinged":"","post_modified":"2025-10-16 06:35:17","post_modified_gmt":"2025-10-16 13:35:17","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2942023","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"1","filter":"raw"},{"ID":2938599,"post_author":"293052","post_date":"2025-09-10 08:16:54","post_date_gmt":"2025-09-10 15:16:54","post_content":"","post_title":"ArcGIS Hosted Services: Use Cases for Each Type of Data Service","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-services-use-cases-for-each-type-of-data-service","to_ping":"","pinged":"","post_modified":"2025-11-05 23:38:19","post_modified_gmt":"2025-11-06 07:38:19","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2938599","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2943284,"post_author":"293052","post_date":"2025-10-16 04:54:08","post_date_gmt":"2025-10-16 11:54:08","post_content":"","post_title":"ArcGIS Hosted Services: Terms of Use & Pricing Differences","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-services-terms-of-use-pricing-differences","to_ping":"","pinged":"","post_modified":"2025-10-22 06:11:35","post_modified_gmt":"2025-10-22 13:11:35","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2943284","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}]},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ArcGIS Hosted Data Services: Visualization &amp; Interactivity Differences<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ArcGIS Hosted Data Services: Visualization &amp; Interactivity Differences\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-16T13:35:17+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\"},\"author\":{\"name\":\"Ra\u00fal Jim\u00e9nez Ortega\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/5c4567f75f116a7404ab334a37e370bc\"},\"headline\":\"ArcGIS Hosted Data Services: Visualization &#038; Interactivity Differences\",\"datePublished\":\"2025-10-09T18:00:53+00:00\",\"dateModified\":\"2025-10-16T13:35:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\"},\"wordCount\":7,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"feature service\",\"hosted data services blog series\",\"hosted services\",\"map tile service\",\"vector tile service\"],\"articleSection\":[\"Developers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\",\"name\":\"ArcGIS Hosted Data Services: Visualization & Interactivity Differences\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2025-10-09T18:00:53+00:00\",\"dateModified\":\"2025-10-16T13:35:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ArcGIS Hosted Data Services: Visualization &#038; Interactivity Differences\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/5c4567f75f116a7404ab334a37e370bc\",\"name\":\"Ra\u00fal Jim\u00e9nez Ortega\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/raul-jimenez-ortega-social-picture-enhanced-blur-desaturated-white-levels-465x465.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/raul-jimenez-ortega-social-picture-enhanced-blur-desaturated-white-levels-465x465.jpg\",\"caption\":\"Ra\u00fal Jim\u00e9nez Ortega\"},\"description\":\"Developer on the Developer Experience (DX) team, looking for ways to improve the DX through better educational resources, developer tools, and community support among other things.\",\"sameAs\":[\"http:\/\/links.rauljimenez.info\/\",\"https:\/\/www.linkedin.com\/in\/jimenezortegaraul\/\",\"https:\/\/x.com\/hhkaos\",\"https:\/\/www.youtube.com\/channel\/UC1B_69SF_RFcWyTWz3MdQDw\"],\"jobTitle\":\"Principal Product Engineer\",\"worksFor\":\"Esri Inc\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/rjimenez\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ArcGIS Hosted Data Services: Visualization & Interactivity Differences","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences","og_locale":"en_US","og_type":"article","og_title":"ArcGIS Hosted Data Services: Visualization & Interactivity Differences","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2025-10-16T13:35:17+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences"},"author":{"name":"Ra\u00fal Jim\u00e9nez Ortega","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/5c4567f75f116a7404ab334a37e370bc"},"headline":"ArcGIS Hosted Data Services: Visualization &#038; Interactivity Differences","datePublished":"2025-10-09T18:00:53+00:00","dateModified":"2025-10-16T13:35:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences"},"wordCount":7,"commentCount":1,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["feature service","hosted data services blog series","hosted services","map tile service","vector tile service"],"articleSection":["Developers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences","name":"ArcGIS Hosted Data Services: Visualization & Interactivity Differences","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2025-10-09T18:00:53+00:00","dateModified":"2025-10-16T13:35:17+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"ArcGIS Hosted Data Services: Visualization &#038; Interactivity Differences"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/5c4567f75f116a7404ab334a37e370bc","name":"Ra\u00fal Jim\u00e9nez Ortega","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/raul-jimenez-ortega-social-picture-enhanced-blur-desaturated-white-levels-465x465.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/raul-jimenez-ortega-social-picture-enhanced-blur-desaturated-white-levels-465x465.jpg","caption":"Ra\u00fal Jim\u00e9nez Ortega"},"description":"Developer on the Developer Experience (DX) team, looking for ways to improve the DX through better educational resources, developer tools, and community support among other things.","sameAs":["http:\/\/links.rauljimenez.info\/","https:\/\/www.linkedin.com\/in\/jimenezortegaraul\/","https:\/\/x.com\/hhkaos","https:\/\/www.youtube.com\/channel\/UC1B_69SF_RFcWyTWz3MdQDw"],"jobTitle":"Principal Product Engineer","worksFor":"Esri Inc","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/rjimenez"}]}},"text_date":"October 9, 2025","author_name":"Ra\u00fal Jim\u00e9nez Ortega","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/rjimenez","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"Developers","tag_data":[{"term_id":176482,"name":"feature service","slug":"feature-service","term_group":0,"term_taxonomy_id":176482,"taxonomy":"post_tag","description":"","parent":0,"count":14,"filter":"raw"},{"term_id":780819,"name":"hosted data services blog series","slug":"hosted-data-services-blog-series","term_group":0,"term_taxonomy_id":780819,"taxonomy":"post_tag","description":"","parent":0,"count":9,"filter":"raw"},{"term_id":29651,"name":"hosted services","slug":"hosted-services","term_group":0,"term_taxonomy_id":29651,"taxonomy":"post_tag","description":"","parent":0,"count":13,"filter":"raw"},{"term_id":780817,"name":"map tile service","slug":"map-tile-service","term_group":0,"term_taxonomy_id":780817,"taxonomy":"post_tag","description":"","parent":0,"count":8,"filter":"raw"},{"term_id":780816,"name":"vector tile service","slug":"vector-tile-service","term_group":0,"term_taxonomy_id":780816,"taxonomy":"post_tag","description":"","parent":0,"count":8,"filter":"raw"}],"category_data":[{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":426,"filter":"raw"}],"product_data":[{"term_id":761642,"name":"ArcGIS Location Platform","slug":"platform","term_group":0,"term_taxonomy_id":761642,"taxonomy":"product","description":"","parent":36601,"count":215,"filter":"raw"},{"term_id":36551,"name":"ArcGIS Online","slug":"arcgis-online","term_group":0,"term_taxonomy_id":36551,"taxonomy":"product","description":"","parent":0,"count":2437,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":765,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=developers","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2942023","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/293052"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2942023"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2942023\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2942023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2942023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2942023"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2942023"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2942023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}