Hi,
I'm new to front-end development and need some advice. I'm working on a project with different user interfaces like customer portals, data dashboards, and admin panels. I'm stuck choosing between React and Vue.js.
I like the big community and performance optimization with the virtual DOM for React, but the learning curve seems steep, and things evolve quickly.
Vue.js looks beginner-friendly with VueX for state management, but it might not have as many resources.
Any thoughts on these challenges or other frameworks I should consider? Your experiences matter, so please share!
Hello. I would suggest taking a look at Svelte Kit. It's easy to learn, has a growing community, and runs faster than virtual dom frameworks. I recently switched to Svelte Kit from Vue and I'm not coming back.
Svelte is definitely a good modern framework, but when you're building a product, the number of developers available to hire (in the later stages) is a key factor. For that reason I'd pick either React or Vue.
I will surely give it a try
After trying both React and Vue I'm sticking with Vue. It's just a touch more intuitive. The community is smaller on paper, but there's still more than enough high quality resources, information and open-source plugins.
Try Nuxt as well - it's a wrapper around Vue that makes your life even easier.
I've been using Vue.js for my latest project, and I agree with folks saying the dev resources are just not as there as React. Reactive state and Quasar are pretty nice though.
In short, it doesn't truly matter. While this may seem surprising, it's the reality. Every framework has its strengths and weaknesses. However, once you master one, getting the hang of another becomes exponentially easier. As you undertake more projects with each, you'll intuitively grasp what resonates with you. There's no definitive 'best' framework, just the one that you genuinely enjoy and feel enthusiastic about using for your next creation. 😉
Next.js because it offers server-side rendering (SSR) and static site generation (SSG) for fast initial page loads and improved SEO performance. Automatic code splitting, intuitive routing, and a great developer experience make it an efficient choice. With a large community, built-in TypeScript support, and versatile deployment options, Next.js is my #1 choice
I prefer quasar, because it's easy to learn and contains rich UI elements library.
Take a look at solid.js, similar to react but with (in my opinion) a superior "mental model".
When I was trying to get myself into modern web development, I came across the same question. Somehow, my choise landed on Vue. And after 5 years I can tell you something.
It's an amazing tool, friendly and intuitive, but when in comes to ecosystem - it just sucks. Almost all libraries are undocumented and buggy pieces of shit. For me it is a pro - I like inveting wheels and I wrote an UI library for myself long ago and I am quite happy with that. But if you're gonna work as a Vue developer - it's a nightmare. If you want to put together an MVP real quick - it is also a nightmare.
React (with which I have about two days of experience) might seem more daunting at first, but it truly shines once you get past those initial hurdles. And when it comes to its ecosystem - it's excellent. You have a plethora of options to choose from. Everything is well-supported and, I believe, well-documented.
Furthermore, if you ever decide to transition from indie hacking to a 9-5 job, having experience with React will open up many more opportunities. Finding a job as a Vue developer is much more challenging
Also, forget about Vuex, it is deprecated already and replaced by Pinia.
And don't listen to those who tell you to try Nuxt right away - the only reason you want to use is SSR. All the other "features" are trash and excess overhead mostly.
NuxtJS, it will be quite easy to understand if you have little or no experience. NextJS will be more difficult to understand.
learn NextJs, which is fast, responsive, and easy to build. SEO friendly too. And if hosted on vercel, then it's the best combination.
But on the other hand, the best front end would be "what you know how to build" and leave the rest. I have a client who paid me to build a marketing front end portfolio site for his AI product, he knows wordpress but then he regrets making it on next js because he had to ask me build more stuff on it too everytime he wants to introduce something new.
React/Vite + TailwindCSS
Haven't worked with Vue but React has a lot of resources out there which should get you up to speed pretty quickly. In my experience, you can also move pretty fast with Next.js to build what you wanna build.
React and next.js
Svelte is the best choice for a beginner in '23. Easy to learn and anything Javascript will work within the context of Svelte without needing Svelte-specific edits.
Its not really a framework but a whole language: Elm hands down!
I've loved NextJS. It's built on top of react, but much faster. I would recommend it over Vue.js.
If you feel any early resonance with one or the other, I'd go without and I wouldn't give a whole lot of thought beyond that, because this seems like a low-stakes decision. Either will get you good results and put you inside a solid community.
The community of React is bigger than Vue.js. I recommend the antDesign or radixUI for you if you use React.js. Vue.js also has many UI libraries, like Quasar, Element UI, you can refer to official Vue community website.
Finally, It's depend on your business. So, I think maybe implement the idea quickly is more important, maybe Vue is better for you.
If you're new to front-end development, Vue.js might be a better starting place for you. It's simpler to understand and has well-organized documentation. Transitioning to React, if necessary, should be manageable as you gain experience.
Keep in mind that both frameworks are valuable and extensively used, so your choice will not limit your job opportunities. Begin with Vue.js and build your skills; you can always investigate React later as you get more experience with front-end development.
Aaikansh - Reactjs is my goto framework. Most large companies have adopted React stack as their go-to stack. If the objective is also to land a job, go with ReactJS. You will also end up learning another framework such as NextJs..
If your objective is to build an Indie product, Vue.js is relatively easy, readable and intuitive. It is well-documented and supported.
@Aaikansh_Agrawal - keep in mind your goal. I'm a builder and prefer React (I love state management with hooks and the action type pattern), however the customer could care less about your technology stack (frontend or backend).
What's your goal? Are you trying to build a fun app with technology you enjoy? Go contribute to open source, either your own project or a project that uses your tech. Are you trying to solve a problem? Use any tech that gets the job done, POCs are your friend, quick and dirty is your friend. If you need to clean up your mess after you've created a successful product, you can hire or rebuild later (if the cost justifies the rebuild).
I think Rob Walling suggested this approach in one of his YT videos, and it's changed my perspective on how I build to solve problems.
P. S. I created a brand new React website with Typescript using ChatGPT 3.5, and it was very quick (less than a few hours to get a few pages with state management).
I do not if it applies but I use (and really love) React Spectrum:
https://react-spectrum.adobe.com/react-spectrum/index.html
I am starting a new front-end language called bedpl.js but is still in early stages.
Take a peek at https://www.b-e-d.org
See page source code. See if you would like to program like this your user interfaces. Send some feedback if you want. :)
Pedro