Legacy code is a by-product of running a business. There’s no escape from it no matter how hard you try. Even if you started off as a brand new project, over time you’ll accumulate legacy code to a point where you just want to throw everything away and start again.
But you can’t.
Business must go on — even when you’re taping code here, there and everywhere just to make things work. If you’ve ever had the chance to work with any legacy system or code that is older than 6 months, you’ll know exactly what I mean.
The best part of this experience is that new tech comes out all the time. The boss or someone in your team wants to implement the next feature using the latest framework or library. But you can’t let it happen because the application is a monolith that will get angry if you try to change the core technology from what it’s currently using.
Either that or a rewrite of the entire system. Because rewrites are the equivalent of starting anew — just for the cycle to repeat all over again.
It’s an issue that many organizations face. So how can we fix it?
I guess it’s time to talk about a thing called scalable micro frontends.
The issue with monoliths
Monolithic applications ensure that your core technology remains the same — even when the rest of the future is speeding off into a great and glorious space of better speed, coding practices, ideas and everything else that your current front end tech stack cannot do.
While monoliths are easy boot up and build over time, it can hamper the application’s ability to pivot and grow. Things get worse when there are multiple people or teams trying to work on the same code base. It can get messy really fast and several code janitors may be required to keep everything clean, cohesive and conflict-free.
Even then, a code repo can descend into madness when teams create solutions using different ideologies, implementations, standards and more than a few dozen branches. It happens a lot.
The art of decoupling your front end application from frameworks
When your front end solution becomes technologically agnostic, you allow your entire solution to become decoupled from using only one particular framework or library that may or may not be out of date. This means that your application as a whole is indifferent to whatever you decide to use for whatever reason.
This post is for paying subscribers only
Sign up now and upgrade your account to read the post and get access to the full library of posts for paying subscribers only.
Sign up now
Already have an account? Sign in