Eu sempre ouvi dizer que o PHP é para sites de médio e pequeno porte, enquanto o .NET e Java para aplicativos corporativos. Minha pergunta é sobre PHP. Por que o PHP não é uma boa opção para aplicativos da Web corporativos? É porque se o aplicativo da Web se tornar maior, o PHP será mais lento, pois é uma linguagem interpretada?
Sei que o mundo corporativo escolherá o .NET ou J2EE por causa da integração com seus produtos e por serviços de back-end, etc. sites grandes?
Em resumo, existe uma relação entre o desempenho do PHP e o tamanho do site? Quais são os fatores que tornam o PHP uma opção inadequada para sites grandes?
Respostas:
O desempenho provavelmente não é um dos fatores. Para uma linguagem dinâmica, o PHP realmente funciona muito bem; dependendo da tarefa, pode ou não superar outras tecnologias. O modelo de aplicativo simplesmente é muito diferente para compará-lo diretamente com Java ou ASP.NET. Mesmo que haja uma diferença de velocidade mensurável, ela não é grande e provavelmente é linear, o que significa que pode ser resolvida jogando mais hardware nela. Além disso, a própria linguagem de programação raramente é o gargalo - algoritmos, acesso ao banco de dados, largura de banda da rede e E / S em geral são os culpados comuns, a menos que você esteja escrevendo algo realmente intensivo em CPU.
Os motivos para usar o ASP.NET ou Java sobre PHP com maior probabilidade incluem:
Outra razão para o efeito percebido é que o PHP é gratuito (como na cerveja) e onipresente - toda empresa barata de hospedagem compartilhada tem PHP em seu pacote padrão, mas um servidor .NET ou Java vai custar muito mais. Consequentemente, uma enorme massa de sites pequenos usa PHP, não porque é a melhor ferramenta para o trabalho, mas a única disponível.
Isso não quer dizer que o PHP não seja adequado para grandes projetos - simplesmente não combina bem com o tipo de programação 'empreendedor'. Seus pontos fortes estão em outros lugares e, se você puder aproveitá-los, poderá criar aplicativos de larga escala com a mesma facilidade que poderia com qualquer outra tecnologia da web.
fonte
Você está confundindo tráfego ("site pequeno e médio" geralmente significa um site com tráfego pequeno a médio), com o grau de complicação da lógica de negócios (site simples versus solução corporativa). No segundo caso, o desempenho não é o fator chave.
Por exemplo, o Facebook é um site de alto tráfego, mas não é um aplicativo corporativo. Por outro lado, existem inúmeras intranets baseadas em servidores de aplicativos Java, que não seriam capazes de lidar com o tráfego de sites de médio porte.
O PHP em termos de desempenho não é a melhor opção, mas também não é tão ruim assim. Especialmente comparando com outras linguagens dinâmicas. No entanto, novamente, o desempenho bruto não é o fator mais importante. Criar sites de alto tráfego é mais para otimizar a escalabilidade no nível arquitetural.
Por que o PHP é tão desprezado pela empresa? Existem poucas causas, primeiro seria a terrível reputação de segurança . Segundo, é percebido como uma linguagem para amadores que criam códigos espaguetes HTML-PHP feios e incontroláveis. Essa percepção persiste, apesar de existirem estruturas maduras de MVC. Eu acho que ter o autor original do PHP argumentar que você não precisa de uma estrutura não ajuda. O fato de esses amadores sem noção, com pouca ou nenhuma habilidade de programação, se chamarem "programadores PHP" também não ajuda. A terceira razão é que qualquer programador experiente concorda, que o PHP é mal projetado como uma linguagem. Você pode ver claramente que ele foi projetado por um webmaster,
E sim, na empresa, tudo se resume à integração do sistema, onde o PHP também não brilha. Com esforço suficiente, você pode criar módulos C. Há uma ponte PHP-Java, que é bastante entediante de usar. Além disso, você não tem muito. Tentativas de criar o Boost :: PHP (integração com C ++) falharam. Os clones do PHP em execução na JVM estão longe de ter quase 100% de compatibilidade com o PHP (como observação lateral, não há definição formal da linguagem PHP, a única referência é a implementação padrão).
fonte
Não faço ideia por que as pessoas afirmam que o PHP é para sites pequenos e médios. Que eu saiba, isso não é verdade. Conheço alguns sites com suporte ao PHP que começaram pequenos e depois se tornaram os 100 melhores sites do meu país. Eles ainda usam PHP e não têm planos de mudar nada sobre isso.
A coisa que pode levar as pessoas a essa conclusão é que, no caso de Java (e eu acho que também com .NET), escalonamento de aplicativo é um termo frequentemente mencionado na documentação e na literatura. A maioria dos servidores de aplicativos por aí suporta alguma forma de cluster, que permite a rápida adição de "potência" juntamente com o crescimento da popularidade. No caso do PHP, você deve criar um cluster por conta própria. Você pode fazer isso de várias maneiras, usando componentes diferentes e precisa conhecer um pouco ou dois sobre o funcionamento interno do PHP. Isso provavelmente faz as pessoas pensarem que, com o servidor único PHP (e, portanto, com sites pequenos ou médios), é um beco sem saída para o PHP.
fonte
Não existe apenas um aplicativo Web corporativo. No mundo corporativo, você normalmente tem um sistema corporativo completo, onde a Web Part é bem pequena em comparação com todo o sistema. Existem muitos sistemas na Web que executam processamento em lote, mensagens em fila, integração corporativa, gateways e muito mais. Evento no topo pode não haver apenas
Enquanto o PHP é bom para a web, não é tão bom para os outros tipos de sistemas distribuídos. E como você faz todos esses sistemas em Java ou .NET, é fácil também criar a pilha da Web na mesma plataforma, e não em PHP.
fonte
Eu diria que os problemas com o PHP derivam menos do desempenho do que um histórico de vulnerabilidades de segurança. Embora seja indubitavelmente possível escrever um site de qualquer tamanho ou complexidade em PHP e ainda manter a segurança, à medida que a complexidade aumenta, a manutenção da segurança tende a se tornar mais difícil.
O Java, por outro lado, foi projetado com pelo menos algumas idéias sobre segurança desde o primeiro dia. Embora aqueles não se encaixem totalmente na maioria das implementações atuais (o pensamento original era principalmente sobre applets, não servelets), essa ênfase significa que seus recursos tendem a se encaixar melhor na produção de código seguro. E, é claro, também não ficou parado - como os applets são atualmente um problema morto, o Java foi redefinido para enfatizar a função do servidor que agora ocupa (principalmente).
Como o .NET pelo menos tenta competir quase diretamente com o Java, ele fornece praticamente o mesmo tipo de recursos nesse sentido. Você pode argumentar (e os adeptos de ambos os campos) sobre se a Sun ou a Microsoft fazem um trabalho melhor nesse sentido, mas o simples fato de ambos terem equipes de pessoas realmente tentando trabalhar com isso oferece uma vantagem bastante séria sobre o PHP neste respeito.
fonte
1) Desempenho: várias respostas aqui estão sendo enganadas nesse ponto.
O projeto Phalanger (que usei com sucesso no passado) permite que você use o código C # no PHP e vice-versa, ou alterne completamente de um idioma para o outro. Você provavelmente terá que fazer algumas alterações, mas, à medida que elas continuam trabalhando, fica cada vez melhor.
Meu argumento é que eles descobriram que existe um fator médio de 2,5 velocidades a favor do C # (ou .NET em geral, o VB faria o mesmo, é MSIL no final).
Confira os testes com o Wordpress, que atraiu muitos desenvolvedores.
Agora ainda não o vimos, mas sempre há o cara que lhe dirá que o FaceBook está escrito em PHP. Errado. Foi até que eles perceberam seu erro e escreveram o HipHop para transformá-lo em C ++.
EDIT: Aparentemente, esse último bloco é claro, por isso que eu quis dizer é FaceBook É escrito em PHP, mas HipHop torna RUN como C ++, para melhorar a velocidade geral, PORQUE PHP é lento.
2) Segurança: Como já foi afirmado, o PHP tem um longo histórico de problemas de segurança.
3) Tempo do desenvolvedor: criar um site em PHP tende a ser mais fácil, especialmente com as estruturas e todos os "construtores de sites" disponíveis. Criar um site PHP bom, confiável e seguro é outra história.
fonte