Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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



> it's too late to refactor now.

typescript effectively eliminates this issue, which is why it comes so highly recommended - regardless of framework.

vanilla javascript is not your friend on large, complex projects.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: