DEV Community

Cover image for Don't marry the framework!

Don't marry the framework!

Anderson. J on May 01, 2019

In this article I'm going to talk about Back End frameworks Frameworks have been popular in many ecosystems, not only javascript's. This has bro...
Collapse
 
scotthannen profile image
Scott Hannen • Edited

This is an awesome article. We focus so much on the implementation details and learning how to make things work that we put it right at the heart of our applications instead of trying to push those details to the edges as your diagram illustrates.

In the .NET world, once Azure got big you'd see applications where every single class was in some way tightly coupled to ServiceFabric. Once that's done it's really hard to undo.

Collapse
 
peterwitham profile image
Peter Witham

I could not agree more, we all have favorites that fall in and out of usefulness and popularity. We should focus on the intent and ideas that we are building with the tools like frameworks rather than the embedding our idea into the structure of the framework.

Collapse
 
andersonjoseph profile image
Anderson. J

Exactly! Our ideas must be tools-independent.
Thanks for your comment.

Collapse
 
ratulotron profile image
Ratul Minhaz

I agree with the idea of not tying your business logic with the framework as it surely locks you to that specific one, I never faced the problem of the framework changing its direction or core philosophy. As a back end engineer with a few years of experience in my belt, I can say most popular Python frameworks don't suffer the problem of the goal changing. For example, Django has been very consistent with its batteries included and DRY philosophy year after year. Yes, the framework evolved a lot since it's inception, but nothing that would require essentially an overhaul of your existing codebase. On the other hand, another popular framework Flask is simply a "micro framework", meaning apart from the core mechanics you are free to implement whatever you want. So you are free to do your thing without worrying about common middlewares like session management and caching.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Download vanilla.js

Collapse
 
kirklewis profile image
Kirk Lewis

Good article and examples.
Also +1 for the cover image👌

Collapse
 
andersonjoseph profile image
Anderson. J

Thanks!!

Collapse
 
juliang profile image
Julian Garamendy

Great article!
I think in the "Clean Architecture" book Uncle Bob talks about this.

amazon.co.uk/dp/0134494164/

Collapse
 
rhymes profile image
rhymes

Agreed on priciples. It can be a lot of hard work to decouple an app from its framework later on