Minimalistic rebuild
The pros and cons of frameworks.
May 2020
As detailed in other blog posts, my personal site was previously developed using Angular. This was a great learning experience for me, however over time I lost track of the maintenance required and have ultimately decided to rebuild it using plain HTML and CSS (and JavaScript only where required).
This led me to think about the advantages and disadvantages of modern web development frameworks. This blog post is generalised, and does not make reference to any framework over another.
Advantages of frameworks
- Structured design rules - when multiple people will be contributing to the development of a single web application, having a framework in place will set the rules which all contributors must follow. This helps ensure that contributions are consistent and easily maintained by others.
- Documentation - a framework generally comes with documentation, which makes it easy to learn new aspects of the framework.
- Existing skills - using a publicly accessible framework (as opposed to a privately developed framework) will make it easier to find new contributors who do not require training.
- Responsive - most frameworks have responsive design built-in (if they're not mobile-first by default).
- Integrations - most frameworks will integrate with other tools, such as automated testing, or external packages with useful features for your applications.
- Reuse - using a framework will allow for easy referral to/reuse of common parts of the website (e.g. a navigation menu), meaning changes can be made once and be reflected in several different locations.
Disadvantages of frameworks
- Maintenance - frameworks require ongoing maintenance in order to be kept up-to-date with new features or security fixes. Sometimes, this results in older features breaking, needing redesigns or rebuilds. This can be tedious for small teams or personal websites.
- Disk/download size - frameworks often have multiple packages associated with them, which can result in large file sizes for a relatively small website. This may result in slightly increased page load times if not properly maintained in production.
- Unneccessary features - the features and packages which may be advantageous for large teams or complex websites can end up being overkill for small or personal websites, and cause confusion and complexity.
While the advantages of frameworks far outweigh the disadvantages when it comes to large teams/web applications, I prefer simple HTML and CSS for a personal static website.