What part of uibuilder don't you like? It would be much better to improve 1 Node than to have several that only do part of a job.
Or if you are just doing it to learn, I'd suggest looking at the core http-in and -out nodes.
uibuilder is actually fairly simple in what it provides. The complexity comes largely from working around limitations in ExpressJS (e.g. how to remove end-points from the server) and making sure that everything is robust with few edge-cases to catch people out.
uibuilder does the following:
- Serves up a static folder as an end-point
- Creates a custom websocket channel for comms between Node-RED and the front-end
- Serves up static folders for installed front-end libraries
- Provides a simple editor for front-end code
If you just want the first of those, you can use Node-RED's static folder. The second can be manually created using the websocket nodes. The third could be worked around but would require a more complex setup. The final point can be avoided by being able to edit files on the server.
So everything can be done without uibuilder but nowhere near as easily.
uibuilder is aimed at getting people with minimal programming skills to a point of being able to serve up completely customised, user-focused web apps as quickly and easily as possible.
As well as uibuilder and http-in/-out, you also have Dashboard, Node-RED's own static folder and several other contributed nodes to let you build web interfaces. Do we need another?