Um tempo atrás eu escrevi sobre Frameworks, se era interessante usar ou não usar. A partir do ponto em que você opta por usar um framework, a dúvida passa a ser: qual escolher e por quê?
Trarei para você uma série de artigos falando sobre os frameworks que eu conheço e que já trabalhei, começando pelo Laravel. Ele é um dos mais práticos e de baixa curva de aprendizagem, na minha opinião.
O Laravel é um framework MVC que esteve no topo das buscas do Google desde agosto de 2014, ano do lançamento da versão 5.0. Antes disso ele já era usado, mas não estava tão em evidência quanto hoje. Eu comecei a usar o Laravel em 2015 e isso me ajudou a entender melhor a orientação a objetos e o padrão MVC, porque ele organiza bem as camadas e os elementos do projeto.
Em 2016 comecei a usar Ruby on Rails, e o Laravel agregou bastante nesse processo. Não posso afirmar com certeza, mas o Laravel parece ter sido influenciado pelo Rails, especialmente na forma como separa rotas, controllers e models.
Características do framework:
- Linguagem: PHP - Banco de dados: MySQL, PostgreSQL, Redis, MongoDB, Cassandra e SQL Server - Modelos de banco: relacional e orientado a objeto - Features: scaffold, internacionalização (i18n), TDD e princípio de “don’t repeat yourself”
Os bancos listados são altamente compatíveis com o Laravel. Basta trocar as configurações e apontar para o banco desejado; a aplicação já funciona se a estrutura estiver pronta. Se não estiver, basta rodar as migrations e a estrutura do banco será criada. Tudo funciona bem desde que o banco esteja modelado de forma relacional ou orientada a objeto, que são os dois modelos que o framework trabalha.
Uma feature muito usada, especialmente por quem está começando, é o Scaffold. Ele cria todo o CRUD de uma entidade do sistema, como o de concessionárias, por exemplo. Você roda o scaffold para automóveis e a parte de leitura, visualização, escrita e exclusão fica pronta. Em poucos minutos você já consegue visualizar uma funcionalidade operando.
Outro ponto importante é a internacionalização (i18n), principalmente se você pretende fazer um sistema que pode ser acessado em vários idiomas. Mesmo que não use a internacionalização para esse objetivo, ela também ajuda a manter textos centralizados em um único lugar. Se o texto precisar de alteração, você muda em um lugar só e a mudança se replica para todo o sistema.
Para iniciar um projeto com o Laravel, caso você tenha o Composer instalado, basta rodar:
composer global require "laravel/installer"
Tendo configurado o PHP nas variáveis de ambiente, basta executar:
php artisan serve
Isso sobe a aplicação localmente e deixa o projeto pronto para funcionar.
Gostou do Laravel? Quer conhecer um pouco mais? Dê uma olhada na documentação e no GitHub dos caras. Se ficou alguma dúvida, tiver alguma sugestão ou quiser ler sobre algum framework específico, deixe nos comentários.