I have no idea about IntraWeb, but since this was mentioned as a web widget, I would imagine
* Pascal application listens on defined port (80 or custom)
* App is invisible or has only status window, and serves forms as HTML to client
* The server could be in two parts: a simple web server for basic files, and a webservice for more (disadvantage: I don't know if a web service class exists and if so, if it would co-exist with a parallel file server on the same port).
* Clicks would still be easy if the whole "window" is a form
* Most things would be AJAX:
* using javascript events to report minor things like keypresses to the server
* changes the server does on those events would be the most complicated thing I guess; there would be need for a communication structure between the Pascal server app and the JS client app for visual changes.
Well, actually I need a Lazarus web server app in the near future, and with that tutorial page in mind, I can try to implement a few things as a start.
My concerns would be:
* HTML is a standard defined to create pages that are independent on screen resolutions, even if many web programmers don't care about that - forms are usually very strict in size. So either this takes good coding (using Align a lot, making it more difficult for the widget), or ignores the standards.
* HTML even with AJAX is still kind of unidirectional. The client can fire events like clicks, keypresses etc. that will not reload the whole form (making it quite unusable) and gets feedback. We could define some kind of message transport structure so that the handler called by the page could change things on the page. But the widget would not to store copies of nearly everything, because the widget can't just "ask" the client on its own, it's dependend on those events.
Hmmm. I guess I will try something "simple": code that transforms a form into HTML, which I could need for myself anyway, and see from there how it goes.