Headless CMS seems to be very popular today! Why? How are so many companies out-sourcing labor for content and what's going to happen? It saves a lot of money, and I may try it out. Let's explore it together.
Disclaimer: This article is an opinion about the underlying technology not a tutorial.
Hey! Long time no see internet... I wanted to first bring to light the obvious reasons for things. Blogging is dead. Yup, I haven't been focusing on content because of work, trying to improve in some ways, and other things. However, I hope everyone is doing great during this coronavirus pandemic that's sweeping the world. I cannot disclose the actuality of why it's happening now, but all the news feels forced-fed to the public (almost). That topic is for another separate article for later.
For today, let's focus on this headless CMS (a topic I'm probably 3 years late on)!
What is a Headless CMS?
A headless CMS is basically a tech term where you can generate content and access it anywhere making apps for front-end services, so basically it turns the whole idea of WordPress or similar obsolete. Why manage and deal with vulnerabilities when you can use a headless CMS? You create content and can easily integrate it EVERYWHERE! Here are some of my reasons for wanting to try it out and maybe migrate all the content and data on this site to use a headless CMS... Or maybe I will have to start from scratch, but it all boils down to me! I just want to program and design.
Here is a nice easy video to understand:
Making a headless CMS is not that difficult though. True! Web development and software engineering these days are more of a creative process than a logical process. I mean, at work you spend most of your time thinking instead of typing code (from experience, I can finally say that :D). Although it does make a difference if you're strong in algorithms and data structures, I'm always grateful to have the resources and notes to help me solve particular problems. So, what problem do we have with the current SunKoiWish and using Joomla? The freedom and desire I want the site to look like.
With a headless CMS, I will be able to only focus on one API and improve it and implement/use it for many devices. This is one reason why I always get caught doing a long project, then after about months working on it, I just drop it because I wanted to try some other new technology. However, I have more experience now than before. I would also like to try and make much more complicated front-end designs and capabilities. I cannot do that by using a full-blown CMS and I have already experimented with this idea on a new recent project revamp!
Still don't think a headless CMS is cool? I think this article is really well-written:
My Revamped Project For Photography and Media:
I'm not sure, but it's pretty obvious that I own a ton of domains (yes I pay for them because I believe in myself too much: the laziest person in the world!). My photography website does not have that good of a development cycle, but it does have some sort of CI/CD and I will integrate better stages/steps for code quality. You can check out the alpha version now, well it has been out for like two weeks now. It's called Zinnphotia, you can Google it or search it on any browser/search engine.
With that project, I'm using frameworks that help with DRY code (something that's so important NOT to do in web development). Like when I was working on one project that didn't use any web frameworks or even a back-end framework (just mostly libraries), I started to get lost in my own project, so I scrapped it. I could go back to it, but I want to be able to make it easy to maintain. I'm starting to become a fan of clean and easy-to-read code. Sure, you can have a complex algorithm, but if no other software engineer can understand it, then it's pretty bad then.
For Zinnphotia, my code and workflow are so much more organized compared to all my other projects, and I can easily deploy to A/B environments and such. Also, I'm using much more technology that makes it secure and whatnot. So I kind of want to do that with SunKoiWish. However, I should probably just focus on making content on already popular platforms right?
Well kind of!
My problem with the other social platforms is that it feels so saturated and I really just want my own thinking space and my own work to be readily available in one place for interested minds to check out. So, this is why I'm going to try headless CMS and pick up the easiest front-end framework that can propel me to deploy fast-as-heck. That and I'm not about to pour more hours into this, because I just want to play Call of Duty: Warzone! Hahaha... I'm sorry, I'm failing myself on that one.
What Are Some Popular Headless CMS?
I'm not too sure but the ones that interest me at the moment are the following:
Actually, many of them have lock-ins and price-walls...
I might actually just make my own... Again, but I will make it easy to use and incorporate trusted services because I learned about liability, security, and of course the dangers of what it means to break something accidentally.
Here is a long list though from https://www.cmswire.com/web-cms/13-headless-cmss-to-put-on-your-radar/
- Butter CMS
- Cloud CMS
- Cockpit CMS
- Core dna
- Craft CMS
- GraphQL CMS
- Gentics Mesh
- Cosmic JS
- Kentico Cloud
- DNN Evoq Content
But how? Well essentially, a headless CMS is just a more generic and glorified API service. Most of the logic is all handled on the server of the API and all you have to do is hit the endpoints. I really like this way of development and have been doing that for my projects for the past 3 years now. I've done and tried pretty much every language (I'm not an expert though!), and I start to realize and find some things I don't like from each programming language and what I do like and favor a lot.
I might try to use Go again, but I just hate the workspace management and module management, and the syntax... How about RUST? Yes, most likely, I'll try that one, but I cannot find any service that can host a RUST app, like Iaas for RUST. ah, infrastructure as a service, like AWS, but I can use containers, but I want scaleability lol, I still need to learn more on devops too. I'm getting off the topic now.
To conclude, if you think a headless CMS is what you need, I encourage it, because it will save more time and resources can be spent elsewhere that matters most!
Should You Switch to a Headless CMS?
For most websites, if you want to provide static content, the answer is yes!
Here are the pros and cons of a headless CMS, but I will pick the most obvious advantages from each side. https://www.enginess.io/insights/pros-cons-headless-cms
There are some of the reasons from sources and my opinions, as you can tell with my Zinnphotia project, and some recent projects I have paused, I prefer headless or micro-service architecture because each part can be scaled. All that practice is from Docker and container technology. One day, I'll do K8s...
Stay safe and stay healthy :D Have a fantastic day~