Here's the `modern` stack I would use. but before jumping to names directly, why modern and why not battle tested react-materialui or bootstrap? Because the stack I am explaining below 'actually' solves some major problems.
- If you care about SSR then definitely either NextJS or remix.run
- If SSR is not the priority then STAY AWAY FROM REACT. Creating the complicated UIs in react is easy, but refactoring is hard. React on a big project is like point free code with ramda or lodash/fp. you write code, compose and everything is working and then you realize you missed something, so you go back and check your entire UI is a chain of many smaller, intertwined components and it's too late to refactor now. Hooks and global state management (redux) is another huge mess
- So if not react then what? That you will have to evaluate yourself.
- Vue is notoriously popular in open source community, and have often proven to be a reliable framework, especially with Vue3 you get benefits of performance + DX both. whats wrong with vue? Lots of `this` usage, vue specific directives, directives are not expressions but strings.
- Angular is worst of all. bad docs, bad DX, extremely bloated. OOP oriented, I would stay away.
- Svelte? yeah it's like Vue + React child. A lot less intuitive than either. plus community is smaller than any other framework. what you get is only and only performance, comparable to Vue.
What stack I would use:
- SolidJS (haven't used it, always wanted to try)
- If you are going with nextjs/remix/react Mantine-UI for components
- If you are going with React (CSR), chakraui with custom CSS. Good DX.
- Graphql + a lot of typescript ecosystem for large amount of codegen. the less you type it yourself the better
- If you care about SSR then definitely either NextJS or remix.run
- If SSR is not the priority then STAY AWAY FROM REACT. Creating the complicated UIs in react is easy, but refactoring is hard. React on a big project is like point free code with ramda or lodash/fp. you write code, compose and everything is working and then you realize you missed something, so you go back and check your entire UI is a chain of many smaller, intertwined components and it's too late to refactor now. Hooks and global state management (redux) is another huge mess
- So if not react then what? That you will have to evaluate yourself.
- Vue is notoriously popular in open source community, and have often proven to be a reliable framework, especially with Vue3 you get benefits of performance + DX both. whats wrong with vue? Lots of `this` usage, vue specific directives, directives are not expressions but strings.
- Angular is worst of all. bad docs, bad DX, extremely bloated. OOP oriented, I would stay away.
- Svelte? yeah it's like Vue + React child. A lot less intuitive than either. plus community is smaller than any other framework. what you get is only and only performance, comparable to Vue.
What stack I would use: - SolidJS (haven't used it, always wanted to try)
- If you are going with nextjs/remix/react Mantine-UI for components
- If you are going with React (CSR), chakraui with custom CSS. Good DX.
- Graphql + a lot of typescript ecosystem for large amount of codegen. the less you type it yourself the better