Understanding widgets, panels, and themes
A widget is a set of text files that you can share, move, and deploy to a Web AppBuilder application.
Typically, a widget encapsulates a set of isolated and focused business logics in which users can conduct a task. A widget is not only visually interactive with the user, but can also connect to server side resources such as map services from ArcGIS Server or ArcGIS Online.
For more details, see the Create a custom in-panel widget sample.
A panel is a UI element that displays the widget’s content. Multiple widgets can display in one panel.
By using a panel, the widget developer does not have to deal with how the widget and its content (data) displays in the HTML viewer. However, the widget developer can choose to not utilize the provided panel (for more details, see the Widget Development section). For example, the Scalebar widget has its own unique UI.
You can modify or create new panels to obtain new functionality, such as making the widget display movable by dragging, and so on.
A theme defines the UI of the web app created by Web AppBuilder. Themes define:
- How the widget displays via theme panels
- The color scheme, fonts, and so on via styles
- Where widgets are located on the viewer’s UI, via one or more configuration files
Skill and software needed for Web AppBuilder developers
Although the required software is a basic text editor, a standards-compliant web browser, and an Internet connection, the following are recommended for efficient development:
- Sublime or Aptana Studio IDE
- Chrome (latest version)
- Firefox (latest version)
See the following for additional resources: