The web without the web - DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

I love React. I love how server side rendering React apps is trivial because it all compiles down to vanilla HTML rather than web components, effectively turning it into a kickass template engine that can come alive. I love the way you can very effectively still do progressive enhancement by using completely semantic markup and then letting hydration do more to it.

I also hate React. I hate React because these behaviours are not defaults. React is not gonna warn you if you make a form using divs and unlabelled textboxes and send the whole thing to a server. I hate React because CSS-in-JS approaches by default encourage you to write completely self contained one off components rather than trying to build a website UI up as a whole. I hate the way server side rendering and progressive enhancement are not defaults, but rather things you have to go out of your way to do.

An absolutely brilliant post by Laura on how the priorites baked into JavaScript tools like React are really out of whack. They’ll make sure your behind-the-scenes code is super clean, but not give a rat’s ass for the quality of the output that users have to interact with.

And if you want to adjust the front-end code, you’ve got to set up all this tooling just to change a div to a button. That’s quite a barrier to entry.

In elevating frontend to the land of Serious Code we have not just made things incredibly over-engineered but we have also set fire to all the ladders that we used to get up here in the first place.

AMEN!

I love React because it lets me do my best work faster and more easily. I hate React because the culture around it more than the library itself actively prevents other people from doing their best work.

The web without the web - DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Tagged with

Responses

Jose Marmolejos

Reminds me of that time when Macromedia pushed for ActionScript 3 because they wanted to attract “real” developers

1 Share

# Shared by Stefan Tilkov on Thursday, August 1st, 2019 at 2:42pm

8 Likes

# Liked by trash bandicoot on Thursday, August 1st, 2019 at 2:08pm

# Liked by Ashik khan on Thursday, August 1st, 2019 at 2:35pm

# Liked by Ashik khan on Thursday, August 1st, 2019 at 2:36pm

# Liked by Stefan Tilkov on Thursday, August 1st, 2019 at 3:02pm

# Liked by Andreas Karsten on Thursday, August 1st, 2019 at 6:09pm

# Liked by Andreas Karsten on Thursday, August 1st, 2019 at 6:09pm

# Liked by Johannes Faigle on Thursday, August 1st, 2019 at 7:31pm

# Liked by Bramus! on Saturday, August 3rd, 2019 at 7:38am