Executando verificação de segurança...
3

[DÚVIDA] PHP vale a pena ?

Considere o seguinte cenário: você tem várias aplicações em produção utilizando PHP para exibir painéis indicadores de produção e resultados, você está pensando em trocar de linguagem devido a preocupações com desempenho e outras razões. Qual é a opinião de vocês sobre o PHP? E se você decidisse mudar de linguagem, para qual você consideraria migrar e por quê?

9

Sistemas lentos

Todos os sistemas "lentos" que já me deparei nesse vários anos de profissão, eram por conta da arquitetura da aplicação e não da linguagem.

Só de organizar a arquitetura com cache, mensageria, alguns serviços de suporte, eliminar processos desnecessários, otimizar fluxos de execuções, reduzir o tamanho dos payloads tanto na "ida" quanto na "volta"... tudo isso tem um impacto gigantesco na performance da aplicação.

Algumas vezes é necessário atuar na camada de dados, otimizando o banco de dados, ou se usa ORMs verificar se ele não carregando coisas demais quando não são necessárias ao negócio. Já vi casos que em um processo, o cliente precisava apenas do código e descrição do produto, mas como os programadores utilizavam apenas um repositório com ORM sem pensar nos processos como um todo, o que era retornado era o cadastro inteiro do produto (categorias, preços, urls de imagens...). Ou seja, usaram o repositório de CRUD que tratava o cadastro inteiro do produto, para todas as outras operações que envolviam produtos, esse é um dos maiores problemas de quem quer implementar repositórios mas se esquece dos contextos delimitados.

Enfim, tem muita coisa que dá para alterar e ter uma boa performance na aplicação sem alterar a linguagem de programação. Fazer essa troca é caro e demorado demais, sabe aquela grana que poderia ser o seu aumento de salário, essa grana vai ser usada para bancar a migração da linguagem de programação ou para contratar outra pessoa para ajudar, mas certamente não vai para o seu bolso.

É claro que as versões tanto da linguagem como das dependências devem sempre ser atualizadas, isso também pode ter um impacto de performance no final.

Veja que não falei especificamente de PHP, o que eu descrevi serve para qualquer linguagem.

Sobre PHP valer a pena

Depende do seu objetivo, assim como qualquer outra, para aplicações web vai atender muito bem. Se for para trabalhar com análise de dados, Python tem ferramentas mais especializadas. Se for para embarcados vai de C/C++ ou Rust.

PHP particularmente acho que é uma boa linguagem para se ter na sua caixa de ferramentas.

1

Concordo plenamente. Hoje na equipe em que atuo estamos nesse impasse, bato sempre na tecla de que o problema nao esta na linguagem e sim no projeto como um todo.Falta avaliação, boa estrutura, codigo limpo e etc... Muito obgg pelo seu feedback!!!

1
1

Pois é. Com os 'GPTs programmers" o tanto de maluquice que tenho visto nas consultorias que presto aumentou enormemente.

Boa estrutura, requisitos de sistema e regras de negócio delimitadinhas bate qualquer discussão sobre a ferramenta (linguagem é meramente ferramenta) x ou y.

7

Cara,

Ano passado tinhamos o mesmo problema. Uma aplicação feita em CodeIgniter em 2009. Somos 03 na equipe fora esse sistema temos as demandas do dia a dia.
E tivemos para pensar em 03 tecnologias

NodeJS:
-Precisa se preocupar com boilerplate para tudo. Não dava para conciliar.

Python/Django:
-Teríamos que aprender essa nova linguagem. Queríamos isso. Mas tivemos algumas limitações.

C#.Net:
-Até cogitamos. Pois temos algumas aplicações.

A verdade é que você precisa olhar para sua equipe e vê o que cada pessoa vai fazer. Na empresa tivemos que deixar 01 para a Infra e DevOPS. O outro cara pegou a parte Web. Na época era Júnior. E eu tive que assumir as reuniões e focar no Banco de dados. Tanto para modelar o sistema, como para instruir o Dev.Web

