DEV Community

Cover image for What making a game in Vue.js taught me about Front-end development
Chris Power
Chris Power

Posted on • Originally published at browntreelabs.com

What making a game in Vue.js taught me about Front-end development

This is the most useful thing I have ever done in my career. I have created my
masterpiece, my magnus opus. Beethoven himself would be shaking in his little
boots at the awe of this creation. Dear reader, I've done it, I have created:
"Battleshit".

BattleShit

https://codepen.io/cpow/pen/JqVjRL

A disclaimer

I want to make it perfectly clear that I know the code here is terrible. It was
hastily written, it probably has bugs, and it doesn't follow vue.js conventions
all that well, at least, to my understanding.

So why write it?

I wanted to learn just a little bit about Vue.js and to prove a little theory
I've had for some time now. That theory goes like this: All javascript
component frameworks operate in mostly the same way. They all have similar
patterns, conventions, and best practices. And they're all very easy to pick up
and start programming with. Our over-engineering of tools, tooling, and the lack
of a large standard lib in Javascript is what makes front-end programming hard.
Having to learn Vue.js, or React, or Ember, or Angular is easy; having to learn
the respective ECOSYSTEM of these frameworks is difficult. In Front-end development,
all the concepts are the same, we just find more and more clever ways to make them
difficult to understand.

In Front-end development, all the concepts are the same, we just find more and more clever ways to make them difficult to
understand.

So, onto BattleShit

This is a really really silly game I made in about an hour, give or take. I just
wanted to learn Vue.js a little bit, and through that, understand our ever evolving
front-end ecosystem just a little bit more. I can safely say that after
Battleshit, I have a greater understanding that we are just re-inventing the wheel
over and over again.

Anyway, enjoy Battleshit!

Top comments (0)