CMS Headless, gerenciando qualquer coisa.
CMS (Content Management System) é uma forma onde os usuários criam, editam e excluem o conteúdo online, e o sistema renderiza essas informações no front-end , esse era o processo bem comum até pouco tempo, mas a medida que a internet é utilizada em um numero cada vez mais por dispositivos além do computador e smartphones, precisava-se de uma forma mais “amigável” para que o usuário recebesse essa informação independente da forma que ele desejasse consumi-la, assim surgiu o CMS Headless.
CMS Headless é um sistema de gerenciamento de conteúdo sem um front-end, sem uma interface, na qual ela pode ser criada posteriormente para consumir essas informações através e uma API que o próprio CMS Headless irá criar.
Você tem a liberdade de criar qualquer interface para consumir essas informações em qualquer dispositivo, ou fazer com que essa API seja consumida por vários serviços ao mesmo tempo.
O Headless está totalmente ligado a camada de exibição do CMS, temos como classifica-los de três formas:
Coupled (Acoplado): É o CMS tradicional, que a gente sempre usou, ou seja, o próprio CMS oferece uma camada de apresentação. Um painel administrativo que alimenta um site por exemplo.
Decoupled (Desacoplado): Neste tipo, o CMS oferece uma camada de apresentação e também uma API para ser usada externamente, consumida por outros serviços, seria uma espécie de híbrido. O Wordpress por exemplo oferece uma API junto com o painel administrativo que alimenta as informações do site e também podem ser consumidas por outro serviço. Se quiser saber mais sobre, eu escrevi um post sobre ele neste link aqui.
Headless: O CMS não tem componentes, não tem um front-end, uma camada e exibição, ele mostra apenas o painel administrativo que salva as informações em uma base de dados e alimenta a API, dai a camada de exibição é de responsabilidade.
De forma mais clara temos o modelo abaixo , mostrando o comparativo do seu uso.
Tendo esse conhecimento, podemos definir que o conteúdo criado pelo CMS é “puro” e pode ser reaproveitado das mais diversas formas :apps para smartphone, websites, assistentes digitais, realidade virtual, smartwatches etc.
A “pureza” desse conteúdo através das APIs permitem uma alta escalabilidade, além de uma maior flexibilidade quanto ao uso de linguagem, ou paradigma de programação, pois qualquer que seja a linguagem da sua escolha para o projeto, basta criar uma comunicação com a API.
Há uma facilidade de uso por parte dos usuários que administram essas informações, pois o foco é inteiramente no conteúdo, e pelo fato do conteúdo ser consumido através da API e não do banco de dados, o risco de ataque é reduzido.
Os pontos citados acima sobre o CMS Headless apresenta uma opção válida a se pensar em seu próximo projeto e a medida que seu uso se torna mais difundido, as bibliotecas, ferramentas e frameworks para essa metodologia se tornarão muito mais sofisticadas, aumentando assim o uso dessa tecnologia, que já considero uma aposta de tecnologia para os próximos anos.