Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introdução

Você está cansado da fadiga de frameworks? De ver projetos engolidos pela complexidade artificial, pela dívida técnica crescente e pela constante corrida para aprender a próxima ferramenta "essencial"? Se a sua resposta é sim, este livro foi escrito para você. No coração deste manifesto técnico está o Memoize, um aplicativo de flashcards que hoje roda em produção, com usuários reais, e está disponível em: 🔗 https://memoize.cards.

O Memoize nasceu de uma motivação íntima: criar uma ferramenta de aprendizado mais leve e eficaz para meu filho. Mas o que começou como uma necessidade pessoal, rapidamente se transformou em um estudo profundo de engenharia front-end. É uma prova viva, em produção, de que é possível construir produtos modernos, performáticos e escaláveis utilizando apenas tecnologias nativas da Web — HTML, CSS e JavaScript puro. Isso significa: Sem frameworks. Sem dependências. Sem mágica.

Este não é um livro de receitas. É a documentação de uma jornada real, feita em produção, com decisões de verdade — da concepção à arquitetura, da implementação ao refactor, da dor à descoberta. É um convite para você, seja um desenvolvedor experiente, um Tech Lead, Staff Engineer, Principal Engineer ou um CTO, a questionar o status quo e descobrir um caminho para a simplicidade poderosa e o controle total sobre sua stack.

Eu acredito que:

Javascript puro é suficiente — quando bem arquitetado.

Ao longo destas páginas, você não apenas entenderá como o Memoize foi construído, mas como pensar como um arquiteto front-end que busca impacto real e sustentabilidade. Isso inclui tomar decisões que escalam sem o peso da dívida técnica, construir sistemas robustos sem as amarras de dependências desnecessárias, focar no que importa de verdade — performance impecável, clareza do código e uma experiência de usuário inigualável — e otimizar recursos e tempo de desenvolvimento, entregando mais valor com menos complexidade. Se você busca uma abordagem que liberte sua equipe das correntes da complexidade artificial do ecossistema moderno, este livro é o seu guia.

Agradecimentos

Este livro, e o Projeto Memoize que o inspira, não teriam alcançado este ponto sem o apoio e a motivação das pessoas mais importantes da minha vida.

Em primeiro lugar, minha gratidão vai para meu filho, Matheus. O Memoize nasceu da minha paixão em encontrar uma forma mais leve e eficaz para ele estudar. Vê-lo usando o aplicativo diariamente, sob a supervisão atenta da minha esposa, é a maior recompensa. E a prova de que nossa abordagem funciona é o resultado: sua média escolar de 9.5 é um testemunho do impacto real que uma ferramenta bem pensada pode ter.

À minha amada esposa, Thais, meu mais profundo agradecimento não apenas por sua dedicação em supervisionar os estudos do Matheus com o app, mas também por ela mesma ter abraçado o Memoize como uma ferramenta de estudo em sua própria jornada. Seu engajamento solidifica a usabilidade e a eficácia da aplicação.

E, claro, à nossa pequena Julia. Ver nossa filha de 3 anos já começando a interagir e brincar com o aplicativo traz uma alegria imensa e reforça a visão de que o aprendizado pode ser divertido em qualquer idade.

Vocês são a verdadeira razão por trás de cada linha de código, cada decisão de design e cada página deste livro. É por vocês que o Memoize existe e continua a evoluir.

Muito obrigado.

Para quem é este livro?

Este livro foi cuidadosamente elaborado para uma audiência específica, que busca profundidade, autonomia e um novo olhar sobre a engenharia de software front-end. Se você se encaixa em um dos perfis abaixo, este conteúdo é para você:

  • Desenvolvedores Front-end Experientes: Aqueles que já se sentem presos na complexidade dos frameworks, mas anseiam por dominar a plataforma web de verdade, entender os fundamentos e construir software mais performático e sustentável. Este livro lhe dará as ferramentas e a mentalidade para elevar seu nível técnico.
  • Tech Leads e Arquitetos de Software: Para você que toma decisões cruciais sobre a stack tecnológica. Aqui, você encontrará um estudo de caso prático de como construir sistemas complexos sem frameworks, otimizando performance, manutenibilidade e o custo-benefício de sua equipe. Descubra como justificar e implementar uma arquitetura simples, mas poderosa.
  • Staff, Principal e Distinguished Engineers: Se você busca inovar e influenciar a direção técnica de grandes projetos, este livro oferece uma tese desafiadora e comprovada sobre a eficiência do JavaScript puro e das Web APIs. É um guia para pensar em escalabilidade, reusabilidade e o legado técnico de forma estratégica.
  • CTOs e Líderes de Engenharia: Para os tomadores de decisão que precisam gerenciar orçamentos, produtividade da equipe e a longevidade dos produtos. Este livro propõe uma abordagem que pode reduzir a dívida técnica, acelerar o desenvolvimento, diminuir custos de infraestrutura e garantir a autonomia tecnológica da sua empresa. Entenda como uma arquitetura bem pensada se traduz em valor de negócio.

