Escolar Documentos
Profissional Documentos
Cultura Documentos
PARA O PORTAL DE
DESENVOLVEDORES DO ITAÚ
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
Sumário
1.O AUTOR 3
2.O QUE É HEADLESS? 4
3.SITUAÇÃO ATUAL DO PROJETO E OBJETIVO DESSE 5
DOCUMENTO
4.JOOMLA 5
5.ALTERNATIVAS : LISTA DE HEADLESS CMS 6
6.TABELA COMPARATIVA : JOOMLA x 3 CMS HEADLESS NODE.JS 7
7.TABELA COMPARATIVA : JOOMLA x 3 CMS HEADLESS PHP 9
8.TABELA COMPARATIVA : JOOMLA x 3 CMS HEADLESS ASP.NET 10
E JAVA
9.REVIEWS DE CMS 12
10.CMS COM MELHOR SCORE 25
11.CMS CLOSED SOURCE 25
12.CMS TESTADOS PORÉM REPROVADOS 25
13.FUTURO ( FRONT-END DESACOPLADO) 26
14.REFERÊNCIAS 27
2
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
1.O Autor
Ruben Marcus Luz Paschoarelli
Front-end Specialist
Full Stack-engineer
8 anos de desenvolvimento web
+ 53 projetos
linkedin.com/in/rubenmarcus
ruben.paschoarelli@zup.com.br
5. Atualmente:
Continuo mantendo os conhecimentos em Front-end, mas com um foco maior em
Back-end e DevOps atuando mais como FullStack.
3
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
Existem CMS que vem como padrão Headless (Baseados em API), e tem alguns que
são Baseados em GIT, geram sites estáticos. E outros que também são baseados em
API mas que não vem nessa arquitetura por padrão e é necessário utilizar plugins.
A vantagem de ser por padrão Headless e Baseado em API , é que: você tem uma fonte
de informação e pode fazer muitas aplicações para diversos dispositivos a partir dela.
O fato de ser uma funcionalidade do core do CMS, indica que a chance de suporte e
atualizações a API Headless, são grandes, ao passo que se for um plugin a chance de
não ser suportado pode ser grande.
O problema de ser baseado em GIT, e gerar sites estáticos, é que isso funciona para
apps com poucas páginas, quando nossa aplicação começa a tomar um tamanho maior,
o tempo de build fica muito grande, além de poder ter problemas em questões como
atualização de conteúdo.
4
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
4.Joomla
Joomla é um CMS feito em PHP, que tem mais de 3.3% dos sites feitos em CMS na
web. É um CMS bem completo que utiliza do conceito de módulos , temas e plugins
(assim como Wordpress) para estender seu core. Joomla é um CMS fácil de instalar e
usar, isso se você utilizar apenas as funcionalidades mais básicas dele.
Quando precisa usar funcionalidades mais avançadas, ou mexer no código do Joomla
para adaptar alguma coisa, a curva de aprendizado e dificuldade de mexer com o
projeto fica maior.
Um dos problemas de ser um dos CMS mais usados na internet, é que ele é alvo de
hackers assim como o WordPress.
E por fornecer muitos plugins de diversos fornecedores, muitas vezes os plugins podem
vir com vulnerabilidades que podem ser exploradas.
Prós e Contras:
PRÓS CONTRAS
👎 Over Engineered
5
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
5.Alternativas
6
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
● Data do primeiro e último release: É bom saber pra ver se o projeto continua
ativo e sendo atualizado
● Webhooks: O CMS possui webhooks que disparam ações? pode ser usado para
enviar e-mails quando uma página é atualizada, para acionar o build de um site,
para usar push-notification ou qualquer outro cenário que você possa imaginar.
Customização da API ✔ x ✔ x
Suporte a Markdown ✔ ✔ x Via Plugin
Hospedagem Local & Cloud, Paas Local, Cloud, PaaS Local Local
7
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
Facilidade de Fácil/ Possui Imagem Fácil/ Possui Imagem Média/ Não possui Fácil/ Possui
Instalação/ Docker oficial oficial imagem oficial Imagem oficial
Imagem Oficial
Documentação Boa e detalhada com Simplista, possui Bem completa, Bem completa
exemplos e tutoriais bastante informações
mas carece de mais
exemplos
Curva de aprendizado Baixa - Média Baixa - Média Baixa - Média Depende do que
depende do nível do depende do nível do depende do nível se quer fazer.
desenvolvedor desenvolvedor do desenvolvedor Pode ser baixa,
se algo simples,
ou bem alta se
algo mais
complexo
Swagger Plugin x x x
Social Login/LDAP Não, mas no x Via Plugin Via Plugin
Roadmap de
desenvolvimento
Extensível Sim via Plugins x Sim via Plugins Sim via Módulos
e Plugins
SONAR ✔ ✔ ✔ ✔
8
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
Facilidade de Instalação/ Fácil/ Possui Fácil/ Possui Fácil/ Possui Imagem Fácil/ Possui
Docker Imagem Oficial Imagem oficial Imagem oficial oficial Imagem oficial
Curva de aprendizado Baixa - Média Baixa Baixa - Média depende Depende do que se
depende do nível do nível do quer fazer. Pode ser
do desenvolvedor desenvolvedor baixa, se algo
simples, ou bem alta
se algo mais
complexo
Swagger x Plugin x x
Social Login/LDAP Plugin Plugin x Via Plugin
9
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
Clientes AT&T, Prada, 80% dos sites que Michelin,NPM,Pensilvâni Santander, Itaú,
Google, usam CMS PHP a Uni. Toyota
Snapchat
Extensível SIM SIM Sim via Addons, mas Sim via Módulos e
sem guide de Plugins
desenvolvimento
SONAR ✔ ✔ ✔ ✔
Customização da ✔ x x x
API
Hospedagem Local & Cloud, Paas Local, Cloud, PaaS Local Local
Facilidade de Fácil/ Possui Imagem Fácil/ Possui x Fácil/ Possui Imagem oficial
Instalação/ Docker oficial Imagem oficial
Imagem Oficial
10
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
Swagger x Nativo x x
Social Login/LDAP LDAP OIDC x Via Plugin
SONAR -- -- -- ✔
Suporte Enterprise Sim Sim - time pequeno Sim - time pequeno Third-Party
11
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
Reviews de CMS:
1. Strapi
Imagem docker: https://hub.docker.com/r/strapi/strapi
1.2 Features
Estrutura de Arquivos, Controllers, Filtros, Models, Atributos,
Relações: Many-to-many, One-to-many, One-to-one , One-way,
Lifecycle callbacks, Plugin, Plugin styles, Policies, Global policies, Scoped policies,
Plugin policies, Public assets, Requests, Responses, Routing, Services
12
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
PRÓS CONTRAS
👍 Open Source
👍 GraphQL
👍 Customização de APIS
👍 Payload Simples
👍 Poder escolher o BD
👍 suporte a Markdown
Exemplo de Payload:
https://gist.github.com/rubenmarcus/9b5a759da10420d37343a0d74f5eef1d
1 - Nessa page criada no Strapi coloquei: código HTML, código JS, imagens, o formato
do JSON / Payload é muito mais simples que outros CMS
Markdown Payload:
13
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
https://gist.github.com/rubenmarcus/3b148417b5686581ff0d4bfda17dabdf
Score: 14
2 . Ghost
Start: Docker
https://hub.docker.com/_/ghost
Ghost é um CMS open source feito em Node.js e MySQL. Foi o primeiro CMS em
Node.js que ganhou notoriedade na web por ser um CMS simples , com design
agradável e com muitas integrações com apps e serviços famosos na web.
Ghost é meio limitador e não tem documentação oficial para estender o CMS.Não existe
muita informação de como fazer isso: https://github.com/TryGhost/Ghost-App , Existe
esse repositório sem muito suporte e informações.
Internacionalização é nativa, mas apenas possível com algumas customizações de
templates e rotas
Ghost é muito forte na parte de segurança apis de conteúdo são públicas e apis com
/admin necessitam de autenticação via JWT, o CMS por default vem com fácil
configuração de SSL, proteção contra brute-force, proteção de SQLi, prevenção contra
XSS, encriptação de senhas, serialização dos dados.
Teste do Sonar do repo do Ghost:
https://sonarcloud.io/dashboard?id=rubenmarcus_Ghost
2.2 Features
Editor mínimo e intuitivo, Bom gerenciamento de conteúdo,Bons recursos SEO
incorporados nativamente,Aplicativos nativos para desktop e dispositivos
móveis.,Seguro e auditado independentemente,Temas personalizados, AMP ,
JavaScript SDK, Templates em Handlebars
14
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
PRÓS CONTRAS
👍 Suporte a Markdown
👍 JavaScript SDK
Exemplo de Payload:
https://gist.github.com/rubenmarcus/6b222aad59c40d33e772c630a67bffc3
1 - Nessa page criada no Ghost coloquei: Texto com bold e link, coloquei código html e
uma galeria de imagens, o conteúdo do post completo está no parâmetro mobiledoc, e
precisa dar unescaped.
Acredito que o payload está um pouco confuso.
15
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
Score: 6
3 . Apostrophe CMS
3.1 Sobre o CMS
Apostrophe CMS é um CMS que foca muito na experiência do usuário, e tem como
padrão 3 plugins: Um de SEO, um de API Headless, e um de internacionalização.
Permite content-types,e tem uma documentação bem detalhada de como estender o
CMS.
Teste do Sonar do repo do Ghost:
https://sonarcloud.io/dashboard?id=rubenmarcus_apostrophe
3.2 Features
Bearer Tokens e API Tokens, Plugin Headless, Boa edição de conteúdo, ContentTypes
PRÓS CONTRAS
👍 Boa Documentação fácil de Entender 👎 Headless via plugin (mais difícil de estender e
pode ter problemas com suporte)
16
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
👍 Suporte a Internacionalização
Score: 3
4 . Directus
Start: Docker
https://hub.docker.com/r/directus/directus
Directus é um CMS Open Source feito em PHP e MySQL, com diversas features, entre
elas, Espelhamento do Banco de Dados, Headless API,GraphQL, SDK JS.
4.2 Features
Autenticação via OAuth, GraphQL, Collections, Envio de E-MAIL por API,
Versionamento de Dados, SCIM
PRÓS CONTRAS
17
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
👍 GraphQL
👍 Bem Seguro
👍 Interfaces
👍 Internacionalização nativa
👍 JavaScript SDK
👍 Customização de APIS
👍 SSO, 2FA
Score: 13
5 . WordPress
Start: Docker
https://hub.docker.com/_/wordpress/
18
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
2.2 Features
Plugins, Temas
PRÓS CONTRAS
👍 Suporte a Markdown
👍 Grande comunidade
Score: 7
19
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
6 . CockPit CMS
Start: Docker
https://hub.docker.com/r/agentejo/cockpit/
2.2 Features
Webhooks, GraphQL
PRÓS CONTRAS
👍 Flexivel
👍 GraphQL
👍 Bem Seguro
👍 Suporte a Markdown
👍 FORMS
20
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
Score: 9
7 . dotCMS
Start: Docker
https://github.com/dotCMS/docker/tree/master/images/dotcms
2.2 Features
WYSIWYG Editing,Versionamento, SEO ,Multilingual (i18n/UTF-8),Multi-site
hosting,Global publishing,Custom content types,Mobile device preview,Content
Geolocation,Full text searching/Metadata
21
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
PRÓS CONTRAS
👍 GraphQL 👎 UI Bugs
👍 Suporte a Markdown
👍 Bem Seguro
Score: 2
8 . Squidex
Start: Docker
https://hub.docker.com/r/squidex/squidex
2.2 Features
GraphQL, Plugins, Api Keys, Elastic Search, Algolia , Webhooks
22
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
PRÓS CONTRAS
👍 Boa Documentação fácil de Entender 👎 Coisas que vem por default em outros CMS, tem
que ser feitos em código
👍 Open Source
👍 Plugins
👍 GraphQL
👍 Bem Seguro
👍 Suporte a Markdown
👍 MongoDB
👍 Internacionalização
👍 Open Id
Score: 10
9 . Gentics Mesh
Start: Via .jar
https://getmesh.io/
documentação. O ponto fraco do CMS, é que é pouco usado, o suporte não é dos
melhores, e muitos plugins são pagos, quando são padrões em outros CMS
9.2 Features
Versionamento,Internacionalização, OAuth 2.0, Plugins, Forms, Cluster Mode, Elastic
Search
PRÓS CONTRAS
👍 Plugins
👍 Bem Seguro
👍 Cluster Mode
👍 Versionamento de Dados
👍 Elastic Search
Score: 6
24
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
1.Strapi score:14
2.Directus score:13 (PS: Durante teste local foram encontrados bugs críticos, que
não foram encontrados durante teste em servidor)
3.Squidex score:10
OctoberCMS: não tem headless a não ser por plugin, orientado a ser um CMS comum
25
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
13.Futuro
Front-end Desacoplado:
Custom Environments
TypeScript
AMP
Critical CSS
Semantic HTML
GraphQL
PWA (?)
26
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
14.Referências
14.1 Documentações:
1. https://docs.joomla.org/Main_Page
2. https://docs.techjoomla.com/joomla-rest-api/com-api-introduction/
3. https://strapi.io/documentation/v3.x/getting-started/quick-start.html
4. https://ghost.org/docs/
5. https://docs.apostrophecms.org/
6. https://docs.directus.io/getting-started/introduction.html
7. https://getcockpit.com/documentation
8. https://codex.wordpress.org/
9. https://developer.wordpress.org/rest-api/
10. https://docs.squidex.io/
11. https://squidex.io/comparison/strapi
12. https://squidex.io/comparison/directus
13. https://dotcms.com/documentation/
14. https://getmesh.io/docs/
15. https://docs.dapt.in/
16. https://www.keystonejs.com/quick-start/
17. https://octobercms.com/help/guidelines/developer
18. The Joomla Hacking Compedium: https://www.exploit-db.com/papers/15780
27
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.
ANÁLISE DE CMS HEADLESS PARA O PORTAL DE DESENVOLVEDORES DO ITAÚ
29. https://medium.com/@prismicio/beyond-headless-cms-9f280022d73b
30. https://medium.com/manacespereira/construindo-uma-api-completa-com-nodejs-strapi-em-menos-
tempo-do-que-voc%C3%AA-imagina-9b787d3a8cde
31. https://blog.codecasts.com.br/headless-cms-o-que-s%C3%A3o-onde-vivem-o-que-comem-2fcf421
0eec1?source=user_profile---------0-----------------------
32. https://devunleashed.com/article/why-i-cant-recommend-strapi/
33. https://medium.com/kata-engineering/headless-wordpress-next-js-what-we-learned-c10abdf80f6a
34. https://www.episerver.com/articles/headless-helps-you-meet-the-customer-where-and-how-they-w
ant-to-shop-or-conduct-tasks
35. https://snipcart.com/blog/jamstack
36. https://medium.com/@bretcameron/building-my-first-headless-cms-what-i-wish-i-knew-at-the-start-
1f3ef3a00bb8
28
Este documento é de uso interno, limitado a funcionários da ZUP IT Innovation, não podendo ser copiado, reproduzido ou
compartilhado com terceiros.