A form is a set of fields and a way to transfer them to the server. The method, I note, universal, works everywhere. The tag as deprecated was not declared, and, moreover, in HTML5 there was a development of forms. In the same place, they write about
<input> that "the input element represents a typed data field, usually
Further, if you want glamor, you can hang (progressive enhancement, aha) on top of the form, redefining the behavior of the browser, even AJAX, even web sockets, even a dash in a mortar. Forms it does not interfere, it only improves them.
Now, if we are not talking about a website, but a web application, the situation changes somewhat. But HTML is a little different there, no one has been doing anything for a long time in web applications - it is, in its pure form, still not well suited for them. Special libraries, frameworks, and DSLs for describing user interfaces reign there. ExtJS, Sproutcore, YUI, GWT, ...