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

A backend dev with minor FE exp here.

1. I would go with Vue. Because Vue is focused towards DX and pragmatism. It provides good defaults to start with and flexibility to go through less travelled paths should you need it.

Part of the reason is that when I first tried react (in 2016), I couldn't get it to build. And setting up build tools was not easy.

Vue can be used with a single script tag, so I was able to get it up and running without any issue.

I started with Vue 1, and recently worked on a project using Vue 3. Despite my gap and version changes, I was able to get up and running without issues.

2. Vue docs are great resources. Personally I prefer video courses to get started and then docs and guides. I can personally vouch for Laracasts Vue tutorials.



I also use Vue. It's got good docs, a decent amount of plugins, etc. But the main thing is that it doesn't make me use Jsx for HTML. Jsx in my opinion just creates ugly view files which are massively more complex and harder to read than they really should be.


JSX gives you a powerful way to describe your html. But template is easier and gives more opportunities for optimizationa.

I like that Vue has chosen to use templates as default and supports jsx for complex use case.

This way advanced use case can leverage the power of jsx while most common scenario can use html


I feel like if your views are complex, you're probably doing something wrong. Views really shouldn't have complex logic in them.


It is just like Reflection. Usual business logic should not use it, but all complex libraries (ORM, MVC, Dependency Injection) use Reflection and won't be ergonomic without it.

Same way, the jsx is advanced API. You will have complex logic, when you are authoring super reusable components for a variety of use cases. And jsx helps you in making it possible.

While allows you to use simpler approach for rest of the codebase




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

Search: