5 ms·
Surviving UI Programming
- hibikir 13y agoUI programming is actually the most fun you can have in many shops. How many developers are out there mind numbingly writing CRUD services to some ORM abstraction? It's an easy life, but it's really no fun at all. With UIs, things change, feedback is far faster than in a service-only world, and there's a whole lot more freedom. For some of us, it's about as fun as things can get. You just have to be able to pay the price of understanding a bunch of infrastructure underneath, and the newer the technology, the worse the infrastructure gets, because it's buggier and incomplete. So as far as UI development goes, there's a bit of a technological ugly valley. Things are fun if you are on the bleeding edge, and building libraries yourself. They can also be fun if you are running on something mature and documented. It's the space in between that sucks. Now, the sad thing is that many places out there are choosing web technologies that are in this ugly valley. Just enough help to start to have expectations on getting things done quickly, but widgets that are one or two features away from what you want, and yet are almost impossible to extend well. So how do you survive UI programming? By being very careful about the tools you use.
- hyperpape 13y agoI submitted this because my feeling about UI programming is that I'm missing some sort of theory/language/spec for describing what I want and what the APIs can give me. I don't know if that's a failure of my education, or if it's just not out there, but I always feel like I'm guessing what a given API call or widget will do. With other areas of programming, I make plenty of mistakes, but they're because I ignored a case, or misread documentation, or didn't think through how an algorithm would function.
- lightblade 13y agoIf you are just bored, then perhaps you're not getting the hard problems. Even CRUD can be hard when you are working with bad API backed by complex domain model. For example, I'm working on a form (easy right?) that allows user to build layers on phantom models before it is allowed to persist. Each layer of model is supported by one API. There are distinct possibility that the persisting can fail at one time and you need to roll everything you persisted before back (through the same API). Even those rollback calls can fail. Not only that, but each of these API calls can take 10 to 90 seconds to complete. Now it's hard right?