Os tipos de frameworks


O que é um framework cobriu a ideia: estrutura mais plumbing resolvido, com o framework chamando seu código. Este capítulo é o mapa do que realmente existe: um tour com uma garantia embutida, porque ninguém conhece todos esses. Desenvolvedores que trabalham sabem uma ou duas famílias bem e reconhecem o resto, e esse é o objetivo aqui também. Famílias importam mais que nomes: aprenda bem um membro e seus irmãos vêm rapidamente.
A web: front-end e back-end
Frameworks web se dividem na linha em que a própria web se divide. Frameworks de front-end rodam no navegador e gerenciam o que o usuário vê; frameworks de back-end rodam em um servidor e gerenciam dados, contas e tudo nos bastidores. Se você está entrando em desenvolvimento web, um de cada lado provavelmente se tornará uma ferramenta diária, e qual é geralmente decidido pelo time ou projeto que você entra em vez de por você.
Os nomes de front-end que você encontrará:
- React: o mais usado por uma grande margem, com o maior ecossistema e mercado de trabalho. Tecnicamente uma biblioteca UI em vez de um framework completo, uma distinção com um núcleo útil coberto abaixo.
- Vue: conhecido por uma curva de aprendizado suave e documentação que as pessoas realmente gostam; um caminho do meio completo e bem organizado.
- Angular: o framework com todas as baterias incluídas do Google, opinativo sobre tudo; mais em casa em grandes organizações que querem uma forma sancionada para fazer cada coisa.
- Svelte: faz seu trabalho no tempo de build e envia menos código para o navegador; comunidade menor, frequentemente admirada pelas pessoas nela.
E os nomes de back-end, onde o framework é geralmente vinculado a uma linguagem:
- Django (Python): com todas as baterias incluídas, de banco de dados a interface de admin; um parceiro frequente do Python que você já pode conhecer.
- Rails (Ruby): o framework que popularizou convenção sobre configuração; suas ideias ecoam através da maioria dos frameworks web modernos, Laravel incluído.
- Laravel (PHP): o padrão moderno do mundo PHP, que ainda executa uma parcela muito grande da web.
- Express (JavaScript): deliberadamente minimalista, mais próximo de um toolkit do que um framework completo; você monta o resto você mesmo.
- Spring (Java): o cavalo de trabalho corporativo; sprawling, profundamente estabelecido, e em todo lugar em grandes empresas.
Apps e games
Desenvolvimento mobile tem sua própria história de framework, e se centra em uma pergunta: construir separadamente para iPhone e Android, ou uma vez para ambos? Dois frameworks dominam a resposta de construir-uma-vez. Flutter (do Google, usando a linguagem Dart) desenha sua própria interface pixel por pixel, então apps parecem idênticos em todo lugar. React Native traz o modelo de componentes do React para mobile e dirige as peças de interface nativa de cada plataforma, que é uma continuação natural se você já conhece React.
Game engines são frameworks em seu mais total: eles possuem o loop que roda sessenta vezes por segundo, e seu código preenche o que cada objeto faz dentro disso. Unity (C#) é o padrão para games indie e de médio porte e muito do gaming mobile. Unreal (C++) lidera onde a fidelidade visual é o ponto, de games de grande orçamento a produção de filmes. Godot é o engine livre e open-source cuja comunidade cresceu rapidamente, e um lugar amigável para começar.
Os quietos: testes e dados
Nem todo framework é sobre construir um produto; alguns organizam o trabalho ao redor disso. Frameworks de testes são o caso mais claro, e o exemplo mais puro da definição do último capítulo: pytest (Python), Jest (JavaScript), e JUnit (Java) cada um encontra suas funções de teste, as executa, e relata, com você nunca escrevendo um programa que chama seus próprios testes. Você encontrará um desses em quase toda base de código profissional, geralmente aquele correspondendo à linguagem do projeto.
Dados e machine learning têm frameworks também. PyTorch domina pesquisa e cada vez mais produção; TensorFlow é o ecossistema do Google com ferramental de produção profundo. Ambos cuidam da maquinaria matemática do treinamento de modelos para que seu código descreva o modelo em vez do cálculo. Se a trilha How AI Works o interessou, essas são as ferramentas que esse mundo constrói.
Aonde isso vai depois
Esse é o mapa: web em ambos os lados do fio, mobile, games, testes e dados, a mesma ideia usando uniformes diferentes. A pergunta restante é a prática, e tem duas metades: qual, e se um em tudo. Choosing and learning a framework enfrenta ambas, e se as definições aqui pareciam instáveis, What is a framework é uma leitura curta de volta.

