Flight vs Fat-Free
O que é Fat-Free?
Fat-Free (carinhosamente conhecido como F3) é um micro-framework PHP poderoso e fácil de usar, projetado para ajudá-lo a construir aplicativos web dinâmicos e robustos - rapidamente!
Flight se compara ao Fat-Free de muitas maneiras e é provavelmente o primo mais próximo em termos de recursos e simplicidade. Fat-Free tem muitos recursos que Flight não tem, mas também tem muitos recursos que Flight tem. Fat-Free está começando a mostrar sua idade e não é tão popular quanto costumava ser.
As atualizações estão se tornando menos frequentes e a comunidade não é tão ativa quanto costumava ser. O código é simples o suficiente, mas às vezes a falta de disciplina de sintaxe pode torná-lo difícil de ler e entender. Ele funciona para PHP 8.3, mas o código em si ainda parece que vive no PHP 5.3.
Prós em comparação com Flight
- Fat-Free tem algumas estrelas a mais no GitHub do que Flight.
- Fat-Free tem uma documentação decente, mas falta clareza em algumas áreas.
- Fat-Free tem alguns recursos esparsos, como tutoriais no YouTube e artigos online que podem ser usados para aprender o framework.
- Fat-Free tem alguns plugins úteis integrados que são às vezes úteis.
- Fat-Free tem um ORM integrado chamado Mapper que pode ser usado para interagir com seu banco de dados. Flight tem active-record.
- Fat-Free tem Sessions, Cache e localização integrados. Flight requer que você use bibliotecas de terceiros, mas está coberto na documentação.
- Fat-Free tem um pequeno grupo de plugins criados pela comunidade que podem ser usados para estender o framework. Flight tem alguns cobertos na documentação e exemplos.
- Fat-Free, como Flight, não tem dependências.
- Fat-Free, como Flight, é voltado para dar ao desenvolvedor controle sobre sua aplicação e uma experiência de desenvolvimento simples.
- Fat-Free mantém compatibilidade com versões anteriores, como Flight (parcialmente porque as atualizações estão ficando menos frequentes).
- Fat-Free, como Flight, é destinado a desenvolvedores que estão se aventurando no mundo dos frameworks pela primeira vez.
- Fat-Free tem um motor de templates integrado que é mais robusto do que o motor de templates do Flight. Flight recomenda Latte para isso.
- Fat-Free tem um comando de tipo CLI único "route" onde você pode construir aplicativos CLI dentro do próprio Fat-Free e tratá-lo como um pedido
GET
. Flight realiza isso com runway.
Contras em comparação com Flight
- Fat-Free tem alguns testes de implementação e até tem sua própria classe de teste que é muito básica. No entanto, não é 100% testado com unit tests como Flight.
- Você tem que usar um mecanismo de busca como o Google para realmente pesquisar o site de documentação.
- Flight tem modo escuro em seu site de documentação. (mic drop)
- Fat-Free tem alguns módulos que são lamentavelmente não mantidos.
- Flight tem um PdoWrapper simples que é um pouco mais simples do que a classe
DB\SQL
integrada do Fat-Free. - Flight tem um plugin de permissões que pode ser usado para proteger sua aplicação. Fat-Free requer que você use uma biblioteca de terceiros.
- Flight tem um ORM chamado active-record que parece mais um ORM do que o Mapper do Fat-Free.
O benefício adicional do
active-record
é que você pode definir relacionamentos entre registros para joins automáticos, onde o Mapper do Fat-Free requer que você crie views SQL. - Incrivelmente, Fat-Free não tem um namespace raiz. Flight é namespaced completamente para não colidir com seu próprio código.
A classe
Cache
é a maior infratora aqui. - Fat-Free não tem middleware. Em vez disso, há ganchos
beforeroute
eafterroute
que podem ser usados para filtrar requisições e respostas em controladores. - Fat-Free não pode agrupar rotas.
- Fat-Free tem um manipulador de contêiner de injeção de dependência, mas a documentação é incrivelmente esparsa sobre como usá-lo.
- A depuração pode ficar um pouco complicada, já que basicamente tudo é armazenado no que é chamado de
HIVE