Quando usar o PHP ou o ASP.NET? [fechadas]

46

Tenho trabalhado bastante no desenvolvimento de aplicações web usando PHP e ASP.NET, mas uma das perguntas que os clientes me fazem constantemente é se devo seguir em frente com um site php ou um site asp.net.

Então, naturalmente, a primeira coisa que vem à mente é responder a pergunta assim:

PHP is open-source and ASP.NET is from Microsoft.

Normalmente, depois de algo assim, é dito que o cliente tem um olhar vazio no rosto. Aparentemente, o fato de um ser de código aberto e o outro não, não os perturba. E por um bom motivo, porque quando eu ouvi pela primeira vez, isso realmente não me diz muito.

Eu sei de trabalhar com ambos que cada um tem suas diferenças quando se trata de desenvolver sites.

Minha pergunta é quais são as diferenças entre o ASP.NET e o PHP na medida em que

  1. Recursos
  2. Segurança
  3. Extensibilidade
  4. Frameworks
  5. Tempo médio de desenvolvimento

Estou tentando compilar uma lista de fatos para poder comparar com o cliente, de modo que uma escolha informada na plataforma de desenvolvimento apropriada possa ser feita.

    
por Edward 05.04.2011 / 21:51
fonte

5 respostas

39

Recursos , Segurança e Extendability serão mais ou menos os mesmos. O que pode ser feito com o PHP pode ser feito com o ASP.NET.

Frameworks - Mais uma vez, quando se trata de recursos de frameworks, ele será mais ou menos o mesmo. No entanto, sendo mais específico do que a própria linguagem, convém considerar:

  • Com o que seus desenvolvedores se sentem mais à vontade. Conhecimento = eficiência .
  • Em uma base projeto por projeto, uma estrutura em um idioma pode ser um ajuste natural melhor do que um framework em outro. Ser mais específico do que a própria linguagem significa que uma estrutura não pode deixar de ser adequada a algumas tarefas e menos adequada para outras.

Tempo médio de desenvolvimento - Seu tempo médio de desenvolvimento para um projeto muito pequeno pode ser melhor com o PHP, pois os hosts da Web são fáceis de encontrar e as máquinas dev são fáceis de configurar acima. No entanto, com algo maior, contanto que você tenha bons desenvolvedores, ou já esteja configurado para qualquer um deles, provavelmente será uma lavagem.

A principal consideração que você deve fazer é qual tecnologia de pilha seu cliente quer estar vinculado a seguir em frente. Nem mistura bem (facilmente) com o outro. Eles podem ter desenvolvedores familiarizados com um ou outro.

  • Se o seu cliente gostar da ideia de estar conectado à Microsoft, então vá com ASP.NET. Alguns clientes terão mais conforto em relação a suporte, atualizações, etc. futuros com MS.

  • Se eles gostarem da ideia de servidores open source e Linux, escolha PHP . Isso pode interessar alguns clientes devido à possibilidade de transferência de hosts da web, software livre, etc.

E, por último, se eles não se importam, siga com o que você está mais confortável com . Não há muito além disso.

    
por 05.04.2011 / 22:08
fonte
29

Só para dar uma ideia do que estou baseando minhas respostas, desenvolvi o PHP profissionalmente há 6 ou mais anos, ando brincando com a ASP.NET MVC nos últimos 3-4 meses, e tenho Fazendo programação em C # desde a programação PHP.

Para mim, isso é mais um argumento PHP vs C # do que um PHP vs ASP.NET.

Recurso / Extensibilidade
Eu acho que o asp.net ganha aqui e isso é mais por causa da capacidade de usar uma linguagem como c #. C # é uma linguagem muito melhor do que PHP, com o suporte a OO. Eu também sou uma pessoa que prefere uma linguagem estaticamente tipada (mesmo pensei com C # 4.0, eu acredito que você pode fazer variáveis digitadas dinamicamente). A única coisa que o PHP tinha sobre o C # em relação a um recurso de linguagem eram os parâmetros opcionais, mas isso é outra coisa que foi incluída no C # 4.0 (não tenho certeza de como funciona, pois ainda não tentei).

Segurança
Eu provavelmente diria que é uma lavagem entre os dois. Acho que os dois têm funcionalidades para ajudar na segurança, mas, em última análise, o trabalho do programador é garantir que o aplicativo seja seguro.

