Comparação: uma resposta à altura
Recentemente realizei uma postagem Me faça mudar de ideia sobre o PHP ... buscando motivações externas para aprender o PHP, visto que eu teria que me adaptar ao cenário de meu trabalho atual que não é uma fábrica de softwares mas tem um software on-premise criado(em PHP) pelo dono da empresa.
~ me questiono fortemente do porque não uma aplicação desktop com java ou C# por exemplo
Nesta postagem fui bombardeado com muitos comentários de pessoas que talvez pela minha falta de assertividade ou pelo título provocativo, não entenderam o real intuito do post. Gostaria de deixar claro que não tenho absolutamente NADA contra a linguagem PHP.
Apesar dos apesares encarei a necessidade e fui rever o PHP e de cara me deparei com o framework Laravel que é bastante interessante.
~ digo rever porque esta foi minha linguagem materna, tive um contato muito breve com o mesmo no início dos meus estudos no curso técnico que era integrado ao ensino médio, onde não tinha tanto interesse em programação.
Gostaria de comparar a criação de login entre o PHP Puro X PHP c/ Framework Laravel + Breeze
Para criação do login com php puro fica sobre sua responsabilidade:
- Manipular a sessão
- Escrever as queries para criação/adição/remoção/alteração do banco
- Criar todos os middlewares referente a autenticação e limpeza das queries
- Criar as rotas da aplicação
Esse cara fez um vídeo muito bom no youtube mostrando um login com php puro básico
login com framework Laravel Breeze:
- Com alguns comandos você sobe uma aplicação com login/cadastro/perfil simples, com todas verificações necessárias e com os middlewares definidos para aplicar em suas rotas.
A opção que utilizei foi a de integração com o Inertia que na documentação diz:
"Thankfully, Laravel offers the best of both worlds. [...] With this approach, you can enjoy the full power of both Laravel and Vue / React [...].
After installing Inertia into your Laravel application, you will write routes and controllers like normal. However, instead of returning a Blade template from your controller, you will return an Inertia page"
Ou seja provê uma abordagem onde você pode utilizar sua aplicação Laravel com o React ou outro framework de desenvolvimento frontend(JS).
~traz o node pro backend buildando os componentes de forma estática até que seja implementado um frontend com React ou Vue, e aqui vem novamente o questionamento, porque não somente utilizar o JS ??
Conclusão:
O PHP é uma linguagem excepcional PARA O BACKEND, possuí o framework Laravel que auxilia no desenvolvimento de aplicações na arquitetura MVC provendo um ORM(Eloquent), mas deixa a desejar no frontend com as suas blades quando o intuito é desenvolver aplicações dinâmicas.
Eu, um mero iniciante no desenvolvimento web, vejo que há vantagens em se utilizar uma linguagem exclusiva para o backend da aplicação como por exemplo métodos bem definidos que agilizam o desenvolvimento, mas que logo são ofuscadas com a necessidade de integração de outras ferramentas e na maioria das situações outras linguagens(JS por exemplo).