Web AppBuilder for ArcGIS enables you to create new custom web mapping applications in an intuitive, easy to use, WYSIWYG wizard-like environment. It provides you with the optimal means to create and deploy new web apps without programming. Built on the ArcGIS API for JavaScript and HTML5, you can create apps that can run on any device. The intent of this blog post is to clarify 3 common misperceptions about Web AppBuilder for ArcGIS.
Q1. Are the 3 different editions of Web AppBuilder for ArcGIS:
functionally equivalent? In other words, do they all have the same capabilities?
A1. Conceptually, yes – all 3 editions of Web AppBuilder have the same functionality. However, because of the nature of their release cycles, sometimes the 3 editions may not be functionally equivalent. Typically, new enhancements are first added to Web AppBuilder embedded within ArcGIS Online (which occurs several times a year). Next, an update to Web AppBuilder Developer Edition will follow 3-4 weeks after the ArcGIS Online update. Lastly, Web AppBuilder embedded in Portal for ArcGIS will be updated with the next Portal for ArcGIS software release. Therefore, there may be certain periods of time where the 3 different editions of Web AppBuilder are not quite in sync in terms of capabilities. Web AppBuilder Developer Edition also has some functionality designed to support users who want to extend Web AppBuilder with custom widgets and themes – specifically in the “builder” user experience.
Q2. Can we add custom widgets to Web AppBuilder for ArcGIS embedded in ArcGIS Online and Portal for ArcGIS?
A2. Enabling custom widgets within Web AppBuilder embedded in ArcGIS Online and Portal for ArcGIS is not a supported workflow. To be specific, this means that you cannot add custom widgets into the Web AppBuilder “builder” user experience. Only Web AppBuilder for ArcGIS Developer Edition supports custom widgets and leveraging them in the “builder” user experience.
UPDATE June 2017: Custom widgets are supported in Portal for ArcGIS 10.5.1, see this blog for details.
Please note that it is possible to use Web AppBuilder embedded in ArcGIS Online and Portal for ArcGIS to create a new web app with custom functionality. First, you create a new web app with Web AppBuilder in ArcGIS Online or Portal for ArcGIS. Next, you could download the code for the web app and deploy it on your own web server. Then you could add your own custom widgets within the web app by modifying/editing the app’s configuration files. Depending on the custom widget(s) being applied, this may require some development skills with JavaScript. Therefore, apps built from Web AppBuilder embedded in ArcGIS Online and Portal for ArcGIS can use custom widgets, but the app would not be hosted in ArcGIS Online, nor Portal for ArcGIS.
Q3. Can Web AppBuilder for ArcGIS work directly with web services?
A3. Web AppBuilder was designed with the latest technology innovations from Esri. This includes supporting the Web GIS pattern and leveraging the ArcGIS Platform. Data content for Web AppBuilder is defined and based on web maps, which is an important concept in the ArcGIS Platform. At its core, a web map is a configuration file that stores map definition (e.g., layers, visibility, and extent) and behaviors (e.g., pop-up windows). The web map is one of the mechanisms that promotes and facilitates sharing and collaboration in the ArcGIS platform.
Web maps are typically created within ArcGIS Online and Portal for ArcGIS. Authoring a web map is very easy and empowers non-GIS experts to make their own maps. Web AppBuilder was designed to extend the reach of these non-GIS experts by making it easy to create a custom web app for their web maps – apps that can run in desktops, smart phones, and tablets. This strengthens the concept of bringing the power of GIS and spatial mapping throughout an organization. For these reasons, Web AppBuilder is not designed to directly work with web services when specifying a web apps’ map content. This is not a supported workflow.
However, Web AppBuilder does work directly with web services via its many widgets. You can configure widgets to work directly with your web services by specifying their REST URLs when you set the properties of a widget. For example, you can specify your own basemap services for the basemap gallery widget, a custom geoprocessing service for the geoprocessing widget, or a custom print service to work with the print widget.
Sincerely,
The Web AppBuilder for ArcGIS Dev team
Article Discussion: