DEV Community

Discussion on: You Probably Don't Need A Front End Framework

 
sgroen profile image
Viridi

Dear fellow dudes. Why don't we be nice to each other?

Federico you are talking about rendering HTML, routing, handling state and al sorts of stuff you typically do in a SPA. Single page applications are really cool you frontend guys are writing awesome code. I also like to play around with functional programming and I love frontend development.

The thing is sometimes we backend developers need to maintain monolithic applications that is not a SPA or we do not need a SPA for your use case. If you build a SPA you might also need a backend that means you need to build 2 applications you don't always want that. We render HTML from our server side app and we need some bits and pieces of javascript to enrich the user experience because the standard HTML elements are just not enough. Reactjs or whatever javascript component framework might be overkill for what you try to achieve. Stimulusjs is meant for this kind of situations not for replacing Reactjs of whatever frontend framework. Stimulusjs is super simple you can read the reference in 10 minutes and you get it. I don't agree on all the choices they made but I could use it om my terms very easily.

So to summerize Stimulusjs is not meant to replace Reactjs or whatever frontend framework or to build a SPA. It is just meant to enrich some bits and pieces of HTML easily in mainly backend applications.

PS Stimulusjs has nothing to do with jQuery btw you can just use vanillajs.

Thread Thread
 
midsever profile image
midsever

In my 20+ years I've seen all kinds of frameworks, libraries, front-end, backend, etc, etc. I remember when you couldn't find a JS developer because everyone was a jQuery developer. I remember when NoSQL was going to save us all from relational databases. I remember when OOP took over functional programming and now we're back to functional programming like its brand new.

Stimulus will be like Ember. Something that almost nobody has heard of. If you build the client facing portion of your application you WILL need other things that will ultimately negate any reason you chose it in the first place. And worst, you won't find a developer with any knowledge. State management is also poorly thought out. It seems like something a backend developer with no real frontend knowledge would come up with. I like trying every new framework when they come out to see if they're useful but this one is a dud.

As far as React vs Ruby, I've found that developers tend to think whatever language or framework they first used is the perfect tool for every project. Which is why there are so many bad applications out there. React is a tool. Ruby is a tool. Angular and jQuery are tools. Expert developers have many many tools in their toolbox and choose the right one for the job. Btw... 80% of enterprise applications are built with Angular over React and nobody builds with Ruby anymore.

Thread Thread
 
leastbad profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
leastbad

Okay, boomer!

First of all, your comment can be broken down like so:

Paragraph 1: I've sure seen some things
Paragraph 2: "nobody" does the thing I don't like
Paragraph 3: "nobody" does the thing I don't like

You, sir, are being an armchair quarterback.

You mentioned that you like trying every new framework. It doesn't sound like you actually tried Stimulus, which doesn't profess to have state management. It was created by the same folks as both Ruby on Rails and the original Prototype JS library that inspired jQuery... people who have forgotten more about JS than you know.

Stimulus is outrageously well designed, and absolutely nails a series of sweet spots - especially when paired with Turbolinks. If React or Angular are doing it for you, then you almost certainly don't need or want Stimulus and that is fine.

If people don't want to build with Ruby that's their problem - leave the massive productivity arbitrage to us, that's fine. If you choose to follow a herd because of head count, that makes you a certain kind decision maker and nothing more. You will seek out details that confirm your confirmation bias.

Thread Thread
 
midsever profile image
midsever

Firstly, It sounds like you've never actually been in a position to choose the tech stack. The reality is, it doesn't matter how much you like something. You need a team. And you need people down the road when your team is gone. And that means choosing something that not only solves your problems but something popular enough that you can find someone that knows it. It also means choosing something that has a lot of support so it's around for a long time. There are a lot of team leads out there wishing their app was built in Angular or React instead of Ember as example. I love development in Vue. It's fun. I'd never choose it for an enterprise project though.

Secondly, you don't know my experience level with anything. For all you know I'm an expert and author in JS. I've met plenty of developers like you over the years when filling teams. You think because of all those years they'd be experts but in reality they know one way to do things because that's how they did it for years and years. They can't do it any other way and as far as they're concerned, their way is the only way.

Thirdly, you are a very close minded, immature, and insecure person. I originally simply stated the facts but you immediately took it personal. I insulted your personal beliefs apparently but I'm not going to apologize because you have thin skin and are unable to discuss openly and honestly. You will no doubt have more insults for me personally because that's your nature. So I leave you hear to argue angrily and close-mindedly with every other developer who disagrees with you.

Open and honest conversation is the only way to improve anything or to learn anything new. Good lucky buddy.