The problem with frameworks …

A framework is a program or tool that provides ready made solutions and components, saving on the need to write boiler plate code. For example, a framework can come with pre-built methods for handling login/signup/registration, server configuration, modules for talking to databases, for cleaning user input, for handling distributed nodes.

Which is great – imagine writing a web application in PHP and instead of coding everything from scratch, you use Laravel, CakePHP or Symfony to handle background tasks. The code is faster to write, faster to deploy and because of the framework layout, is probably a lot more structured than what a team of inexperienced coders would put together naturally.

For JAVA, frameworks such as Spring, Spark, Hibernate and Struts are popular. For Databases, MySQL, MongoDB, Redis, HBase are examples. For Python, you have Django, PyTorch and Flask. For frontend development, JavaScript frameworks such as ReactJS, AngularJS or ReactNative abound. C++ has TensorFlow and Aeron.

Image from graphicartsangla on Pixabay

Perhaps the software environment is structured on Kubernetes or Docker. The application is deployed on Amazon Web Services (AWS). GitHub is used for managing code deployment. Perhaps streaming is handled using Kafka.

Maybe the whole process is managed via Asana, Kanaban, Jira or Monday.

What began as a web application has spiraled into multiple frameworks that a senior developer must know.

  • Front end framework
  • Back-end framework
  • Database framework
  • Code deployment
  • Server framework
  • Analysis framework

It’s starting to get a little frustrating (and tiring), knowing your code but having to learn new frameworks continuously.

The days of knowing a programming language and specialising in that language are dwindling. Now to progress, a developer needs to know several frameworks along with the core programming language. The coder needs to become a jack of all trades and potentially, a master of them all too. That’s a steep learning curve. Bluffers will excel.

The outbreak of frameworks has been huge. And widespread. And individually, they are all time saving and most would be security enhancing. But taken together in a project, they have added a layer of complexity that is expensive, cumbersome and messy to maintain.

Because the use of frameworks has become so prevalent, the ability of a coder to move from company to company is more restricted. Before you had to know the programming language. Now, expect to spend a significant amount of time learning the frameworks of the new company before you even do the interview.

If you are into cars, frameworks are like a nitro boost. There is a huge boost of speed and deployment at the start. Then the cost of using too many starts to mount.

The engine is overworked. The fuel doesn’t last as long. It’s a lot of work to install and maintain the system. There is more engine wear and tear.

And using frameworks for EVERYTHING is akin to this. Third party libraries litter the codebase. There is a lot of configuration involved in setting up the initial framework. If the architecture changes the configuration must be changed. The framework will go out of date. There is a security patch for a library buried somewhere in the framework that is breaking your code. Not only are developers updating code to match the programming language release, they’re updating frameworks too.

Programmers will spend a lot of time learning a framework and the skillset to build new features from the ground up is lost. Junior Devs will hardly ever write the code needed for a secure registration system. They will never have to write the code for cleaning user input.

The awareness to handle security issues is handed over to the framework. Programmers are becoming more like engineers, having to have a vast overview of the whole process rather than writing hard code. That’s great for fast software development but terrible in the long run. When a critical security issue hits, there are very few that will be able to understand what caused it and even less, how to fix it themselves. “It was a third party library.” Companies are at the mercy of frameworks or the developer of that library to issue a patch.

Throw in GDPR compliance and its impact on how data is stored and even the location it is stored.

The complexity of even simple applications has exploded. But it’s hidden. It’s tucked away behind frameworks and cloud services that hide much of the complexity from even those involved in coding the application. Which is great for fast development. But it’s going to be more expensive in the long run. And it’s going to cost an absolute fortune when a real security issue hits and the framework has gone out of date.

Related Posts

The AI Boyfriend

The perfect boyfriend doesn’t exis…. Hold on, meet Dan. A ‘jailbreak’ version of ChatGPT has been coded into a boyfriend that does all the right things. Non physically of course…

WordPress – only index page showing

If you have moved to a new webhosting or taken a tea break only to come back and find that your wordpress site is only showing the index page, then…

You Missed

Global IT Outage : All eyes on CrowdStrike

  • By aCoder
  • July 19, 2024
  • 1378 views
Global IT Outage : All eyes on CrowdStrike

Java HashMap – Get highest Key or highest value

  • By aCoder
  • July 17, 2024
  • 2026 views
Java HashMap – Get highest Key or highest value

The problem with frameworks …

  • By aCoder
  • July 12, 2024
  • 1574 views
The problem with frameworks …

A.I. stocks are in bubble territory

  • By aCoder
  • July 10, 2024
  • 1330 views
A.I. stocks are in bubble territory

The AI Boyfriend

  • By aCoder
  • July 9, 2024
  • 1396 views
The AI Boyfriend

WordPress – only index page showing

  • By aCoder
  • July 2, 2024
  • 1309 views
WordPress – only index page showing