Este não é apenas um guia técnico; é um convite para você reimaginar o desenvolvimento front-end e construir o futuro da web com mais intencionalidade e maestria.

Fundamentos e Propósito

Antes de qualquer linha de código, existe uma ideia. E toda ideia precisa de clareza. Nesta primeira parte, vamos explorar o propósito central do Memoize: por que ele existe, qual dor resolve, e por que este projeto é uma afirmação de que “JavaScript puro é suficiente” quando bem arquitetado. Estabelecemos os princípios inegociáveis que guiarão cada decisão técnica — performance, simplicidade, autonomia tecnológica e domínio do front-end como engenharia.

Entendendo o Problema

Arquitetura sem problema real é exercício teórico. Aqui, dissecamos o problema do app Memoize: o que ele precisa fazer, onde estão os desafios reais e quais são os pontos de complexidade que exigem pensamento estratégico. Vamos modelar o domínio, entender fluxos, dependências e levantar hipóteses que vão guiar nossa solução. Essa etapa evita overengineering e garante que o que vamos construir resolve o que precisa — nem mais, nem menos.

Arquitetura e Design

Com o terreno mapeado, começa a engenharia. Nesta parte, definimos uma arquitetura baseada em HTML First, Web Components nativos e JavaScript puro. Escolhemos um estilo modular, desacoplado, que privilegia legibilidade e evolutividade. Vamos falar de contratos entre componentes, orquestração de estado, barramento de eventos e outras estratégias que substituem frameworks sem perder poder. É aqui que provamos que “simples” não significa “limitado”.

Implementação na Prática

Aqui a teoria vira prática. Vamos construir o Memoize do zero, passo a passo, mostrando decisões de código como um arquiteto pensa: com intenção. Desde o HTML semântico inicial até a composição dos Web Components, passando por decisões de performance, testes manuais, instrumentação e ergonomia de uso. O objetivo é mostrar como a arquitetura se comporta no mundo real — onde código vive, quebra e precisa evoluir.

Extraindo uma Biblioteca

Bons projetos se tornam legados quando viram ferramentas. Nessa etapa, vamos identificar padrões repetíveis dentro do Memoize e extrair uma biblioteca reutilizável. Criamos uma abstração que encapsula nossa arquitetura e oferece uma base sólida para novos apps. Vamos versionar, documentar, publicar no NPM e entender o que faz uma lib ser útil de verdade. Aqui você aprende como uma arquitetura sólida escala além do próprio projeto.

Filosofia de Engenharia

Mais do que escrever código, esse projeto é uma forma de pensar engenharia front-end. Esta parte fecha o livro refletindo sobre o processo: como evoluir sem frameworks, como pensar em dependências, como documentar decisões e como entregar software que se sustenta. Aqui está a visão por trás de tudo: formar devs que entendem o que estão fazendo, dominam sua stack e constroem produtos com propósito técnico e estratégico.

Links úteis

Para complementar a experiência de leitura e oferecer acesso direto às ferramentas e recursos utilizados no Projeto Memoize, compilamos uma lista de links importantes:

  • Repositório do Projeto no GitHub: Explore o código-fonte, acompanhe o desenvolvimento e contribua com o Projeto Memoize.

  • Design do Projeto no Figma: Acesse o protótipo e os arquivos de design UI/UX do Memoize para entender a visão e a interface do aplicativo.

  • Board de Planejamento no Miro: Visualize os fluxos, mapas mentais e brainstorms que guiaram o planejamento e a evolução do projeto.

Contribuintes

Este livro e o Projeto Memoize são o resultado de dedicação e paixão. Neste momento, o principal contribuinte e autor é:

Agradeço imensamente a todos que, direta ou indiretamente, apoiaram esta jornada. A construção de software de qualidade é um esforço contínuo, e o feedback e a motivação de cada pessoa são inestimáveis.