In this post we gonna talk about the ecosystem of each framework or library if we talk about react i mean react with their solutions like next or gatsby, I know that you are saying "React is a library", yea but next.js and gatsby no, the same with Vue and their own ecosystem. I have experience building Production Grade apps with each one of these solutions, so i wanna share with you what is my way to see each of them.
Angular 1 solves it:
Ok the first time that I worked with a framework was in 2014, was my fist time with Angular 1.x.x. To me was a good experience in that moment Angular solved a lot of things that makes my productivity super amazing, but then what was a problem?
Angular 1 ruins it:
The problem is called SEO, at that time there was no solution for that, so i decided to move to another solution.
Vue and their ecosystem solves it:
Then a couple of months later, i knew Vue.js, and wow the fist version was amazing to me, was the mix between Angular and React, the best of both worlds, so I started to work with Vue, but what's was the problem with Vue?
Vue ruins it:
The problem was SEO, and the bundle size of a Vue's project was much heavier in some cases than its direct competitors, but Vue 2 solves that with modern techniques like SSR and other news things like Nuxt, But it was still quite uncomfortable work with a huge object component that could be a unorganized code if you don’t have care about clean code.
Angular solves it:
Then I decides go back with the all powerful Angular, the new Version, in that moment the questions about Versions was solved to me, and was very attractive use it, Angular was my first love so i decided to give it a new opportunity. Wow!! Angular has a lot of things that make it a great Framework, a great architecture, Typescript, Lazy load modules, their own implementation about http client, integration with reactiveX, their own State management system with NGRX.
I started to use it with a production grade projects, and I loved it, for all needed that I had, I used it, if I wanted a Mobile app, I used Native-script, If I wanted a SPA then I used it, if I wanted a SSR then I used Angular universal, If I wont a SSG I used Scully.
I know, I know, a lot of people could say's: "Hey but Vue has the same solutions too" yeah that its true, but the architecture of Angular is amazing to me Angular has the best architecture that exist, but then what is the problem with Angular?
Angular ruins it again:
The problem is the same architecture and the workflow, "but what? what you saying? you just said that angular has great architecture, why are you saying this now?"
Vue 3 is a big competitor with Nuxt:
Yes and no, haha. Vue 3 is amazing with composition API, that is very similar hooks way that React has, Vue 3 solves a lot of things, the performance increase is very big, and is compatible with past versions, nuxt is so powerful, has a lot of things that can make very easy a productive your development journey.
Vue 3 ruins it:
But what is the problem with Vue solutions like Nuxt, VuePress, Gridsome, etc? The problem is that each of one are for a specific task not for all tasks, and Vue continues getting a mix between Angular and React, not so easy but no so Powerful. For example Nuxt has SSG and SSR but no both in the same project, VuePress and Gridsome are only for SSG.