How I feel when I’m building apps with Vue

A room with a Vue

I’ve spent a lot of time looking for a framework to replace Angular. It’s not so much that there was anything wrong with Angular, but the move from the Angular 1.x architecture to what came after it encouraged me to take a look around and see what else was out there. If I was going to have to essentially learn a new framework (Angular 2–7 were different enough), I might as well make sure I had the one that I wanted to bet the mental farm on.

This started a journey for looking at the competing frameworks Vue and React. I didn’t have a need to make an immediate decision, and I wasn’t driven by a need to get a job writing web pages or be concerned with whether or not my boss or team would be happy with my decision so I could take the time to look at a framework and see what I really liked.

The first framework that I tried was React. When I was prototyping applications using Angular I had seen the groundswell for React and then watched ReactNative become a viable path for building mobile applications while utilizing the same framework I was using for the web. This was similar to the path that I had taken with Angular and ionicframework, so it seemed that I had found the right framework for me. That is, until I started learning it for my own projects and making changes to the code. React embraces the idea of Javascript driving the HTML. If you’re a hardcore Javscript developer, React is your framework. It will let you write huge swaths of things in Javascript and toss out bits of HTML. However, when I was writing this code — it was taking me back to my JSP days… and not in a good way. Much of the code that I saw was messy and in many ways a bit janky because people were gluing all sorts of solutions together and the integrations were messy. The layout of where HTML sat within React components felt ‘unnatural’ to me and I never really felt that I liked the look of things. While it was definitely a powerful way to get things done — it just felt disorganized to me. Others will likely have a different opinion and justification, but since I’m not drawing a paycheck writing React — I didn’t want to have to deal with that. So after several months of playing around with React to build some things, I decided that this wasn’t the framework I was looking for.

I tried a few other Javascript frameworks that were suggested by friends (blaze, ember, backbone, and polymer), but they never seemed to give me anything more than what I could get while using React and they either didn’t do enough (though they had a good syntax) or they wanted to force me to operate in a way that didn’t seem ‘fun’. I was choosing a framework so that I could put together things quickly and I wanted to actually enjoy doing it. Why these frameworks got me some of the way there, I always found that I’d have to do something that just made me feel bad.

All this time I had pretty much ignored Vue. I don’t know why, but something about Vue and the way it was marketing itself just always made me feel like it was an “also-ran” so it always stayed at the bottom of the heap. Some of my initial looks at the code just didn’t excite me. This may have been the universe just forcing me to wait because while I was playing around with all the other frameworks, Vue got really really good! A few months ago I decided that it was time to do my due diligence and try it out and I was amazed with what I’d found. Here was a framework giving me all the data-binding, virtual DOM, and a tag-centric syntax. I like the tag-centric syntax. It looks clean and organized to my eye. For me it’s easy to read and it’s community and tools… well that was just better than anything I’d seen from anything else. I was really surprised that it wasn’t corporate-backed like React and Angular. Throw in a Vue Material component library and I was sold.

So now I’m a Vue convert. I’ll do my normal thing and start making tutorials and videos for building stuff with Vue and move on. Between Vue, Python, Flask, Lambda, and Keras I pretty much have a new stack.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store