Notes on code, technology, caffeine and everything in between.

Frameworks

May 28, 2023
tl;dr:

Choosing the right javascript framework to create a modern frontend is like choosing between pasta or pizza at an italian restaurant. It is simply impossible to make the right choice. For me, this is something highly frustrating.

Coming from jQuery, I didn’t really understand the hype for a long time. With jQuery, we basically stick with vanilla javascript and just have a little more elegant syntax. It helped me realize things faster. I started learning jQuery somewhen around 10+ years ago. Since then, everything has changed. I always had an eye on it, but after more and more time passed, I’ve seen frameworks and their APIs change all the time pretty fast. I didn’t want to build something that will not work only a few years or months from now. Especially, because jQuery is so old that it’s basically stable now.

On the other hand, I have to admit that modern frameworks can make things a lot easier than jQuery or vanilla js, just because you don’t have to reinvent the wheel every time you want to bring some kind of reactivity to a DOM. Which is always the case when using jQuery. But when starting new projects now, it is absoultely time to say farewell from jQuery. But where to go? I’ve tried out Next.js first, as a friend recommended it to me a while ago. I really didn’t like it. Then I’ve tried out Angular and was pretty impressed, especially because it uses typescript natively and the Angular CLI is pretty powerful. But after building a prototype with it, I realized that it is just overly complex and heavy. In fact, I’ve spent more time figurint out why things won’t work as expected and debugging, which really was no fun at all.

So next I decided to try out Svelte, which is probably the most hyped framework out there at the moment. I didn’t like it as well. I just don’t know why. It is probably because I am used to the component based approach of Angular. So I decided to give Vue with Nuxt a try. I am not sure if it is the right choice for me, but I will give it a try. I am currently building a prototype with it and will see how it goes. Feels a bit like a lightweight Angular, which is a good thing. I will see how it goes.

Sometimes I miss the old days, where everybody was building stuff just with PHP, MySQL and jQuery. But I guess that’s just the way it is.