He trabajado mucho en el desarrollo de aplicaciones web usando PHP y ASP.NET, pero una de las preguntas que constantemente me hacen los clientes es si seguir adelante con un sitio web php o un sitio web asp.net.
Entonces, 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 su cara. Aparentemente, el hecho de que uno sea de código abierto y el otro no lo es realmente no los perturba. Y por una buena razón, porque cuando lo escuché por primera vez, realmente no me dice mucho.
Por trabajar con ambos, sé 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
- Caracteristicas
- Seguridad
- Extensibilidad
- Marcos
- Tiempo promedio de desarrollo
Estoy tratando de compilar una lista de hechos para poder comparar con el cliente y poder hacer una elección informada sobre la plataforma de desarrollo adecuada.
fuente
Respuestas:
Las características , la seguridad y la capacidad de ampliación serán más o menos lo mismo. Lo que se puede hacer con PHP se puede hacer con ASP.NET.
Marcos : una vez más, cuando se trata de características de marcos, será más o menos lo mismo. Sin embargo, al ser más específico que el lenguaje en sí, querrás considerar:
Tiempo de desarrollo promedio : su tiempo de desarrollo promedio para un proyecto muy pequeño podría ser mejor con PHP ya que los servidores web son muy fáciles de encontrar y las máquinas de desarrollo son muy fáciles de configurar. Sin embargo, con algo más grande, siempre que tenga buenos desarrolladores, o ya esté configurado para cualquiera de ellos, probablemente será un lavado.
La consideración principal que debe hacer es qué pila de tecnología quiere que su cliente esté vinculado a seguir adelante. Ninguno de los dos se mezcla bien (fácilmente) con el otro. Pueden tener 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 a soporte futuro, actualizaciones, etc. con MS.
Si les gusta la idea de los servidores de código abierto y Linux, opten por 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 resulte más cómodo . No hay mucho más que eso.
fuente
Solo para dar una idea de en qué estoy basando mis respuestas, he desarrollado 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 C # programación durante aproximadamente el mismo tiempo que la programación PHP.
Para mí, esto es más un argumento PHP vs C # que un 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 para OO. También soy una persona que prefiere un lenguaje tipado estáticamente (incluso pensando en C # 4.0, creo que puedes hacer variables tipadas dinámicamente). Lo único que PHP tenía sobre C # en cuanto a una función de lenguaje eran parámetros opcionales, pero esa es otra cosa que se ha agregado en C # 4.0 (no estoy seguro de qué tan bien funciona ya que aún no lo he probado).
Seguridad
Probablemente diría que es un lavado entre los dos. Creo que ambos tienen funcionalidades para ayudar con la seguridad, pero en última instancia es tarea del programador asegurarse de que su aplicación sea segura.
Frameworks
Well PHP parece tener muchos más frameworks convencionales (CakePHP, Codeigniter, Symfony, Zend Framework) y muchos otros frameworks más pequeños que ASP.NET. ASP.NET tiene 2 marcos principales de Microsoft, WebForms (una mierda) y ASP.NET MVC (la razón por la que comencé a entrar en el desarrollo de ASP.NET). Si bien PHP tiene más marcos, creo que el marco ASP.NET MVC 3 es mejor que cualquiera de los marcos PHP.
Tiempo de desarrollo promedio
Creo que para proyectos más pequeños el tiempo de desarrollo es mucho mejor en PHP, sin embargo, a medida que su proyecto crece en tamaño, C # escala mejor en este sentido.
Costo
Algo que debería mencionarse es el costo. PHP sin dudas gana en este frente. Si bien puede ejecutar ASP.NET en Mono en Linux, 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á haciendo un proyecto a gran escala, elegiría ASP.NET w / C # y ASP.NET MVC.
fuente
PHP vs ASP.NET es como comparar manzanas y naranjas, allí dirigidas a diferentes soluciones.
PHP es un marco más adecuado para soluciones de inicio a pequeña escala. PHP se ejecutará o Linux, ventanas sin demasiados requisitos. Microsoft ASP.NET es un marco de fuerza industrial, que tiene todo lo que puedas imaginar y más. ASP.NET es un entorno muy rico en funciones listo para usar. Muchos argumentarán que ASP.NET es costoso, lo que fue el caso hace unos años pero ya no. Primero, las herramientas son gratuitas (ediciones express), las opciones de la 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, entonces asp.net es una mejor opción. El nombre de una gran empresa que respalda un idioma hace que el cliente se sienta cómodo. En este caso, las mejores opciones son (Microsoft) ASP.NET y (Oracle) Java JSP.
EDITAR: Características ricas: ASP.NET proporciona dos alternativas para crear un sitio web WebForms y el enfoque MVC. Dado que es parte del marco .NET, tiene características muy potentes, por ejemplo, WF (flujo de trabajo), DLR (Dynamic Language Runtime), Parallel Linq, Linq, enrutamiento, varias formas de administración de estado de datos: elementos HTTPContext, ViewState, Runtime Cache, página caché de salida, tres tipos diferentes de implementación de sesión InProc, State y SQL Server. ASP.NET implementa varias formas de seguridad, por ejemplo, Proveedor de membresía y Proveedor de roles. No quiero incluir PHP, pero ASP.NET está en una liga diferente.
fuente
Después de haber trabajado mucho con ambos, ya sabe que las respuestas serán diferentes según el problema y el cliente. En un sentido muy genérico:
Si está compilando una lista de datos para sus clientes, basarla en lo que sabe. Su investigación, no importa cuán sesgada sea su conclusión, está bien para obtener sus puntos clave.
fuente
Los controles .net son mucho mejores que lo que puedes encontrar con una plataforma de PhP. Mire Infragistics, por ejemplo, ¿cuál es el equivalente para una LAMP?
fuente