3 ms·
User interfaces are hard to implement and JS is only approaching the complexity of requirements for modern UI. It's no more a single form or a button, so it sho
by ivan_gammel 9y ago
User interfaces are hard to implement and JS is only approaching the complexity of requirements for modern UI. It's no more a single form or a button, so it should not be a surprise.
On the other side, JS indeed is ugly language with trash ecosystem (btw, how long it will take for community to get rid of fsevents warning on non-Mac systems?), but there are patterns forming and best practices being documented. It can be learned, but juniors should not expect learning a huge engineering discipline in a week.
- coldtea 9y ago>User interfaces are hard to implement They weren't that hard in Visual Basic 20 years ago, nor in any modern environment like Cocoa -- and they didn't need all the craziness and frantic over-engineering that goes on in JS frameworks. The problem is everybody in the web rebuilds the whole UI from low level primitives. Need a wizard? Make one yourself. Need a form? Build it. No upfront structure to anything -- and the frameworks don't add enough either.
- ivan_gammel 9y agoUser interfaces are not just forms and wizards. You cannot build everything from a high level template. That's why the whole UX discipline exists.
- coldtea 9y ago>User interfaces are not just forms and wizards. Never said they were. Just used them as two basic examples, that web UIs still overcomplicate and have problems with. >You cannot build everything from a high level template. That's why the whole UX discipline exists. The UX discipline exists for a totally orthogonal reason: to study, understand, and suggest improvements to the design of interfaces (and the resulting "user experience" with them), whether they are made with a "high level template" or not. You still need UX if you everything with the basic Cocoa controls or Windows standard widgets or whatever. The kind of UIs you can do in native, beyond forms and wizards, the web can't even dream of. The inverse is not true (except if you do your whole thing in Canvas or WebGL which defeats the purpose).