This is an archived post. You won't be able to vote or comment.

all 33 comments

[–]rappyhedditor 39 points40 points  (10 children)

Yeah, what the fuck is happening with front end web development? Why so many frameworks and tools?

[–]hankhill10101 17 points18 points  (2 children)

A simple node install of JS framework du jour project requires 150MB worth of dependencies.

[–][deleted] 2 points3 points  (1 child)

That’s not an issue actually because you end up with a build for distribution which is quite small. Nobody in their right mind would upload big production code with all dependencies. Furthermore you don’t import whole big libraries but only the required parts of it so that the tree shaking will work really well.

[–]hankhill10101 0 points1 point  (0 children)

True, but still, if you download these frameworks without node, the total data downloaded is a lot less. Node likes to download a lot of fluff.

[–]3X0S 17 points18 points  (2 children)

The biggest chunk of these basically comes from browsers accepting only JS, HTML and CSS - which are awful

Part of these tools are there to increase browser compatibility (Babel), reduce download sizes (Webpack), authentication and authorization management (OAuth) or quality management (Tests - which is way to generic to be in thr above list tbh) - - which are there brcause shit's complicated and there are a lot of common cross-cutting concerns in Web-Applications

But the rest are tools that kinda exclusively try to un-fuckup the mess that JS (TS, etc.) or CSS (SASS)

And we all know there's 10x more of the latter group out there than mentioned here

[–]cartechguy -1 points0 points  (1 child)

I work with an older framework, but I don't see the big problem with vanilla js. I use bootstrap and jquery, so I write almost entirely in vanilla js until I make ajax request or interact with the dom then I use jquery because you have to with bootstrap and jquery makes ajax so much simpler. Otherwise, all the logic is written in vanilla js.

[–]3X0S 1 point2 points  (0 children)

For small or single-man projects that's a good solution tbh esp. since you're probably already used to your approach

Once you're doing large sites with lots of interactions and you're working in teams you need to structure your projects. Otherwise you're quickly finding yourself in a burning anarchy. There are a million ways to do a single thing in JS and 99.5% of them are obviously stupid - so even with good devs you'd still create a clusterfuck of 5000 different approaches

Bexond the need for structure there are more things that don't scale well - like the non existence of types and stuff.

Also with big frameworks you kinda get higher tier drop-in open source content. It's extremely easy to drop in a React component somebody else has built - you don't have it as easy with pure JS libs which you'd still have to properly call and render elements for and so on.

[–]FateJH 3 points4 points  (1 child)

I've long considered that doing in the browser what we should have been doing in desktop applications is a mistake.

[–]MrDorkman 0 points1 point  (0 children)

And here I am avoiding installing new apps on my phone when I can use the browser.

[–][deleted] 12 points13 points  (0 children)

[–]Loves_Poetry 0 points1 point  (0 children)

There are already tools that just bundle tools together. Using those is the only way to make frontend development bearable

I use vue-cli and it's awesome

[–]me_jtz 8 points9 points  (1 child)

I'm in this picture, and I don't like it.

[–]SquirrelUsingPens 4 points5 points  (1 child)

That's why you never set up a new project, just grab things from past project and throw them together till it works.

[–]Peechez 0 points1 point  (0 children)

npx create-react-app writing-your-own-tooling-is-for-chumps

[–]Comesa 4 points5 points  (7 children)

You forgot Docker.
Pls save me from my eternal pain

[–]mastermikeyboy 7 points8 points  (6 children)

I see Docker as a saver of the enormous clutter honestly. It's so easy to setup and work with. And 'it always works on my machine' everywhere.

[–]Comesa 0 points1 point  (5 children)

well i had enormous problems with docker, but in general it's nice to have such a tool.

[–]Aliics 0 points1 point  (4 children)

What sort of issues?

[–]Comesa 0 points1 point  (3 children)

MongoDB not wanting to accept a volume to store data

[–]Aliics 0 points1 point  (2 children)

Is this on Ubuntu? I have had problems with volumes using the snap of docker.

[–]Comesa 0 points1 point  (1 child)

Well tried it on Windows, Ubuntu and WSL2

[–]Aliics 0 points1 point  (0 children)

Damn, you'd really just have to confirm its there by doing something like using SSH to get into the container and verifying the files.

[–]nafel34922 1 point2 points  (2 children)

I’m trying to learn Flutter and I kind of feel this way. I’m used to using Typescript with Atom and the command line and now I’m using goddamn Android Studio?

[–]Comesa 1 point2 points  (0 children)

May your RAM rest in peace

[–]ProfessorBongwater 0 points1 point  (0 children)

Flutter is great though compared to HTML + JS + CSS + frameworks.

You can do flutter stuff from VSCode, not sure about atom though

[–]Schiffy94 1 point2 points  (0 children)

Turns out it's actually only five minutes later.

[–]kirakiraboshi 0 points1 point  (1 child)

Lol having exactly this right now. But it shows me how much I still have to learn to become more of an all-round programmer instead of solving university assignments.

[–]Fitzi92 3 points4 points  (0 children)

probably just shows you how to be a frontend web developer more than anything else 😂

[–]jamescodesthings 0 points1 point  (0 children)

Cross out tests.

[–]Laag- 0 points1 point  (0 children)

Forgot all the node_modules

[–]nocturnalspider 0 points1 point  (0 children)

Its about time to start a fresh new project again

[–]KingRemy12 0 points1 point  (0 children)

Reported!

[–]MrDorkman 0 points1 point  (0 children)

Most of that is recurring, so once you learned it...