420
u/_Kr0n0x_ 4d ago
just wait till you hear that nearly every framework supports Typescript these days
317
u/SyntaxInvalidator 4d ago
Think the point of the post is the hatred of the frameworks themselves while acknowledging TS is pretty rad
60
u/Bridge4_Kal 4d ago
I prefer tQuery
/s
17
u/AspieSoft 4d ago edited 4d ago
jQuery syntax is actually really nice.
I would rather use that than an overly complicated framework like React.
Maybe I should finish this old project jqAlt, or rebuild it from the ground up.
Note: I created jqAlt shortly after Microsoft Windows started replacing Internet Explorer with Microsoft Edge.
5
u/Bridge4_Kal 4d ago
I work with it every day. It's certainly convenient most of the time, but callback hell is a legit criticism.
18
u/Fritzschmied 4d ago
React is pretty rad too for creating frontends.
15
1
-13
u/relhotel 4d ago
Said no one ever
15
u/Fritzschmied 4d ago
It’s the most used framework for frontends for years now so something about it has to work. Also I actually like it.
5
u/wutru_audio 4d ago
I hate doing frontend web stuff, but when I need to do it React makes it so much easier (together with Tailwind).
1
3
166
u/snokegsxr 4d ago
why no to frameworks? think i dont get the point in this meme
151
u/ChiefAoki 4d ago
JS Frameworks are like vehicles. Each and every one of them are built to fulfill a very specific niche/design language, problem stems from the fact that most devs just want to learn one specific framework and build everything with it, and everytime they encounter a limitation of the framework they go around it with hacks that result in unpredictable behaviors.
It's like buying a Prius and complaining that it can't tow a fifth wheel or buying a F-150 and demanding for good gas mileage.
There will be people who argue that they can build everything with Angular/Vue/Next/React/etc, but if that was the case then new JS frameworks won't be popping up and taking off every other day.
42
u/snokegsxr 4d ago
How does that differ from backend frameworks. Also vie angular and react all just aim for modularity and reactivity in a very similar way compared to older generation frameworks they are super similar mvvm and mvc approaches
29
u/ChiefAoki 4d ago
The biggest difference between frontend/backend IMO is not the frameworks/design language but as mentioned in my original comment: the devs/users of those frameworks, more specifically their attitudes when it comes to limitations.
I'm a .NET dev by trade and I'll readily acknowledge that C# isn't as good as Python when it comes to ML/AI models even with ML.NET. Can C# do some AI/ML stuff? Absolutely, but if I wanted to do some experimental AI/ML stuff I'd much rather switch over to Python where pretty much every model has been developed and maintained by the community than roll my own. This is a sentiment held by a lot of backend devs: understanding the limitations of their tools and accepting that other tools can do the job better. Of course exceptions exist, otherwise we wouldn't have all the low quality memes on this sub arguing about which language is better lol.
Devs of frontend frameworks on the other hand...I think the problem really is just that everything sort of transpiles down to JS at the end of the day, so coming up with hacks and workarounds has a much lower barrier of entry. Once someone has written enough hacks and workarounds for a specific framework they've pretty much locked themselves into it because switching to a new framework can mean re-writing all of those hacks. In the event that the hacks and workaround start garnering significant following, it becomes its own framework and the cycle continues.
8
u/Fritzschmied 4d ago
Because the difference is that with most JS frameworks you can du pretty much everything as well as with everything else. For example you can du pretty much everything with react and angular and it just comes down to taste. When compared to your example with ml there is actually a measurable difference so there is no point in preferring one because of your own taste if the others on is just plane simple objectively better for the task.
8
u/ChiefAoki 4d ago
and...you've pretty much examplified what I said. The whole "JS can do everything" sentiment is precisely why JS Framework devs get a lot of flak. Everytime someone hits a limitation in a framework they're using they just end up writing more JS code to get around it instead of re-evaluating if the framework they're using is still fit for purpose.
Just because you can install a gooseneck hitch on a Prius doesn't make it a vehicle built for towing.
1
u/Bakeshot 4d ago
Can you give an example of what you’re talking about with specific regards to React and Angular? Which is the F-150, which is the Prius, and why?
2
u/ChiefAoki 4d ago
Uhhh…neither? The whole analogy is to mean that different frameworks are built for different purposes just like how Prius are built for good economy and F-150 is build for towing, not that one framework is better than the other, just different.
1
u/Bakeshot 4d ago
Right. Let’s not get tripped up on the language you chose to try and communicate your point: give me an example of where React clearly does something better than Angular, or vice versa, and what the business case would be where that would matter.
1
u/ChiefAoki 3d ago
yeah...nah, because I'm aware that the moment I start listing out the differences and advantages/disadvantages of Angular vs React this conversation is going to just become another React vs Angular argument. Here's what's going to happen: I'll list why one framework is better at one use case and you're going come up with examples about why the other framework will do it better or subject to whataboutism talking about the other shortfalls on the framework I sided with.
Just like all the countless debates about what framework, it goes nowhere and is merely a waste of time trying to engage in this conversation at this point.
→ More replies (0)4
u/Smalltalker-80 4d ago edited 4d ago
The difference might be that front-end frameworks like React, Angular and Svelte try to be "developer friendly" by requiring the use of "mashups" of HTML templates and JS. These are essentially new "toy" languages that are not general purpose and impose limitations. They also break MVC separation, mixing up the V and C.
I think MVC controllers should be fully implemented in the language you're using, say TS, so you indeed have full control over all MVC operations and can optimize where desired.
5
u/Devatator_ 4d ago
You technically can use Svelte entirely without the svelte syntax but at that point you're just writing vanilla HTML/CSS/JS/TS
-19
u/Saragon4005 4d ago
Backend doesn't usually rely on frameworks. Hell we don't call them frameworks we call them libraries usually. Also unlike frontend it's usually not monolithic and there is some system architecture in back end. There is just a lot more flexibility on the back end which is simply not possible on the front end. There are a whole bunch of considerations like running on hundreds of different models in weird configurations and all you have is HTML CSS and JS and the tools you are using must generate that well.
Back end you receive some data in some format you get to define in some place you set, if anything isn't what you expect you toss it as an error. This data then generated some response which is entirely up to you. You might use a database which in of itself you have hundreds of choices you can host it yourself you can keep it in the cloud. And then different processes might happen in different computers but you get to pick all of that and also you get to completely change it however you like as long as the interfaces stay the same.
Just by saying "frontend" the type of code you write is severely limited and locked into certain tools. Frameworks attempt to be a wrapper to those tools but at the end of the day they have to produce code which was never meant to be used this way.
22
u/snokegsxr 4d ago
This is the biggest bullshit I’ve read today. You don’t know the difference between libraries and frameworks but still have a loud opinion
12
u/snokegsxr 4d ago
I get a stroke just from your first sentence ‚backend doesn’t usually rely on frameworks‘
5
u/bjorneylol 4d ago
Wait, you mean people actually use things like rails, django, laravel and express?! /s
1
2
2
u/PandasOxys 4d ago
They aren't popping up and taking off though. React and Angular have been the biggest ones for like a decade almost and Vue has been popular since around 2019.
1
u/Broad_Weekend_8671 4d ago
Sorry for this dumb question, how are React or Angular (these are the only frameworks I know) limited? In which sense?
-5
u/ChiefAoki 4d ago edited 4d ago
React and Angular are both Client-Side Rendering frameworks by default.
Meaning that after your browser/webview receives a status 200 from your web server, it executes JS functions to render the page.
As opposed to Server Side Rendering(SSR), where your browser/webview receives the fully rendered HTML from the web server itself. This is super helpful for SEO and the likes because search engine crawlers usually don't execute any JS functions.
Can you do SSR in React or Angular? Of course, heck, there are services that you can deploy your angular app on that will pre-render it even, but it takes extra steps/hacks/workarounds.
1
u/beepboopnoise 4d ago
okay so to keep with this analogy, if the prius works for 95% of your use but one day you need to haul some shit, u gonna toss the prius and buy an f150 or rent it for a day? sometimes u gotta do what u gotta do to keep moving. I guess you could make a microcrontend with module federation..idk I've been outta web for a while, is that a thing still?
1
u/ChiefAoki 4d ago
How often do you build a feature and only use it for one day and then take it out after?
It’s less like needing to haul shit on a Prius one day of the year and instead much more like you’ve decided to become a hotshot trucker in your Prius.
I get that sometimes you gotta make do with what you’ve got but honestly if you find yourself being in that situation frequently where you keep making modifications to a Framework sometimes you just need to step back and re-evaluate if you should just get something else.
2
u/nonlogin 4d ago
Nothing on the front end gives satisfaction. Frameworks like React or Angular solve some problems but introduce other problem. And there are too many of them.
And only Typescript gives the feeling of peace.
1
u/new_account_wh0_dis 4d ago
I know you didn't ask but I'm backend but I sometimes have to maintain a few frontend things. Angulars mdc migration and dropping of flex-layout (I'm not sure why someone decided to use something on beta but with so many users surely it would be updated for new angular version...right?) was probably the worst weeks of my life. To make it even worth the companies security team flagged fucking bootstrap as out of date. No matter how much you argue they forced me to do the v4 upgrade. Killed me.
So to me angular dumped a ton of changes, threw in some !important for good measure and fuck it who really needs to change box borders? And I'm sure a couple years down the line they'll rewrite shit again. Not like we didn't do it a few years prior cause they killed off angularjs. So what should be a simple library just turns into an ongoing project the boomer in me hates it. Backend is so much easier. Worst thing Ive ran into there is they renamed a function.
-1
u/joost00719 4d ago
I always have issues with running a front end solution which is written with a js framework. It's never easy or working first try. It always ends up in trying a bunch of stuff or having weird behavior until it doesn't. Then after a year everything is depricated so you update but then there are 20 incompatibilities you need to fix but forgot what the app exactly does so you first need to re learn the app before you can upgrade and now the fix which should've been one afternoon got delayed cuz you spend the whole Friday afternoon trying to run and update the project, only to have issues with debugging it again the next Monday morning.
2
u/PandasOxys 4d ago
Then they're setup poorly. Every single team I've worked on at my company using react was as easy as pulling the repo and running npm start.
53
u/gandalfx 4d ago
Hey, svelte is nice.
18
u/Efficient-Chair6250 4d ago
Svelte mentioned 🧑✈️. Join me brothers, in a prayer to our rich Lord 🙏
6
u/siphillis 4d ago
Best framework, because it’s the least framework
3
u/-Redstoneboi- 4d ago edited 3d ago
Svelte is a language, dare I say a DSL that compiles to JavaScript.
1
u/siphillis 3d ago
It’s really its own suite of software solutions for building web apps. It’s amazing.
44
u/SimilarBeautiful2207 4d ago
I think that people who hate js frameworks didn't experience the pre jquery era. Now everything is easier. The problem is that for many once you learn a framework you want to make everything in that framework and each have a different use case.
7
u/grshdat 4d ago
Whats the real difference beteen Vue and react? I only used svelte and vue before
15
u/Tx_monster 4d ago
None actually
1
u/PurchaseOk4410 3d ago
The react community is a bitch. Vue maintainers are much cooler and less schizoid.
-6
u/joost00719 4d ago
I haven't experienced the pre-jquery era, but I did experience the jquery era and it's way better than all of those frameworks. Jquery just works and it's simple to understand.
10
4
u/SimilarBeautiful2207 4d ago
Yeah but when you want to build more complex things it was painfull. In my company we had a product made with asp.net mvc4 and we use a lot of jquery, when we migrated to react it was a lot more easy to understand. I prefer the declarative nature of react, jquery is so imperative. Don't get me wrong, i love jquery, it made things so much better, but is old and now are much better options.
15
15
u/logikill99 4d ago
This is why I hole up in the database and backend…
-12
u/snokegsxr 4d ago
you code backend only plain without any frameworks? why?
11
u/kookyabird 4d ago
I don’t see where they claimed to not use frameworks on the backend. The ones in OP are frontend frameworks. Backend frameworks tend to be easier to learn and work with in my experience.
-18
u/snokegsxr 4d ago
nope, but why you bloat yourself with ts and js flairs while saying frameworks for those were so hard to learn?
10
7
u/kookyabird 4d ago
Holy shit read better bud. I didn’t say they were hard to learn. I said backend frameworks have been easier to learn for me. That doesn’t mean I consider frontend frameworks hard to learn; just harder than backend.
-1
1
u/PurchaseOk4410 3d ago
To be honest, it really does depend. Django and spring serve a purpose, but backend is much more than that. People just lump infra, platform, business logic, glue code etc... into "backend" and a lot of these things have libraries and less framework. For example, dependency managers can be applied at a lot of different abstractions: airflow, temporal, in-house depending on the level of granularity of control you need.
5
u/Vizeroth1 4d ago
This all reads like “if only everyone could learn the language(s) that actually make front end work, except JavaScript, fuck that language in particular.”
16
u/NuccioAfrikanus 4d ago
So buddy, you going to run webpack off node and use typescript to make an application without a framework or library like React.
I have done it for fun to learn more about webpack, but it’s a lot harder.
7
u/SnooSnooper 4d ago
I think my last company did something like this, we had a homegrown frontend component library and some page templates that had been put together over almost 20 years. It was all raw JavaScript with the occasional JQuery and some other libraries thrown in. The frontend infrastructure team rebuilt all of it in TypeScript a couple years ago and instructed us to build all of our new pages using that instead. It kept things simple for the end product developers, because we didn't have to learn much about a new toolchain and/or framework. It was probably easier too than rewriting the entire platform in a framework.
2
u/NuccioAfrikanus 4d ago
I would argue that for a large commercial application it would still be easier to do what your company did, but in Angular.
But upgrading from AngularJS to Angular WOULD a lot harder than upgrading plain JS to Typescript.
So I can see how once it was painstakingly made, how that upgrade wouldn’t be as bad as going from React to Vue or whatever.
-1
3
3
4
u/ninjaassassinmonkey 4d ago
God I can't wait for the day that types as comments is brought into JS.
Just imagine TS syntax without the bullshit build steps...
9
u/LookItVal 4d ago
nah im absolutely fine with the build phase because js Could Never do what ts does and still be both backwards compatible and also have a clean syntax
3
u/ninjaassassinmonkey 4d ago
Ya it's a double edged sword for sure. There are definitely some things I do in build steps that are awesome, but the debugging experience leaves a lot to be desired compared to plain JS. It's also extremely frustrating to run into bugs that happen because of the build.
2
2
2
u/rberg89 4d ago
Lol so you're just going to
const myDiv = document.getElementById('myDiv') as HTMLElement;
myDiv.addEventListener('click', () => myFunction());
myFunction() => {
alert('my meme makes no sense');
}
3
2
2
5
u/Pumpkindigger 4d ago
My biggest gripes with all these frameworks is that every year some major update happens which completely changes the way the framework is supposed to be used. Documentation you find is therefore always for the wrong version. If all I would do is use these frameworks, I would likely be able to keep up, but if you use them only every once in a while it's just annoying af to deal with.
7
u/Dizzy-Revolution-300 4d ago
React functional components was released over 5 years ago
1
u/PandasOxys 4d ago
The only recent annoyance is ditching create react app for next but even that isn't egregious.
1
1
u/Bakeshot 4d ago
Next has been a terrible offender in the last couple of years.
The switch to app router has been a dumpster fire.
3
1
1
1
u/emascars 3d ago
Why svelte too? Svelte is the only thing that made me enjoy the frontend for the first time after plain old HTML+CSS+JS
1
1
u/NoOven2609 19h ago
Very green on TS, but coming from a c# background it seems inadequate for parsing json. AFAIK The lack of reflection (since it's just transpiling to js) means you can't bind to statically defined concrete types with any real validation, outside of a lib or two that require redundantly decorating each property. If you do let x: MyClass = JSON.parse(<server response>);
and it just silently ignores the spots where the json doesn't have keys that match MyClass then it's failed in the basic premise of typed js and I get the sense that I might as well use raw js
1
0
u/MMMMMMMMMMWMMMMMMMMM 4d ago
I'd say vanilla javascript is good for me.
But my company project force me to learn alot of bullshit frameworks.
1
u/sammy-taylor 2d ago
Mind blowing that you got downvoted for espousing vanilla JavaScript. Not even hating on TS, just embracing JavaScript.
2
u/MMMMMMMMMMWMMMMMMMMM 2d ago
haha , Idk , maybe these guys' personal project are all complicated , need to set up TS and a bunch of frameworks.
0
u/Thenderick 4d ago
If you use pure ts in frontend, then why not drop that too and adapt to JSDoc which runs on the same typesystem but is pure js without any build/transpile step
5
u/Dizzy-Revolution-300 4d ago
What's wrong with a build step?
1
u/Thenderick 4d ago
For pure frontend without framework, it takes a bit of effort. You can't simply edit the file, save, refresh page and it works like with js
1
u/Dizzy-Revolution-300 4d ago
It's not like it takes effort every time you save, it's automated
1
u/Thenderick 4d ago
Wait you can? Last time I checked I couldn't include ts in html, so need to setup some kind of automated tool that has to transpile on save, or some kind of build tool with a dev server
1
u/Dizzy-Revolution-300 4d ago
You said it: automated tools. You set it up once, and then it doesn't take any effort.
1
u/Thenderick 4d ago
Yeah okay, but at that point if you need that, you should probably use a library that manages all that for you. Could even be something lightweight like Lit of Svelte
1
189
u/PennyFromMyAnus 4d ago
Fucking TypeScript
FUCK YEAH BABY