DEV Community

Cover image for Which web framework would you recommend to learn?
Rodrigo Isaias Calix
Rodrigo Isaias Calix

Posted on

Which web framework would you recommend to learn?

I remember there was a time when you would start a project and then probably go to GitHub to look for code or to a folder where you had a... yup... a library of libraries, plugins, utilities and then select the ones you would use in your project... (jQuery, cough cough)... those were simpler times...

But nowadays things has gotten quite complex, we use module bundlers, CSS compilers, package managers... and you guess it, JavaScript (or web) Frameworks and it seems to be a trending topic. When you look at job postings, the word “React” and “Angular” pops in very often, and there is a big HYPE for them among the developers community. But not just that... there are TONS OF THEM!

Me... on the other side 👉👈... I still haven't learn in full depth a JS Framework (well, Reef JS kinda (which is very vanilla)), I think vanilla JS is beautiful in it's own and a few (well coded) libraries can take you very far, I like simplicity and I tend to think that HTML, CSS and vanilla JS very often is enough.... however...

Recently I decided to learn Svelte, among the other options out there, this seems like a solid option for me (no pun intended... or is it?), so far I'm liking the experience and I get a bit more of why developers like frameworks. But maybe is because Svelte makes the experience nice, but I still don't know too much of other frameworks. but probably you do!

In your case, which framework do you think people should learn and why? Am I actually missing something good? What I'm not seeing? Do you think Svelte was a great choice? If you are not much into frameworks, which alternative would you recommend?

Leave your comments below!


Note: none person, product or entity mentioned in this post is sponsoring this content.

Puppy image from AltPhotos

Latest comments (10)

Collapse
 
michalbryxi profile image
Michal Bryxí

To add to the mix: All my projects are for now and foreseeable future in EmberJS. Also we use it at work.
Full warning: It's not as hyped and cool as other kids in the block, but it has been around for a bit longer than most of them. Not in the negative way. The community around it has matured and is often doing things that are in the distant future for other frameworks.
Ember is an oppinionated, batteries included(tm) one. Meaning that you decide minimum things, because by default things are just there for you. Routing? In. Data layer? In. Resources (not sure how people call this in the outside world)? In. Wiring for testing? In. SSR? In. etc.
But the main nice thing for me is that: (1) Ember has an absurdly good history for forward compatibility. I have app that has been with me for 7+ years now. Still on the latest version without any major rewrites. (2) While other frameworks tend to give you just heap of libraries and off you go, Ember will give you coherent experience & guides on how to use it. No more reinventing the wheel. (3) The community is just awesome. Seriously everyone says that. Go to Ember Discord and you will see how nice & helpful people are.

Collapse
 
schemetastic profile image
Rodrigo Isaias Calix

Wow.... you know, while reading your comment i remembered PHP, a lot of people is using Node JS, but PHP can still be a very a good option and is very mature. I know is not the same but it came to my mind. I actually checked out the Ember website and seems it has a long mileage more than other newer frameworks, I think it really deserves to give it a try.

Thanks for the recommendation! It seems like I can learn a lot from you.

Collapse
 
raibtoffoletto profile image
Raí B. Toffoletto

Well... depends on what is your goal with a JS framework... is it to find jobs? improve reactivity? design better UIs?. make reusable components!? I like to play a lot with those 'trending frameworks' but in the end all can be done with vanilla JS and web-components. I personally like to work with @MUI as components for design UI, that means using React, and if I can control how to serve that page, than for sure I'll use NextJS to build a project upon.

My advice is to play around and see which ones fits better to your mental model. I started with angular 1.0 and 2.0 and it never felt ergonomic to me. I've been reading on Solid and I like what they do, thinking in find a persoanal project to use it.

And for sure, go to vite and learn how helpful it is!! Even for vanilla =D

Collapse
 
schemetastic profile image
Rodrigo Isaias Calix

First time i know about MUI, but it seems cool, okay, I gotta ask, for what I've heard React isn't very lightweight? Am I right about it? Also can you make React apps that are static? I mean, that can be served purely with HTML, CSS and JS files.

Okay, I'll take a look at Solid too, so far I'm liking Svelte, but I should give it a try too.

Collapse
 
raibtoffoletto profile image
Raí B. Toffoletto

Well... performance is always relative. In my view, it's not, specially because I've seen stuff made with just vanilla that's sooo heavy due bad use of JavaScript..
I've built a SaaS frontend using React that is a dashboard full of charts, info, calculations, fetching tons of data and processing all in the front end (including a pivot table component that exports to excell), and for me it's a very heavy app (I'm not happy with it) but still performs better than the simple old ASP.Net company's website 😅

And yes, Webpack and Vite will compile/transpile your React app to pure html/css/js (remember aaalll those frameworks are something built on top js). They will even split your code in chunks so the browser won't load everything at once. NextJS is a hybrid server that will prerender react and serve it as PHP/ASP does, and than in the browser it will go as a SPA...

This is a rabbit hole... have fun exploring it!

Thread Thread
 
schemetastic profile image
Rodrigo Isaias Calix

Wow... for sure there is a lot to learn yet, and is good that someone come and explain in to you simple like that, probably you could be a good teacher (if you aren't already), so thank you very much. I believe there will be a lot of discovering for me in the next weeks and maybe this can help me out to get some incomes in the future.

Collapse
 
oshox profile image
oshox

I'd honestly start with learning Vite. It makes developing vanilla apps easier, plus it can be used with most major frameworks.

Collapse
 
schemetastic profile image
Rodrigo Isaias Calix

Wow, I know I'm using Svelte with Vite but I didn't actually thought of taking that approach first.

Thanks for the suggestion, I'll look at the Vite documentation!

Can I ask, does it mean that you like Vanilla JS?

Collapse
 
oshox profile image
oshox • Edited

I think Vanilla is great for a lot of projects, but it gets more cumbersome as your app gets more complex.

If you are looking to move on from Vanilla, I'd recommend checking out SolidJS. It uses Vite, too.

Thread Thread
 
schemetastic profile image
Rodrigo Isaias Calix

I'm not exactly trying to move from Vanilla JS but I want to try other options, maybe they can suit my needs or help me to develop projects, or maybe get a job using them.

Okay, I'll take a better look to SolidJS and try it out, thanks for the advice, also I followed your advice and played around with Vite for a while and I like it, I'm looking forward to use it more. Thanks a lot.