DEV Community

Discussion on: Todo-MVP: Or 'Why You Shouldn't Use A Web Framework' - The Revenge

Collapse
 
richardmurag profile image
Muragijimana Richard

I think you should differentiate opinion and facts, the most reason framework are used is for good common standards that is hard to get as solo developer something like security stuff, I think if you are creating a simple toy app then that is cool as you can kill anytime.

Collapse
 
gypsydave5 profile image
David Wickes

That's your opinion. I happen to know as a fact that (a) I am employed, and (b) I am not using a framework when I build my applications. I do use a number of very nice libraries however.

If you're using a framework to enforce an architecture or code standards then that's a terrible way to avoid talking to your colleagues to reach an agreement on those (mostly bikeshed) issues.

'Security stuff' can usually be handled by either a library, or if you're worried about user data can be outsourced to another identity service.

And, please, although these examples are certainly toys, the idea that anything built without using a framework is a toy is ludicrous. 'Industry standard' and 'best practice' are often just ways of excusing a failure to think for yourself.

Collapse
 
pizzapanther profile image
Paul Bailey

"often just ways of excusing a failure to think for yourself"

This is a very good thing!

Otherwise, you have to spend years of studying to do anything of significance. Or if you want to go into an area you haven't studied before, frameworks make it easier to do this.

So yes "think for yourself" but not all the time because you'll get less done.

I would hate to see a world without frameworks because the barrier to programming something useful would be higher and deter people from entering the field.

Thread Thread
 
quii profile image
Chris James

I would hate to see a world without frameworks because the barrier to programming something useful would be higher and deter people from entering the field.

I feel its the opposite and youre maybe missing the point of the post.

In my view, the barrier to entry of programming looks worse than it is because of frameworks.

Look at the code Dave posted. It's not complicated or hard. The point he is making is the barrier to entry is already low, if you look past the hype of FOTM frameworks and just study the basics.

It's just there is a perception that you cant do something "real" unless there's a framework. Learning frameworks is so much harder than learning the fundamentals.

Thread Thread
 
pizzapanther profile image
Paul Bailey

I agree you can do a lot without a framework. But you can do something more "professional" with a framework faster at least initially. To get to that uncomplicated code probably took years of experience. Most people even if they know the basics write bad code and it takes years to make it good and uncomplicated. A framework at least guides you along until your good enough to do those on your own. The real problem comes when trying to throw away the framework when you don't need it any more.

Abstractions are hard to get right. And an abstraction that has been vetted by a community and implemented in code is hard to beat.

Thread Thread
 
gypsydave5 profile image
David Wickes

Abstractions are hard to get right

Too right they are! Abstracting away a database - awesome. Abstracting away the underlying bytes of an HTTP response - I'm a fan.

But what does, say, Angular abstract? What is the underlying entity that is abstracted by Ruby on Rails?

In my opinion, they are not abstractions at all. They're tarballs of multiple abstractions, an attempt to generalize certain business requirements. I think you'll get so far with this, but in the end (as you rightly say):

The real problem comes when trying to throw away the framework when you don't need it any more.

Thread Thread
 
pizzapanther profile image
Paul Bailey

I would love to see a discussion about what frameworks have a good off ramp when you have out grown them. Do they exist? Or what are some techniques to do so? Or which frameworks are the most flexible and let you interchange the pieces?

Thread Thread
 
gypsydave5 profile image
David Wickes

I would love to see a discussion about what frameworks have a good off ramp when you have out grown them.

Now that is a great question. I think you could dip your toes by Googling 'How I migrated Angular to React' to get some idea.

Collapse
 
theelectricdave profile image
David S. • Edited

I have been programming for over a decade. I can whip around the base language very quickly.

The requirement of a framework is actually a huge barrier for me because you have to know another language on top that obscures what is happening below. It also reduces performance, and creates a lot of abstract things to keep in mind.

I think learning frameworks first, language second is incredibly dangerous. I have known people who took that route and they've often abandoned projects because they didn't know how to do the difficult thing in the base language.

I have the opposite problem. Throw me some code written in vanilla js/php, and i can quickly grasp it and hack on it. Throw an unknown framework in the mix and i am completely lost due to all the extra abstractions.

Collapse
 
codiiv profile image
Jay

I am not sure of who said that "the idea that anything built without using a framework is a toy is ludicrous". Even if someone did though, saying that "one shouldn't use a framework" is also as ludicrous.

Either has its place for the developer who understands. In at least one project for my clients I don't even have a library. In a few I use libraries and in some more I use frameworks.

They key is understanding the right tools for the job

Collapse
 
toddjspin profile image
Todd Spindler

Would like to know the list of libraries you use....Thanks!

Thread Thread
 
gypsydave5 profile image
David Wickes

Sure! I was using the lib HTTP4K - programming in Kotlin.