3 ms·
> Some might say Vue.js is technical complexity but after investing time to learn the basics I would say that I'm reaping productivity gains. After thirty year
by mschaef 8y ago
> Some might say Vue.js is technical complexity but after investing time to learn the basics I would say that I'm reaping productivity gains.
After thirty years coding, I probably shouldn't admit this, but it's still a significant challenge to make these sorts of priority calls. This is even more true for side projects, where they're resource constrained by definition. It's easier to take risks and pay upfront costs when you have 40 hours a week to invest in a codebase than when it's only one or two hours a week.
Mainly because I find it efficient for me to use, I tend to do most of my side project work these days in Clojure. I think a bit part of why it makes sense for me to do that is that I'm carrying in a bunch of previous experience in Lisp style languages, and Clojure aligns fairly well with the way I think about building systems. It also aligns well because most of my professional experience is in the JVM, so there's a fair amount of carry over.
The reason I mention this is that I think it illustrates how subjective the notion of complexity can be. For me, in my context, it's simpler, but it's not hard to imagine it being absolutely the wrong choice for someone else.
There's also the problem of when it makes sense to pay certain costs. I have a little todo list application I've used to run my life for the last few years. My initial design idea was to keep it simple with exclusively server side rendering of the HTML. This focus on a simple approach has generally been a positive thing, but there are increasingly often features I'd like to add where the existing architecture doesn't work. The path forward is easy to describe - port to an SPA - but the effort involved is more than I have time for. My short term unwillingness to pay the cost of building an SPA four years ago is coming back to haunt me, just a little bit.
My solace there is that I probably wouldn't have actually had time to build the thing in the first place had I taken the time to make it an SPA. (And at least now I know that if I ever do make the port, it's likely to be something I actually use.)
So not an easy set of decisions to make, by any means.
> A driving factor for creating these has been to share my Vue.js knowledge with others.
This is another aspect of side projects worth considering. Sometimes they're built to solve a 'business problem' and sometimes they're built for pedagogical reasons (either self or others). That can have a dramatic impact on architectural choices, etc.