Desenvolvedor de Sistemas Laravel
O que é o framework Laravel?
Laravel é um Framework PHP MVC, criado por Taylor Otwell e suportado por bibliotecas de diversos outros autores. O Laravel não entrega valor sozinho, e depende dessas bibliotecas por diversos motivos, desde o processamento de requisições, até a geração de relatórios de grandes volumes.
Laravel é um framework de código PHP MVC flexível multipropósito, que pode ser usado com os mais diversos estilos de programação como: Programação orientada a testes (TDD), Programação em pares, Extreme Programming. Laravel é um framework moderno! logo o caso de gestão de projetos mais comum com Laravel é SCRUM. O desenvolvimento de sistemas Laravel por um programador requer conhecimento sobre MVC, Programação Orientada a Objetos, noções de inglês para compreensão das documentações. Para uma equipe, é necessário que os membros tenham ainda, conhecimentos de versionamento com Git. Um programador é capaz de manter projetos de pequeno e médio porte em Laravel, teoricamente.
Processo de Desenvolvimento de Sistemas em Laravel
Um esquema de exemplo:
- Listagem de requisitos
- Análise de aplicações existentes
- Mapeamento da camada de dados (M.E.R) em desenho do banco de dados (Models)
- Mock-up das telas (Views)
- Identificação de rotas e controladores (APIs)
- Contratação da Infra de servidores necessária
- Implantação e configuração do processo de atualização (git/deploy)
APIs em Laravel
Laravel dispõe de documentação para construção de rotas de API, para consulta cliente – sistema e sistema – sistema. É possível construir rotas seguras (JWT) Com Laravel, a construção de APIs é mais produtiva, por meio de geradores de modelos, migrações e controladores, middlewares (camadas).
É possível criar aplicações que servem ao mesmo tempo rotas de páginas renderizadas e rotas de retorno de dados.
Aplicações em tempo real com Laravel
É possível criar aplicações de pedidos, dashboards em tempo real, automação doméstica e industrial (IOT) entre uma infinidade de outras aplicações, quando se constrói uma aplicação que faz a distribuição de recursos partindo do servidor, para consumo dos clientes – o inverso do convencional, onde os clientes requisitam recursos do servidor.
É possível também escrever APIs que servem sistema – cliente, utilizando tecnologias de distribuição de dados em Sockets ou Server Sent Events (SSE).
Upgrade de versões de aplicações Laravel
Existem tutoriais que esclarecem esse upgrade de versão. É possível saltar versões como por exemplo migrar da versão 6 para a versão 10. O processo ocorre em um passo a passo:
- Baixar nova versão laravel e mover para uma pasta separada no servidor
- Verificar diferenças entre os arquivos composer.json e package.json e instalar as dependências na versão mais nova. Rodar o comando composer install Algumas podem não ter mais suporte. Verifique se suas versões PHP e Node atendem à nova versão
- Copiar para a nova versão:
- routes: note que algumas configurações de middleware e route resource precisam ser atualizadas
- models: note que invés de App\User pode ser que tenha mudado para algo como App\Models\User. Faça as substituições em lote necessárias com cautela
- views: podemos mover a pasta inteira para a nova versão
- arquivos de linguagem: mova a pasta resources/lang para a nova versão
- controllers: As chamadas para models precisam ser atualizadas
- middlewares: Observe atualizações que precisam ser feitas no arquivo Kernel.php e os Middlewares
- custom classes: mover as demais classes personalizadas na pasta app
- autenticação: é comum a autenticação de scaffolding sofrer mudanças entre uma versão e outra. Os erros deixam claro o que precisa ser modificado.
- Verifique as configurações na pasta config para cada arquivo
- Verfique o arquivo .env para atualizar as conexões de banco de dados, email, etc
- Crie um atalho para pasta storage em public/storage
- Acesse no navegador a nova versão public/index.php
- Com certeza haverá erros. Verifique os erros no arquivo laravel.log e no error log do seu php
- Após resolver todos os erros, sua aplicação funcionará como na versão anterior. O processo leva tempo mas é necessário para disfrutar dos recursos mais modernos do Laravel.
REST/GraphQL
Em uma busca simples por posts, REST realiza a busca através da URL como /domínio/posts, e no método correspondente no controlador de posts, é executada a query predefinida para trazer os posts com seus respectivos autores e comentários.
Utilizando GraphQL é mais flexível do que ter uma query predefinida no controlador como no REST. Isso porque um único endpoint multiuso é publicado (ex: /domínio/graphql) e qualquer tipo de requisição é feito em JSON:
{ posts { id title author { name } comments { id reply } } }
Aplicações Laravel adotam REST por convenção. Como tendência, GraphQL já é amplamente utilizado em produção e reconhecido pela sua eficiência. Não faz sentido arquitetar REST e GraphQL para criar a mesma aplicação, a não ser que haja razões como código legado, a dependência de outras aplicações e etc.
Quer saber mais sobre como funciona? Fale com um desenvolvedor agora mesmo!