Well that's about right. They are a bit like a higher-level language and there are some concepts that you certainly need to understand.
Of course, uibuilder doesn't need you to use a front-end framework. If you prefer, you can work with the DOM directly or even the shadow-DOM and HMTL components if you are able to keep to modern browsers.
If you prefer a more traditional, functional approach, you could also use jQuery instead.
It is the former. While there are currently a couple of bits that work directly with VueJS, uibuilder is agnostic to front-end frameworks.
There is actually only 1 file needed and that is
index.html. It is called that because of the way that ExpressJS works. ExpressJS is the web server that Node-RED uses.
index.html is a common naming convention for web servers and it lets you deliver a web page without having to put
something.html in the URL.
It is that file that loads everything else.
So look at the html file and you will see everything else that is loaded. You need to load the
uibuilderfe.js file of course as that is what provides the client end of the magic.
It is the latter. The Dashboard hides pretty much everything that is going on. VueJS is a MUCH easier framework to work with than Angular. Anglular is OK if you want to write really complex web apps but VueJS starts of easy and scales well. It is, in my view, one of the easiest frameworks to get to grips with that still has the power of any of the major frameworks. There are, however, some up-and-coming frameworks that may well be easier - they just need to mature a little (e.g. Svelte)