¿Cuándo usar PHP o ASP.NET? [cerrado]

46

He trabajado mucho en el desarrollo de aplicaciones web utilizando PHP y ASP.NET, pero una de las preguntas que constantemente me hacen los clientes es si seguir adelante con un sitio web de php o un sitio web de asp.net.

Naturalmente, lo primero que viene a la mente es responder la pregunta de esta manera:

  

PHP es de código abierto y ASP.NET es de Microsoft.

Por lo general, después de decir algo así, el cliente tiene una mirada en blanco en la cara. Al parecer, el hecho de que uno sea de código abierto y el otro no es realmente asombroso. Y por una buena razón, porque cuando lo escuché por primera vez, realmente no me dice mucho.

Sé por trabajar con ambos que cada uno tiene sus diferencias cuando se trata de desarrollar sitios web.

Mi pregunta es ¿cuáles son las diferencias entre ASP.NET y PHP en cuanto a

  1. características
  2. Seguridad
  3. capacidad de extensión
  4. Marcos
  5. Tiempo promedio de desarrollo

Estoy tratando de compilar una lista de hechos para poder compararlos con el cliente, de modo que se pueda tomar una decisión informada sobre la plataforma de desarrollo adecuada.

    
pregunta Edward 05.04.2011 - 21:51

5 respuestas

39

Características , Seguridad y Capacidad de extensión serán más o menos iguales. Lo que se puede hacer con PHP se puede hacer con ASP.NET.

Frameworks : una vez más, cuando se trata de features de frameworks, será más o menos lo mismo. Sin embargo, al ser más específico que el idioma en sí, deberás considerar:

  • Con qué se sienten más cómodos tus desarrolladores. Conocimiento = eficiencia .
  • Sobre la base de proyecto por proyecto, un marco en un idioma puede ser un ajuste natural mejor que un marco en otro. Ser más específico que el lenguaje en sí mismo significa que un marco no puede ayudar, sino que se adapta bien a algunas tareas y se adapta menos a otras.

Tiempo promedio de desarrollo : su tiempo promedio de desarrollo para un proyecto muy pequeño podría ser mejor con PHP, ya que los hosts web son tan fáciles de encontrar y las máquinas dev son tan fáciles de configurar arriba. Sin embargo, con algo más grande, siempre y cuando tengas buenos desarrolladores, o ya estés preparado para cualquiera de los dos, probablemente será un lavado.

La principal consideración que debe hacer es qué pila de tecnología quiere que su cliente esté atado para seguir adelante. Ninguno se combina bien (fácilmente) con el otro. Es posible que tengan desarrolladores que estén familiarizados con uno u otro.

  • Si a su cliente le gusta la idea de estar conectado a Microsoft, vaya con ASP.NET. Algunos clientes se sentirán más cómodos con respecto al soporte futuro, las actualizaciones, etc. con MS.

  • Si les gusta la idea de los servidores de código abierto y Linux, vaya con PHP . Esto puede interesar a algunos clientes debido a la capacidad de transferencia de servidores web, software libre, etc.

Y, por último, si no les importa, entonces ve con lo que te sientas más cómodo . No hay mucho más allá de eso.

    
respondido por el Nicole 05.04.2011 - 22:08
29

Solo para proporcionar un fondo en lo que estoy basando mis respuestas, he desarrollado el desarrollo de PHP profesionalmente durante más de 6 años, he estado jugando con ASP.NET MVC durante los últimos 3-4 meses, y he estado haciendo programación en C # durante aproximadamente el tiempo que la programación en PHP.

Para mí, esto es más un argumento de PHP vs C # que de PHP vs ASP.NET.

Característica / capacidad de ampliación
Creo que ASP.NET gana aquí y esto es más debido a la capacidad de usar un lenguaje como C #. C # es un lenguaje mucho mejor que PHP con soporte OO. También soy una persona que prefiere un lenguaje tipificado estáticamente (incluso con C # 4.0, creo que se pueden hacer variables tipificadas dinámicamente). Lo único que PHP tenía sobre C # en cuanto a una función de idioma eran los parámetros opcionales, pero esa es otra cosa que se ha agregado en C # 4.0 (no estoy seguro de cómo funciona, ya que aún no lo he probado).

Seguridad
Probablemente diría que es un lavado entre los dos. Creo que ambos tienen la funcionalidad para ayudar con la seguridad, pero en última instancia, el programador debe asegurarse de que su aplicación sea segura.

