Layer list in WAB has some user interface tips to yet gain from the venerable AGS JS TOC.
It needs to turn a layer on in one click, even if the parent is off. At least as a default behavior, which can perhaps be adjustable but default should be one-click turning a sub or sub-sub layer on. All the way up the chain.
Needs Partial checkboxes to tell a user not all layers in a group are on, and to go inspect it. (that's in Arc Earth)
Needs to line up legend swatches next to the layer name, like the old AGS JS TOC. (example- my site) (i.e. legend symbol png to the left of the layer name, on the same line. Not below it, eating up an entire second horizontal line when it's only 10x10px or so.) Should show legends for single features, and if there is more than one legend symbology, hide it, like AGS JS TOC. For example fire hydrants have one symbol, show those. Bus routes with 20 symbols would be minimized by default with a '+' and when clicked, show the symbols and plus control would turn to a '-' to minimize it again. Like AGS JS TOC.
'Details' should not go to a REST page it should use my Metadata Boxes mod. And allow user to do all the things for sub-layers they can now for layer. For example Transparency doesn't work on sub-layers, only the top-level, a service. So not applicable for most layers. Also for some reason building the legend swatch for LayerList in WAB is very slow and nearly hangs my server (which is small for the public app). AGS JS TOC is so fast it's basically instant.
Last, provide option in Dev Edition for us to choose which layer/sub-layer to expand and which not to expand, at startup. Versus the current option of just whether to expand all layer or not. Seems like minor details but the first thing I notice users do is either search an address (most common) or look to turn a layer on. They always stumble on LayerList. Always. Even with some workarounds I've done like turning top-level layers on and having sublayers off, to allow for one-click turn on. The checkbox confuses them in this case as it confusingly suggests all sublayers are on, when none are.