I’ve had the feeling that client-side software development is a mess for some time now, but since I’m mostly a server-side guy, I’d dismissed my feelings as being due to unfamiliarity with the tools and practices. But I guess it’s not just me after all.
led me to this article
Why is this? We all know how crucial the user experience is. So why is it that in 2014, after all these years of software engineering theory and practice, that it’s such an incredible pain in the neck to build user interface components.
I don’t really have an answer. I thought that Java applets were a pretty good answer; they could be run without cient-side installation and provided a pretty rich set of controls. But they’ve fallen out of favor, and the ground is littered with the corpses of alternatives that attempted to provide the same functionality; Silverlight, Flash, JavaFX, etc.
I think that this type of architecture (most of the business logic on the server, with a lightweight but rich client communicating back to the server) is the right answer, but the implementations seem incapable of garnering market share.
As an enterprise software developer, I don’t need clever hacks. I need a nice, boring environment that lets me pull stuff out of a database, shove it onto a screen, let the user fiddle with it, and put it back into the database, with as little coding required as possible. Given that we’re 20 years into the web software development paradigm, shouldn’t we be there by now?