Article image
Francisco Santos
Francisco Santos17/11/2025 21:45
Compartilhe

Prova de Conceito: Um Blog sem Frameworks, apenas HTML, CSS e JavaScript

  • #HTML
  • #CSS
  • #JavaScript

Você já se questionou se é possível criar um Blog Pessoal sem a utilização de Frameworks ou Bibliotecas?

Eu me perguntei isso por alguns dias e, com algum auxílio de IA para organizar as ideias, cheguei a uma conclusão: "Por que não tentar?"

Começou neste momento a caminhada até o deploy do Blog: https://rodrigues-dev-br.vercel.app/

A ideia era criar algo minimalista, sem "helpers", recorrendo apenas ao bom e velho kit fundamental da web: HTML para estruturação, CSS para estilização e JavaScript puro para dar dinâmica às páginas.

Definindo os Requisitos

Sabendo quais tecnologias utilizar, comecei a definir alguns requisitos para o funcionamento do Blog:

  • Dinamismo sem repetição: O principal requisito era não ter que criar uma nova página .html toda vez que eu quisesse adicionar uma nova postagem.
  • Estrutura unificada: Eu teria uma página HTML principal (index.html) que conteria o cabeçalho, o rodapé e um "corpo" principal. Este corpo seria atualizado dinamicamente para exibir a lista de posts ou um post específico.
  • O toque pessoal: E, claro, eu finalmente teria um site no ar com meu sobrenome e a frase: "Todos os direitos reservados".

A Estrutura: HTML

Com os requisitos definidos, a estrutura base do index.html ficou limpa e focada. Ela serve como um "template" principal para todo o site.

HTML

<!DOCTYPE html>
<html lang="pt-BR">
<head>
  </head>
<body>
  <header class="header">
      <div class="container">
          <h1 class="logo"><a href="/">Rodrigues.Dev</a></h1>
      </div>
  </header>

  <main class="container">
      <section id="posts-list" class="posts-list">
          </section>
  </main>

  <footer class="footer">
      <p>&copy; 2025 Rodrigues.Dev. Todos os direitos reservados.</p>
  </footer>

  <script src="js/main.js"></script>
</body>
</html>

A segunda parte importante é a página de Postagem. Ela reutiliza a mesma estrutura de cabeçalho e rodapé, alterando apenas o conteúdo da tag <main> para exibir o artigo selecionado:

HTML

<main class="container">
  <article id="post-content">
      </article>
</main>

A Dinâmica: JavaScript e a Fetch API

Partindo para a tecnologia responsável pela "mágica", temos dois arquivos JavaScript principais. O "trabalho duro" em ambos é feito pela Fetch API, nativa dos navegadores.

  1. main.js (Página Inicial): Responsável por cuidar da listagem de postagens na home. Ele busca os dados e os renderiza dinamicamente dentro da <section id="posts-list">.
  2. post.js (Página de Post): Responsável por identificar qual post está sendo requisitado (geralmente via parâmetro na URL) e, em seguida, buscar e renderizá-lo dentro do <article id="post-content">.

O "Banco de Dados": Arquivos JSON

Neste momento, você deve estar se perguntando: "E como as postagens são armazenadas?"

Para manter a simplicidade e evitar um banco de dados complexo, a maneira mais simples que encontrei foi utilizar arquivos JSON.

O projeto conta com um diretório data/ onde os arquivos JSON (as postagens em si) estão guardados. Além deles, existe um arquivo crucial: posts.json.

Pense no posts.json como uma "lista telefônica" ou um índice. Ele contém uma lista com metadados de todos os posts (como título, data e o nome do arquivo JSON correspondente). É a partir dele que o main.js constrói a lista da home e sabe qual arquivo de postagem específico o post.js deve buscar quando o usuário clica em um post.

Chegar ao deploy deste projeto foi uma jornada de redescoberta dos fundamentos da web. Muitas vezes, no mundo da tecnologia, somos levados a acreditar que precisamos de frameworks complexos para qualquer tarefa. Este blog prova que, para muitos casos, o "kit básico" (HTML, CSS e JS) não é apenas viável, mas incrivelmente eficiente.

A utilização da Fetch API para criar um sistema de Single Page Application (SPA) rudimentar, combinada com arquivos JSON atuando como um banco de dados leve, mostrou-se uma solução robusta e de fácil manutenção.

Para quem está estudando desenvolvimento, construir um projeto assim "do zero" é um exercício fantástico. A simplicidade, aqui, não foi uma limitação, mas uma escolha consciente pela performance, controle e, acima de tudo, pelo aprendizado.

Compartilhe
Comentários (2)
Francisco Santos
Francisco Santos - 18/11/2025 18:16

Grato pelo feedback!

E quanto a sua pergunta? Confesso que senti um pouco de dificuldade em respondê-la, mas após algumas pesquisas consigo responder. E os maiores problemas que consigo elencar são:

Segurança, como o sistema precisará ser "quebrado" em microsserviços torna se necessário um esquema extremamente rigoroso e criptografado para garantir que os dados trasacionados entre os microsserviços estejam seguros.

O segundo problema é algo chamado de Soberania dos dados que é garantir que as informações financeiras fiquem apenas em servidores do País, que esses dados possam ser auditados e garantir que todas as transações não possam ser alteradas ou apagadas.

Resumindo, o desafio é gerenciar a segurança e provar o cumprimento das leis de soberania de dados na nuvem que é um ambiente fragmentado e distribuido.

DIO Community
DIO Community - 18/11/2025 14:51

Excelente, Francisco! Que artigo inspirador, corajoso e essencial! Você tocou no ponto crucial do Desenvolvimento Web Front-end: a revelação de que é totalmente possível construir um Blog Pessoal completo sem a dependência de frameworks.

É fascinante ver como você aborda o tema, mostrando que a simplicidade (HTML, CSS e JavaScript puro) é uma escolha consciente pela performance, controle e aprendizado.

Qual você diria que é o maior desafio para um desenvolvedor ao migrar um sistema de core banking para uma arquitetura cloud-native, em termos de segurança e de conformidade com as regulamentações, em vez de apenas focar em custos?