DEV Community

Discussion on: Why You Shouldn't Use A Web Framework

 
rhymes profile image
rhymes

As for SPA, there's absolutely no reason why a framework is good.

But those reasons exist, there's evidence that frameworks can be helpful to build SPAs. We could argue about which is the best way to do it until the end of time but saying "framework = wrong always" is wrong in my opinion, because we can both easily find people who benefit from them. Maybe even just to build MVPs, who knows.

What we should ask ourselves is the cost of these frameworks and that has been debated a lot in this and other threads.

Sometimes it's worth it, sometimes it's not, sometimes unfortunately the worth or lack thereof will manifest itself later on. Sometimes it's even impossible to know. If someone builds a successful company or product and they do it with a framework and they manage to have mantainable code forever, should we care? If the company or product fails, is it because they chose framework X or because they were unlucky with time to market?

OK, so let's load parts of pages as they're needed. Good old AJAX. Load On Demand is so simple compared to building everything into a huge framework

A SPA is not just AJAX by the way: it's routing, browser history, app state, dom manipulation, probably SEO and maybe websockets if needed.

Can this all be solved by using libraries? Sure. But it's perfectly understandable why people end up standardizing around frameworks or popular libraries instead of doing it from scratch everytime.

There's absolutely no limit to the size of website that can be handled in this way.

Sure, but a lot of frameworks that are trendy now exists exactly because big companies had to find a way to standardize source code around huge code bases :D

It's always a question of worth vs cost.

Do I believe frameworks are always worth the cost? Absolutely not but I think this should be the argument, not "frameworks are bad and that's it" :)

We should educate people to make their own choices, telling them "bad framework, bad" is as damaging as picking up whatever framework is popular now and using it just because other people say it's cool without knowing the possible costs

Thread Thread
 
rhymes profile image
rhymes

BTW

I'm sure non brilliant developers exist,

this was definitely a poor choice of words to explain a concept, it was bad on my part, I apologize

Thread Thread
 
gtanyware profile image
Graham Trott

No need apologise; I for one know my own limitations. That's one of the reasons I avoid complexity wherever possible, and to me frameworks heap complexity onto what is already a complex 'language'. I use the quotes deliberately as in my view JavaScript, Python and the rest aren't really languages at all; it's only the lack of a suitable name that causes us to reach for a term that is actually very misleading.

A true 'language' in the traditional sense of the word would have no need for either frameworks or even libraries in the sense we usually mean. The language would be sufficient in itself, just as English is to those who conduct business, law and a thousand other activities in it daily. Each of these domains has its own agreed meanings and 'extensions' that do the job of a library or a framework.

I've had a Damascene conversion. Inspired by HyperTalk from the 1980s I wrote a compiler for a source language comprising simple English sentences, and with this I'm able to take on any job I'm asked to perform. The details of things like browser history, DOM and the rest are encapsulated in extra vocabulary which domain experts instantly recognize as their own language. OK, there might be some cases that would cause problems but I can only speak for the ones I know.

My conviction is we're in a phase that will soon end, stuck in an endless loop furiously inventing and re-inventing frameworks when there's a black swan event coming; a whole new paradigm that will sweep them all away. I'm not smart enough to invent it but there are others out there who will.

Thread Thread
 
rhymes profile image
rhymes

That's one of the reasons I avoid complexity wherever possible, and to me frameworks heap complexity onto what is already a complex 'language'.

I agree on that, but basically everything adds complexity. What I don't like it's complexity for its own sake. Not everything can be simple, complicated things are fine, it's just that a lot of this complexity we're debating is a byproduct that shouldn't exist and I wonder if it's because we're marketing tools as a "one for all" when in theory they should be tools only for certain situations

A true 'language' in the traditional sense of the word would have no need for either frameworks or even libraries in the sense we usually mean. The language would be sufficient in itself

You should take a look at what the designers of Dark are trying to accomplish: What is Dark? and How Dark deploys code in 50ms - they are trying to work around this whole complexity thing that's slowly killing us :D

My conviction is we're in a phase that will soon end, stuck in an endless loop furiously inventing and re-inventing frameworks when there's a black swan event coming; a whole new paradigm that will sweep them all away. I'm not smart enough to invent it but there are others out there who will.

I agree in general. It's funny because most server side languages have been more or less stable for decades, it's not like frameworks don't exist, they live longer. The frenzy is mostly on the frontend side right now