Lightweight rapid development Web UI

Associate
Joined
3 May 2018
Posts
604
Hi guys,

tldr; I need recommendations for lightweight web frameworks for a home automation front end.

I'll start by saying I'm a professional software engineer for some 15 years. It's been a while since I was in a project working on a Web UI or GUI and even then it would have been full enterprise stack stuff. So I'm definitely behind the times and I don't need that level of enterprise for my current needs.

I am designing and implementing a home automation system. Some details in previous posts here, but I also cross link this thread of my ramblings (if you are interested) in the design the heating controller. https://www.automatedhome.co.uk/vbulletin/showthread.php?5951-Hi!-DIY-Home-automation-system-build

What I need is a lightweight, easy to get up and running, easy adaptable, hackable, open source web ui framework.

Requirements are mostly data display in easy to read large text displays and arrays of controls for switching things on/off, changing target temps, profiles, modes, heating on/off etc. Pulling graphs in from Cacti etc.

Security obviously becomes an issue when these are to be accessed remotely, but for now I'm willing to just firewall it and SSH tunnel with my phone to get port 80 access. It would be nice if the web ui framework included decent OAuth security and was well maintained.
 
Associate
OP
Joined
3 May 2018
Posts
604
Thanks, but,

Bootstrap if far too low level it's just a wrapper around JQuery for styling Twitter. I don't even think it has a REST api call in it (maybe with JQuery you can do an HTTP GET). Normally a web UI framework will "use" bootstrap, but using bootstrap and JQuery is a bit too low level although... I could end up there.

ElasticSearch is a MASSIVE scale data search engine for storing data, indexes to it and performing searches on it. Not sure about Kibana but elastic search footprint is huge, though you can get small scale embedded versions of it inside webapps. All you need to know is it's Java based, so minimum of 4Gb to run "Hello World" these day.

Friend in work has suggested: https://aurelia.io/home
 
Associate
OP
Joined
3 May 2018
Posts
604
What about one of the python based web solutions, flask, django etc?

I will have to explore this. There are quite a few things that would be much easier if I did it in the same process. In my system most components are distributed. I am afraid to put GUIs (vai REST or whatever) on them I will need to wrap their data layers in network micro-services which, while not a big deal is just extra work.

The fear I have with these frameworks is they tend to stipulate that you create a "Flask application", rather than just call to them as a service. That could be too intrusive, but I'll have a play.
 
Associate
OP
Joined
3 May 2018
Posts
604
Flask looks quite interesting with it's REST extension.

The thing that concerns me is that it's run with your script as an argument to flask. So my __main__ method will not be called and cannot run. I would need to flaskify this and out of pure irritation I might not want to do that. Too many people write application frameworks with the blind sighted belief that their framework is all people need and that everyone will just port their full application over. What exactly is wrong with calling into Flask like:

flask.app.update() or something?
 
Back
Top Bottom