Hacker News new | ask | show | jobs
by divan 1500 days ago
As for me, forms are the single most important aspect of many web apps. Including critical ones for the society (banking, tickets, taxes, etc). Large part of my frustration with the state of web stems from how terrible experience with (creating and using) forms is.

Web is almost 30 years old by now, and the announce of a way to make forms relatively easily, still generates an excitement.

I mean, how many more years webdev community needs to realize that typesetting engine from 80s is not a good option for making modern robust UI apps? Technology for making hyperlinked web-pages is a terrible foundation for apps.

3 comments

Well, forms aren't easy on any client toolkit (e.g. iOS/Android).

Forms are hard because they are (1) pure user input—often textual—, thus inheriting all fundamental difficulties with user input, and (2) arbitrarily reactive such that changing one value may arbitrarily impact other values, e.g. bidirectionally, and (3) you are at the mercy of the platform supporting the input UX that you want to build and you quickly find yourself off the rails otherwise.

This means that even though forms seem like they should be trivial, it's just as hard to generalize over forms as any other UI concept. Or rather, it's not a solved problem for the same reason UI in general isn't a solved problem.

I'm not saying it's easy. But hey, StackOverflow threads on how to post form with checkbox with "false" value in it are pretty telling.

I've done forms with Qt, QML and Flutter, and it's completely different experience.

Well, every platform has its idiosyncrasies that you have to learn. No less with Qt, QML, and Flutter. You just take them for granted.

Cocoa/UIKit are my wheelhouse and have their own share of entry level StackOverflow questions. Though personally I think they make even less sense than the web toolkit. But if you just go by StackOverflow questions, you'd wonder if it was possible to learn anything.

Just search something like "auto layout" on StackOverflow. Turns out that client dev just isn't that easy no matter which abstraction you want to use.

I watched a video recently on how to make fire. 30,000 years we’ve been doing it, and videos like that are still interesting!
1000% this. The state of native form inputs on the web platform is dismal, truly. Particularly on mobile.