O que um desenvolvedor full stack iniciante deveria saber (minimamente)

Todas as vezes me deparo com a seguinte pergunta: "até que ponto podemos considerar que o processo de desenvolvimento é full stack?"

Será que me limito a ver apenas do ponto de vista da aplicação (Back e Front) ou devo considerar o backend num sentido mais amplo, até hosting e infra (ou qualquer outra estrutura além)?

Independente de como podemos começar a analisar, quero tratar apenas do ponto de vista da aplicação, ou melhor, de uma simples aplicação web.

Vamos pensar em alguns pontos para desenvolver sem exageros. Desses, posso citar:

  1. Aplicação em um único arquivo index.php 😨
  2. MVC
  3. Frameworks / Libraries de front-end JS
  4. Preprocessadores CSS ou Tailwind CSS

Pela lista deu pra notar que vamos tratar de algumas tecnologias como PHP, Javascript, CSS, e até alguns frameworks, os quais já adianto Svelte e Laravel

A loucura em um único index.php

Se você, assim como eu começou a desenvolver com PHP, já deve estar acostumado a trabalhar com os dados do front serem gerados 100% pelo backend, sem contar a delícia que era fazer isso localmente com o XAMPP antes de existir um docker maravilhoso.

Mas, recentemente, percebí um retorno de vários sites que utilizam de um único arquivo index.php para lidando com toda a logica do site.

Parece meio extremo, mas funciona. Pelo menos a codebase não fica lotada de dependências.

Há algumas semanas, o youtuber Andrew Schmelyun fez um vídeo especificamente sobre como criar uma plataforma assim. No caso, ele criou um listing de cafeterias de uma maneira bem didática.

Tutorial construindo um app com um só index.php

Com esse método você basicamente lida com roteamento, sessões e autenticação, queries no banco de dados, e marcação do front-end em um arquivo.

É uma boa abordagem pra um projeto com um unico objetivo definido desde que seja simples. A medida que crescer, isso pode ficar inviável. nada que um require_once não resolva.