E nesse caso a conclusão foi:

PHP/Laravel:

  • Conseguimos deixar o COdeIgniter e Laravel no mesmo servidor
  • Curva de aprendizado acelerada e pudemos reutilizar a linguagem alternando entre as aplicações.
  • Possibilidade de utilizar o Livewire (Isso realmente vai salvar muito o seu tempo nas entregas).
  • O que ele aprendia no CodeIgniter poderia aplicar no Laravel.
  • Profissional Laravel não é barato. Depois de formado.
  • Tem uma estrutura robusta para os projetos.
  • Ecossistema rico.
  • Pacotes para tudo que pensar.

E o melhor tudo: PAZ.

Considero que fomos felizes na nossa escolha. O Laravel define tanta coisa e tira muitas escolhas dos seus ombros. Agora se for um projeto solo. Escolha o que quiser.

Conselho:

  • Pense nas habilidades do seu time e pegue a tecnologia que irá valorizar eles e você. Escolha de tecnologia não é algo individual.
  • Pense nas responsabilidades fora da tecnologias.
    • Entender as regras de negócio e colocar no sistema.
    • Reuniões com usuários e diretoria
    • Saber colocar prazo.
    • E se um dos caras da sua equipe sair?
1

Perfeitamente, aqui trabalhamos com o framework laravel para aplicaçoes voltada para usuarios e php para dashboards estáticos!! Acho muito útil e eficaz, porém tem que ser trabalhado da maneira correta, bem estruturado!!

Valeu pela sua opnião meu amigo!!

1

Boa reflexão sobre, realmente a empresa deve escolher a tecnologia que será utilizada visando um conceito macro, analisando diversos pontos, buscando o que realmente vai trazer mais lucro pra empresa, entrega e qualidade!

5

PHP é EXTREMAMENTE performático!

PHP-FPM com configuração mínima já é extremamente performático!

Temos duas aplicações em Node.js e um outra em C#, nos arrependemos de não termos feito em PHP com Laravel.

Para projetos Web (API) aqui na empresa é PHP SEM DÚVIDAS!

Tenho aplicações com mais de 60 mil usuários simultâneos e a infra PHP pra isso é muito barata.

Tenho uma aplicação Laravel que roda mais de 20 milhões de Jobs por dia... Se eu precisar eu posso escalar horizontalmente colocando mais servidores de Job.

Quem trabalha com PHP Moderno pra Web não precisa de outra coisa.

Detalhe, eu uso o PHP para API, todos os meus fronts são em VueJS com Quasar

4

O desempenho do Laravel é excelente, não troco por outra linguagem. O ecossistema Laravel em si é gigantesco, cheio de facilidades.

Pode vir JavaScript, Python, Java que não tem o que o Laravel tem, não faz o que ele faz.

Você monta um projeto com autenticação, toda a parte visual, rotas, migrations, persistência de dados com sqlite por padrão inicial, tudo isso em menos de 5 min com apenas 1 comando laravel new --breeze, e ainda é customizável.

2
2

Acredito que sim, o princípio é o mesmo, até características parecidas como: orm, roteamento, pacotes etc

Eu, que não sou um grande conhecedor de Python, acredito que estará bem servido com qualquer um dos dois. Tenho propriedade pra falar da ferramenta que trabalho (Laravel) e venho estudando PHP puro desde a versão 5.3, o up que a linguagem deu durante todos esses anos não a deixa a quem de nennhuma outra especializada em web.

Vejo que ambos possuem o conceito de facilitar a vida do dev e não precisar criar tudo do 0,
são como um lego que você vai montando módulos e juntando uns aos outros.

O artisan em si é um grande trunfo do Laravel, realmente é sem igual.

2

