re: Why You Shouldn't Use A Web Framework VIEW POST

VIEW PARENT COMMENT VIEW FULL DISCUSSION
 

Your post, I might be wrong, has an undertone of "look at me how amazing I am because I write compilers in Brainfuck" and it's one of those elitists traits that are damaging in the industry in the long term because even if you don't mean that either generate anxiety to new learners or make us look we're some sort of gods on the mountain top.

Oh believe me, I'm no god on a mountain. I just want to give a good kicking to the golden calf of the web framework. Not because I'm clever (I'm really not), or have mountains of computer science degrees or such. I'm genuinely annoyed that developers think that frameworks inevitable in their work, because I think they're more trouble than they're worth both in terms of using them and in term of the ignorance they promulgate.

And that's juniors and seniors both.

As to other abstractions - they're not my target. But I think that a web dev should be able to do what they need to do with HTML, CSS, JS and a server language of their choice. I think it empowers all devs to get more done.

 

I get your point and I mostly agree with it, but you've tagged this with #beginners and so I think it's wise not to speak in such definitive and harsh terms.

One of the most important things to stimulate the learning process and to keep people wanting to push forward is seeing results of what they do. It's why Hello World is the first thing we show usually with no other explanations than how to compile/run it.

So let's say we have a beginner wanting to learn webdev and they have an idea about the thing they want to make. Can they make it in vanilla html/css/js? Of course they can. If they know those languages inside and out. Which they don't. Because they're beginners.

So what if they take a simple framework and get their new thing out there? Does the world end? I'm all for people understanding the stack and not being trapped by a lib/framework's way of doing things, but there's a way to express that point without making beginners feel stupid for not being able to do without one for now.

Why is there always such a rush for a beginner to create a fully fledged website quickly?

Why is this always seen as so important? It seems to be the case because most bootcamps seem to start you off with rails or an equivalent.

Beginners dont have to rush in to make an amazing fully-fledged website. They should have the maturuity to realise that maybe it takes time to learn software development and running a few rails commands is not actually learning.

I can't argue with that but again it seems to me that the issue is not Rails, is the industry that's trying to churn devs that are not fully formed or teach them they just need to read a tutorial.

Maybe that's what we should rant against 😛

:)

I think that's maybe the tone missing from OP but certainly what i get from it is that new developers would be better served learning the basics and making "simple" websites at first, rather than diving into a framework where the knowledge you learn is far less portable and sometimes quite harmful.

"Maybe that's what we should rant against."

That hits a nerve with me, because I think that's what happened to me. I raised my hand at work one day and said I'd like to help design and develop a new SPA, having only done one static site before. There was no one else I could learn from, so I went to a framework because they wanted the project (of unknown complexity) done in a certain amount of time. I needed a shortcut. Now, being that I didn't know JS, build systems, etc etc either, it was hard at times when I was stuck to know whether I needed to search SO or the framework docs, but the benefit as a new developer was the conventions and organization that the framework brought. Since that time 5 years ago, I've learned a LOT more about JS, and frameworks are somewhat easier to use. I think they are valuable when you have SPAs to build and low-maturity devs. And my opinion is that if you have a project of any complexity, and more than one developer, you will create your own conventions and your own system and unless everyone really knows what they're doing, it will be a Frankenstein framework anyway, so why not use a a framework like Angular, React, or Vue that already has established conventions and decent documentation, and then senior devs can help juniors identify where vanilla JS is the better option.

"So let's say we have a beginner wanting to learn webdev and they have an idea about the thing they want to make. Can they make it in vanilla html/css/js? Of course they can. If they know those languages inside and out. Which they don't. Because they're beginners."

That's kinda the point though. If you don't understand the basics enough to use the holy trifecta to make something. YOU NEED TO LEARN THEM!!! Why? Becasue all those frameworks and libraries use them. And adding another layer of abstraction on top of something you don't understand well is very difficult. I graduated from a coding bootcamp and knew React pretty darn well by the time I graduated. And now I work for a company building stuff in Angular 2+ all day every day. I find the thing that helps me grow the most as a dev is building complicated things with nothing but the basics. Learning to do that helps so much in equiping you to jump from framework to framework.

 

This is how I took it, more of an empowering "You can do this" rather then condemning to people who use frameworks (myself included)

I'm glad you said this - it's what I was trying to get across (badly).

If that's the point you're making I'm fully behind it :)

I just try to put myself in the shoes of a beginner and understand how they will read a post like this. "You don't need a framework, anyone can make a great site without one" is a very different tone from "Frameworks are terrible and they make you a bad developer".

Imagine how you'd feel as a beginner if you struggled with something and someone experience told you that you were bad for choosing a certain tool?

 

I'm sure non brilliant developers exist, as I said it can be just a job, not everyone is in it to be a published author or recognized guru.

I also agree you should know the basics but I don't agree on the general assumption that ditching frameworks make you more productive. Ditching the wrong ones does so maybe we should teach juniors how to evaluate them.

For example: can you write a SPA without a framework? Sure. Should you? Please don't. Should you know how to evaluate the available frameworks despite the hype? Definitely.

Keep in mind that most frameworks are born in the same way: one or multiple devs tired of the options create a bunch of abstractions on basic code to be MORE productive.

You can spend a lot of time chasing quirks, I agree with that but choosing the wrong abstraction doesn't mean all abstractions are a bad idea.

 

I share @NotARealDeveloper's sentiment - empowerment.

I'm actually going to look into the CSS variable thing - didn't know it existed... sass is what I know and like.

I will be a "master" when:

  1. I can assess if a framework is needed based on project complexity.

  2. I can tailor the frameworks - because I have better than decent knowledge of the underworking a and am comfortable to do so

This article is a nice reminder to deeply learn what's going on beyond the "yes it works" stage.

code of conduct - report abuse