There are 5 main types of content: data,layers,tools,web maps and scenes, and apps. Data can publish web layers; web layers can create web maps and web scenes; web maps and scenes and web tools can be used in apps or to create apps.
Today’s best practices suggest that a GIS app have basemaps, operational layers, and tools: Basemaps- provide reference or context to your map. You can use a 2d or 3d basemap, and most of the time you do not need to create a basemap to use one. However you are also able to create and use your own basemaps. Operational layers- these are theme layers that you and other users can use an interact with. Layers span in a range of subjects and can support maps and apps of almost every subject. Again, you do not necessarily need to create your own operational layers to use them. Tools- these perform tasks beyond mapping including query, geocoding, routing, and other specialized tasks.
There are 3 basic tiers in WEB architecture and the generic workflow to build web GIS apps: 1.) the data tier contains formats that range from simple CSV files to more sophisticated geodatabases. This allows you to author GIS data, maps, toolboxes, and scenes. 2.) the middle tier allows you to publish desktop resources to ArcGIS Online or ArcGIS Enterprise as web layers and tools. You can add the layers to web maps and web scenes and configures the styles and popups in these scenes. 3.) the client tier consists of various ready to use apps or custom apps.
I studied abroad in Spain this past summer. I had the opportunity to visit the city of Barcelona and see many attractions. I would create an application of the places I visited in Barcelona by starting out with a basemap of the city of Barcelona, then I would create a featured layer with geotagged photos of me in these specific locations. Next, I would add fields to the feature layer and edit the attributes so I can add descriptions and context to each location I visited. Next, I would add my feature layer into the Map Viewer to configure its style and pop-up before finally using the Attachment Viewer to transform my web map into a web app.