Bacana hein! Eu estava vendo aqui e tem o Vapor para fazer deploy em lambda functions! Massa hein! Tem isso no Django também, mas bacana que tenha tudo pronto no Laravel. É que eu sou oldschool: eu conheço o PHP só lá detrás...moodle, wordpress e etc. Então quando começou a ficar mais baratinho hospedar python fuji do PHP e acabei testando Django e Flask e aí nunca tentei mais nada no lugar.

MAS, fiquei convencido em tentar o Laravel. Tentarei fazer alguma coisa para ver como que fica. Valeu.

3

Rapaz, Laravel é maravilhoso, o ecossistema é excelente e gigantesco, tem pacote pra tudo, inclusive em ascensão o Filament (vale a pena conferir). Algumas pessoas ainda tem um ranço com PHP, mas é sim porque não conheceram da versão 8 pra frente. Depois que conheci o Laravel, nunca mais relei em PHP puro, parece que eu só conheci água e quando fui apresentado pro vinho... não tem mais volta.

A comunidade é gigantesca auxiliando na melhoria do framework (entra no github deles pra ver) e o criador tem até substitutos já organizados pra assumir caso aconteça algo com ele algum dia. Sem contar que é a melhor documentação que já li.

A questão de hospedagem.. eu tenho uma VPS Ubuntu da Contabo. Custa 5,50 dólares mensais e mais 7.50 de setup fee uma única vez quando contrata, mas todo mês tem alguma promoção que o setup fee não é cobrado ou oferece 600GB de armazenamento. Acredito que não chega a 30 reais mensais.

Eu instalo nessa VPS o AaPanel e faço meus deploys lá. Posso escolher todas as versões de PHP e NPM que quiser, crio servidor de e-mails, uso PostgreSQL, MYSQL, Apache2 ou Nginx,SSL... Faço de tudo, tem até docker pra quem é adepto. Vale a pena dar uma olhada no site do AaPanel.

Pra começar tá mais que excelente, funciona muito bem. Recomendo o Laravel demais, mas só pra quem quiser crescer, pros outros eu deixo sofrer em outras linguagens mesmo. Abraço

1

Exatamente, eu até hoje não tive nada do que reclamar sobre essa linguagem cara, e particularmente acho que a estrutura/arquitetura dele é a mais completa que já vi, só com a instalação já temos tudo que precisamos usar

4

Só vale trocar o PHP por linguagens extremamente performáticas, como Go ou Skala.

Java e C# só entra em cogitação se o seu projeto for GIGANTESCO com milhares de classes.

Nenhuma outra linguagem (Node, Python, ...) terá um ganho de desempenho sobre um PHP bem configurado.

Fora que se sair do PHP e ir para uma linguagem mais performático o custo do teu profissional vai aumentar em muito. Estuimo que 50% para java/c# e mais de 100% para GO.

Compensa trocar apenas porque os outros falam que uma boa linguagem é ruim?

2

Concordo com @Pilati. PHP-FPM com configuração mínima já é extremamente performático!

Tenho aplicações com mais de 60 mil usuários simultâneos e a infra PHP pra isso é muito barata.

Tenho uma aplicação Laravel que roda mais de 20 milhões de Jobs por dia... Se eu precisar eu posso escalar horizontalmente colocando mais servidores de Job.

Quem trabalha com PHP Moderno pra Web não precisa de outra coisa.

Detalhe, eu uso o PHP para API, todos os meus fronts são em VueJS com Quasar

1

É exatamente isso que está dificil de fazer eles entenderem aqui no escritório, tipo, não porque você não gosta da ferramenta que você vai deixar de usar ela, afinal ela tem funcionado e atendido as necessidades

Acho que insistir em realizar a devida manutenção e correção do projeto seria a melhor opçao

3

Sim.

Qual é a opinião de vocês sobre o PHP?

Linguagem rápida, completa e estável. Útil e indicada para inúmeros sistemas complexos baseados em web, dá pra construir muita coisa bacana.

E se você decidisse mudar de linguagem, para qual você consideraria migrar e por quê?