Frameworks
Bueno, PHP parece tener muchos más marcos generales (CakePHP, Codeigniter, Symfony, Zend Framework) y muchos otros marcos más pequeños que ASP.NET. ASP.NET tiene 2 marcos principales de Microsoft, WebForms (un pedazo de mierda) y ASP.NET MVC (la razón por la que comencé a involucrarme en el desarrollo de ASP.NET). Aunque PHP tiene más marcos, creo que ASP.NET MVC 3 es mejor que cualquiera de los marcos PHP.

Tiempo promedio de desarrollo
Creo que para proyectos más pequeños, el tiempo de desarrollo es mucho mejor en PHP, sin embargo, a medida que su proyecto aumenta de tamaño, C # se escala mejor en este aspecto.

Coste
Algunos de los que deberían mencionarse son los costos. PHP sin duda gana en este frente. Si bien puede ejecutar ASP.NET en Mono en Linux, sí tiene sus propios problemas.

Si está haciendo un proyecto de tamaño pequeño a mediano y / o el costo es un factor, PHP gana. Si está realizando un proyecto a gran escala, elegiría ASP.NET w / C # & ASP.NET MVC.

    
respondido por el ryanzec 06.04.2011 - 21:07
8

PHP vs ASP.NET es como comparar manzanas y naranjas, allí se dirigen a diferentes soluciones.

PHP es un marco más adecuado para soluciones de inicio a pequeña escala. PHP se ejecutará o Linux, Windows sin demasiados requisitos. Microsoft ASP.NET es un marco de fuerza industrial, que tiene todo lo que pueda imaginar y más. ASP.NET es un entorno muy rico en características y listo para usar. Muchos argumentarán que ASP.NET es costoso, como sucedió hace algunos años, pero ya no. Primero, las herramientas son gratuitas (ediciones Express), las opciones de base de datos son gratuitas (SQL Compact o SQL Server 2005 o superior Express). Comprar Hosting ahora es muy barato, por lo que la pregunta no es cuál es mejor sino qué se adapta a su solución. Personalmente prefiero ASP.NET, pero eso es porque trabajo en un entorno corporativo donde la flexibilidad y la escalabilidad son muy importantes, por lo que las soluciones dictan el marco.

Una cosa muy importante es en qué idioma eres mejor? Este debería ser el factor final en la decisión.

Si su objetivo es convencer a un cliente, asp.net es una mejor opción. El nombre de una gran empresa que respalda a un idioma hace que un cliente se sienta cómodo. En este caso, las mejores opciones son (Microsoft) ASP.NET y (Oracle) Java JSP.

EDITAR: Rico en funciones: ASP.NET ofrece dos alternativas para crear un sitio web con formularios web y el enfoque de MVC. Ya que es parte del marco .NET, tiene características muy potentes, por ejemplo. WF (flujo de trabajo), DLR (Dynamic Language Runtime), Linq paralelo, Linq, enrutamiento, varias formas de administración del estado de los datos: elementos HTTPContext, ViewState, caché de tiempo de ejecución, caché de salida de página, tres tipos diferentes de implementación de sesión InProc, estado y SQL Server. ASP.NET implementa varias formas de seguridad, por ej. Proveedor de membresía y proveedor de rol. No quiero empaquetar PHP, pero ASP.NET está en una liga diferente.

    
respondido por el Nickz 06.04.2011 - 01:31
6

Habiendo trabajado mucho con ambos, ya sabes que las respuestas serán diferentes según el problema y el cliente. En un sentido muy genérico:

  • PHP es ideal para proyectos que necesitan trabajar con un presupuesto. Por ejemplo, no se verá afectado por las grandes tarifas de licencias de base de datos.
  • ASP.NET es ideal para proyectos que necesitan el tipo de soporte y cultura de desarrollador que proporciona Microsoft.

Si está compilando una lista de hechos para sus clientes, base en lo que sabe. Su investigación, sin importar cuán sesgados sean sus hallazgos, está bien para obtener sus viñetas.

    
respondido por el Fred Wilson 05.04.2011 - 22:15
1
Los controles de

.net son mucho mejores que lo que puedes encontrar con una plataforma de PhP. Mira a Infragistics, por ejemplo, ¿cuál es el equivalente para un LAMP?

    
respondido por el Totor 07.04.2012 - 07:20

Lea otras preguntas en las etiquetas