Frameworks
Bem, o PHP parece ter muito mais frameworks mainstream (CakePHP, Codeigniter, Symfony, Zend Framework) e muitos outros frameworks menores que o ASP.NET. O ASP.NET tem dois frameworks principais da Microsoft, WebForms (uma porcaria total) e ASP.NET MVC (a razão pela qual comecei a entrar no desenvolvimento do ASP.NET). Enquanto o PHP tem mais frameworks, acho que o framework ASP.NET MVC 3 é melhor que qualquer framework PHP.

Tempo médio de desenvolvimento
Eu acho que para projetos menores, o tempo de desenvolvimento é muito melhor em PHP, no entanto, à medida que seu projeto cresce em tamanho, C # escala melhor nesse aspecto.

Custo
Alguns que deveriam ser criados são custos. PHP mãos para baixo ganha nesta frente. Embora você possa executar o ASP.NET no Mono no Linux, ele vem com seus próprios problemas.

Se você está fazendo um projeto de pequeno a médio porte e / ou o custo é um fator, o PHP vence. Se você está fazendo um projeto de grande escala, eu escolheria ASP.NET w / C # & ASP.NET MVC.

    
por 06.04.2011 / 21:07
fonte
8

PHP vs ASP.NET é como comparar maçãs e laranjas, direcionadas para diferentes soluções.

O PHP é um framework mais adequado para soluções start-up de pequena escala. PHP será executado ou Linux, windows sem muitos requisitos. O Microsoft ASP.NET é um framework de força industrial, que tem tudo o que você poderia imaginar e muito mais. O ASP.NET é um ambiente rico em recursos e pronto para uso. Muitos vão argumentar que o ASP.NET é caro, como era há alguns anos, mas não mais. Primeiro as ferramentas são gratuitas (edições expressas), as opções de banco de dados são gratuitas (SQL Compact ou SQL Server 2005 ou superior Express). Compra de hospedagem é agora muito barato, então a questão não é qual é melhor, mas o que se adapte à sua solução. Pessoalmente, eu prefiro o ASP.NET, mas isso é porque eu trabalho em um ambiente corporativo onde a flexibilidade e a escalabilidade são muito importantes, portanto, as soluções ditam o framework.

Uma coisa muito importante é em qual idioma você é melhor? Este deve ser o fator final na decisão.

Se seu objetivo for convencer um cliente, o asp.net será uma opção melhor. O nome de uma grande empresa está apoiando uma linguagem para que um cliente se sinta confortável. Nesse caso, as melhores opções são (Microsoft) ASP.NET e (Oracle) Java JSP.

EDITAR: Recurso rico - O ASP.NET oferece duas alternativas para criar um WebForms de site e a abordagem MVC. Desde o seu aparte do .NET framework você tem recursos muito poderosos, por exemplo. WF (fluxo de trabalho), DLR (Dynamic Language Runtime), Paralelo Linq, Linq, roteamento, várias formas de gerenciamento de estado de dados: itens HTTPContext, ViewState, Runtime Cache, cache de saída de página, três tipos diferentes de implementação de sessão InProc, State e SQL Server. O ASP.NET implementa várias formas de segurança, por ex. Provedor de Associação e Provedor de Função. Eu não quero carregar o PHP, mas o ASP.NET está em uma liga diferente.

    
por 06.04.2011 / 01:31
fonte
6

Tendo trabalhado bastante com ambos, você já sabe que as respostas serão diferentes dependendo do problema e do cliente. Em um sentido muito genérico:

  • O PHP é ótimo para projetos que precisam trabalhar com orçamento. Por exemplo, você não será atingido por grandes taxas de licenciamento de banco de dados.
  • O ASP.NET é ótimo para projetos que precisam do tipo de suporte e cultura de desenvolvedor que a Microsoft oferece.

Se você estiver compilando uma lista de fatos para seus clientes, baseie-se naquilo que você sabe. Sua pesquisa, por mais tendenciosa que seja sua opinião, é boa para obter seus pontos.

    
por 05.04.2011 / 22:15
fonte
1

.net controles são muito mais agradáveis que o que você pode encontrar com uma plataforma PhP. Olhe para Infragistics por exemplo, qual é o equivalente para um LAMP?

    
por 07.04.2012 / 07:20
fonte