JS, mais especificamente NodeJS. Andei estudando um pouco sobre e me rendeu uns resultados bacanas, acho que conseguiria construir alguns sistemas que já fiz em PHP com o NodeJS também, então acho totalmente válido, além de ser bem veloz.

0
3

preocupações com desempenho do que exatamente? está fazendo as contas dentro do PHP? que versão de php está usando? e o resto da equipe, qur outras tecnologias dominam?

dá mais contexto fe onde vem esses indicadores e as "outras razões" se possível.

1

Preocupação da seguinte forma meu amigo: hoje eu mais 3 progrmadores somos os responsáveis pelas aplicaçoes da onde trabalhamos, ocasionalmente surgem criticas sobre demora da pagina carregar, cache, e etc.. meus 2 colegas insistem em dizer que o problema é a linguagem, que ela é limitada, ruim, muito porca e etc... já eu prefiro defender a ideia de que o problema é o projeto em si e nao só a linguagem. Estamos pensando em migrar para python e possivelmente algum frame no front tambem, o que acho que custaria muito tempo e esforço, pois td seria reconstruído do zero

1

nao tem como investir um tempo pra entender os problemas? a pagina demora pra carregar pq? a consulta no banco demora? a logica está zuada? coloca alguma plataforma de instrumentação pra entender melhor o que ta rolando

se a logica foi porca, vai ser porca em qq linguagem, php, python, nodejs...a linguagem, independente de qual for nao faz milagres

2
2

lendo os demais comentários eu pode perceber que seus colegas estão querendo migrar toda uma aplicação que já funciona para duas linguagens diferentes para dividir front e back.
na minha humilde opinião, vocês vão fazer merda.
mantenham-se no PHP, atualize para a mais nova versão, façam uma refatoração dos pontos mais críticos, utilizem cache sempre que possível, revisem a normalização do banco de dados e revisem a arquitetura.
tudo isso pode ser feito sem alterar a linguagem de programação e tenho certeza que trará resultados significativos no ganho de performance.

2

Concordo.
Tem exceções, mas em geral melhor entender bem de uma ferramenta e realmente dedicar tempo pra otimização da mesma.

2

Esse ponto sobre uma linguagem valer a pena ou não vai muito do objetivo que você deseja atingir. Cada linguagem de programação tem seu melhor recurso (MUITO provável que você já deve saber desse fato) para chegar no destino onde deseja, não entendo muito de PHP mas acredito que se não valesse a pena não estaria viva no mercado até hoje ao longo dos anos. Mas o que realmente deve ser levado em consideração é seu objetivo final.

OBS: Sobre paineis indicadores, gráficos primeira coisa que me veio em mente foi Power BI, uma tecnologia incrível pra analise de dados e construção de gráficos.

2

vale apena sim meu caro amigo. estude algum framework para frontend e rode o php no backend você vai ver que terá o mesmo resultado em desempenho na sua aplicação que muitas outras app que rodam no backend outras linguagens tais como python ou node.js. Se você ainda esta no inicio de uma olhada neste artigo aqui

1

Hospeda isso onde?
Qual a média de requisições?

Verifica onde o servidor ta com gargalo pra estar ocorrendo essa lentidão (pega algumas métricas de monitoramento, tem diversos meios pra isso).

Obviamente quanto mais performático tiver a aplicação, menos recursos serão utilizados.

1

Se fosse um lançamento de produto novo, não recomendaria PHP, mas já que é pra manter um produto existente, não vejo sentido em trocar se a única (ou maior) razão é "desempenho".

Não recomendo trocar de linguagem só por ser mais rápido. Principalmente se você já tem uma aplicação funcionando.

Como foi dito pelo @user1, se o problema é desempenho, existem milhares de outras coisas a se fazer primeiro, em relação a design de sistemas/arquitetura, pra deixar o sistema mais performático. Inclusive, esses problemas continuarão existindo mesmo se mudarem de linguagem.

1