So creating some AJAX HTML controls is no arcane magic, but did you ever wish you wouldn't have to worry about all the little details of synchronizing your data back and forth? I know I have, and so I decided to create a library to make creating basic web controls / displays easy: https://github.com/tfry-git/EmbAJAX . It's still pretty fresh, but personally, I find it quite useful, already. Licence LGPL 3+.
Core features:
- Ability to "print" common controls to an HTML page (checkboxes, radio buttons, push buttons, drop-down selectors, text input, color selection, sliders, text display, connection status indicator)
- Automatic addition of AJAX code to relay control information from the client to the server and back
- Automatic handling of the AJAX requests on the server side
- Object-based representation of the controls on the web page. The programmer can simply interact with local objects, while the framework takes care of keeping information in sync with the client.
- Allows multiple clients to interact with the same page, concurrently, and keeps controls in sync across clients.
- Supports arbitrary number of pages, and elements can be shared across pages.
- Simple but effective error handling for unreliable connections and server reboots
There's also API documentation (https://tfry-git.github.io/EmbAJAX/api/annotated.html), some basic examples, and an introductory "instructable" (http://www.instructables.com/id/Easy-ESP8266-Arduino-Core-Web-Controls-With-EmbAJA/).
I hope it will be of use to some of you, too!