Introdução
Agora é hora de fazer um balanço do nosso desenvolvimento. Este artigo será o último na descrição da história do desenvolvimento do nosso projeto. Tentarei descrever em detalhes minha experiência na criação de uma nova ferramenta para construção de sites.
Milhões de projetos da web viram a luz do dia, mas os programadores ainda escrevem toneladas de código-fonte dia após dia, resolvendo problemas semelhantes usando ferramentas diferentes. Este artigo se concentrará na tecnologia que desenvolvemos há 4 anos. Já falei anteriormente sobre qual era minha ideia e propósito na criação deste produto e para que eu queria uma ferramenta de programação para a rotina diária de desenvolvimento de aplicativos web. Tive que seguir meu caminho desde a apresentação do meu produto em argumentos de vendas iniciais e hackathons até a obtenção do primeiro projeto real na rede, onde fui capaz de aplicar meu desenvolvimento com sucesso.
Tudo começou em 2017, quando tive a ideia de escrever um site para mim. Sem pensar duas vezes, peguei o Drupal e configurei-o como headless-cms . Eu queria escrever um front-end separado e não cavar com temas Drupal . Mas algo deu errado! Encontrei muitas restrições no design de entidades na interface administrativa. Então decidi experimentar no WordPress . Mas eu não esperava de forma alguma ter que criar controladores separados para cada tipo de entidade. Mas, para ser honesto, isso me chateou. No Drupal, pelo menos tem as visualizações , que é relativamente fácil de configurar e usar o console administrativo para criar endpoint'ypara acesso por meio da API REST , mas, no entanto, existem limitações. Depois disso, fiz uma pequena análise do CMS existente e percebi que teria que escrever tudo sozinho.
Sem mais delongas, comecei imediatamente a desenvolver meu CMS. No presente artigo, dei uma descrição do que eu acabei com. Esta foi a primeira versão do produto. No geral, o sistema de gerenciamento de conteúdo foi implementado, mas vi que há um grande problema de desempenho nesta versão. E isso me deu uma nova compreensão de quais tecnologias escolher para o desenvolvimento da segunda versão e como resolver o problema de desempenho.
, . , , - -, WebSockets. , , HTML, .
MastermindCMS2 12- , . Mastermind Microservices, .
MastermindCMS2? - , -.
MastermindCMS2 Spring Rest Controller. Spring WebSocket Controller.
Application – HTTP-.
Framework – , .
Common – , .
Builder – . , .
Utilities – Common, , Mastermind Microservices.
Blogging – .
Commerce – . , , .
EmailSender – , , .
Messaging – .
FileStorage – .
i18Next – .
VCS – , Git. .
, Spring - , , JSON HTML. C .
, — data binding SSR (Server-Side Rendering) HTML.
, — data binding , Angular, React, vue.js . ., MastemindCMS2 JSON, WebSocket .
, , . MastermindCMS2 . - ! .
Spring Data REST, MastermindCMS2 .
MastermindCMS2 8 . . Spring Thymeleaf. , , , - . Spring Thymeleaf MastermindCMS2. - ? , Spring Thymeleaf view , . MastermindCMS2 .
mastermindcms.co , , .
, , HTML- . , , , .
. .
HTML/CSS/JS .
Mastermind Microservices .
MastermindCMS2.
. , , . , , . «» . , . , - , . , .
Se alguém tiver interesse em experimentar MastermindCMS2 ou em falar comigo pessoalmente sobre o desenvolvimento do framework, ficarei feliz.
Tenha um bom dia e produtivo!