Pownce: No public Pownce messages.

Agrega tu enlace

¿PHP o ASP.NET? Publicada el Domingo 5 de Noviembre de 2006 a las 12:48 am por hecgo

Hace algún tiempo inicié con una serie de posts sobre .NET y por razones de tiempo no pude continuar con la regularidad que me hubiera gustado, pero bueno, aquí estoy de nuevo retomando los temas pendientes.

¿Peras o manzanas?, así de absurdo es intentar comparar estas 2 tecnologías. Es como querer comparar un camión con una carretera. Igualmente puede resultar decir cosas como “PHP es mejor que ASP.NET” (o viceversa), en todo caso el punto de comparación adecuado sería PHP con ASP “clásico” (la versión anterior), tecnología obsoleta desde el año 2000 aprox. Personalmente conozco las 2 tecnologías y he trabajado varios años con cada una de ellas. Pero bueno, entonces, ¿Cuál es la diferencia?…

PHP es un lenguaje de scripts, es decir que cada vez que se solicita una página PHP, se necesita interpretar el código para después ejecutarlo. Sin embargo, esto también tiene sus ventajas como por ejemplo, para hacer un cambio en un script PHP, solo se necesita guardar el archivo y listo. En general no es necesario compilar, registrar DLL’s o componentes en el sistema operativo del servidor.

En el caso de ASP.NET recordemos que es parte de toda una plataforma de desarrollo, la plataforma .NET. Como decía en el post anterior, el .NET no sólo sirve para crear páginas Web. Es por esto que ASP.NET se convierte en una opción mucho más poderosa en cuanto a la versatilidad. Al ser ASP.NET un componente de interface de todo el .NET Framework, ASP.NET puede servir para crear una interface Web rápida y fácilmente de por ejemplo, una aplicación Win32 (o de escritorio) reutilizando casi todo el código, o construir rápidamente una capa de Servicios (Web Services) que pueda ser aprovechada por aplicaciones móviles, Web y de escritorio simultáneamente. Esto tiene un valor muy grande sobre todo para empresas, donde el beneficio es construir rápidamente (y por lo tanto más barato) aplicaciones que puedan interactuar con otras ya existentes en la organización, o inclusive hacerlo con productos ya existentes.

Sin embargo, la implementación de una aplicación ASP.NET puede no ser tan simple como copiar y pegar los archivos. Y esto es porque ASP.NET solo se interpreta una vez, se pre-compila y cada vez que se ejecuta una página, el código se ejecuta directamente, sin pasar por la interpretación. Esta forma de interpretar el código solo una vez y después ejecutar directamente el código “compilado” es muy similar a la forma en que funcionan las páginas Web de JAVA (Una comparación de iguales sería más bien ASP.NET y JSP). En el caso de PHP, hay un producto desarrollado por Zend, que permite hacer un proceso similar de “pre-compilación”, para no tener que interpretar en cada solicitud el código con productos como el Zend Optimizer.

ASP.NET fue creado para poder desarrollar aplicaciones empresariales, que sean rápidas de desarrollar, que permitan ser escalables (en general agregar más servidores fácilmente), que puedan ejecutar procesos críticos o de alto impacto en la operación de la empresa, etc. Por todo lo anterior, el argumento de que “PHP es gratuito” no es necesariamente válido para una organización, donde el valor que tiene su información los hace no escatimar en la inversión para implementar sus sistemas. Es de sobra sabido que simplemente con los costos de licenciamiento de Windows, SQL Server (y toda la gama de productos extra que se pueden agregar), el costo de crear una aplicación puede crecer bastante, sin embargo el tiempo de desarrollo puede ser dramáticamente menor, lo que para la mayoría de las empresas resulta más redituable al poder tener en mucho menos tiempo una aplicación que empiece a recuperar la inversión rápidamente.

PHP es open source, y fue creado como hobbie. Está pensado específicamente para el Web y también tiene como objetivo ser extremadamente fácil de aprender. Sin embargo, por su naturaleza open source, ha tenido que pasar por un largo proceso de entrar al mundo empresarial y a ganarse el respeto como para que se decida crear una aplicación crítica en PHP. Hoy en día ha empezado a ganar mucho terreno en este campo, gracias a que algunas empresas han decidido utilizar el open source para su infraestructura y PHP es la elección natural en ese proceso. También gracias a los esfuerzos de Zend (empresa fundada por los inventores de PHP) de hacerlo atractivo para las empresas con iniciativas como el reciente Zend Framework o la Zend Platform que tratan de atender requisitos empresariales puntuales.

Otro hecho que debe ser interpretado con cuidado, es la penetración en el Web de cada tecnología. Estadísticamente, PHP es amo y señor del Web, ya que posee la mayor cantidad de sitios, sin embargo, la gran mayoría de esos sitios son páginas personales, blogs (basados en scripts como WordPress), foros (basados en scripts como phpBB), etc. que en su mayoría no son sitios con fines de poner en línea procesos críticos de negocio empresariales, por lo tanto es una cifra que no necesariamente significa que al ser la tecnología más utilizada sea “mejor”.

Así que, cuando oigas esta pregunta podrás responder con algo así como “Depende lo que quieras hacer, que plataforma tienes disponible, que presupuesto, que tan crítico es el proceso que quieres automatizar, es necesario interactuar con otras aplicaciones?, cuáles son tus necesidades de performance, etc”. Finalmente en este mundo del desarrollo de sistemas es mejor ser versátil que estar “casado” con uno u otro lado de la moneda
:salud:

Otras entradas relacionadas


1 Trackbacks a este post

  1. aldead.com
    Noviembre 5, 2006 a las 04:32 am

2 comentarios

  1. Leandro Ardissone
    Noviembre 5, 2006 a las 1:00 pm

    Bueno, estoy de acuerdo con algunas cosas. Respecto al tiempo de desarrollo me parece que quizás no hayas visto algunos frameworks que están funcionando realmente bien y hacen todo mas rápido. Algunos de ellos son CakePHP, Symfony y PHPOnTrax. Lo que por ahí puede hacerlo mas rápido a ASP.NET en cuanto a desarrollo puede ser quizás el IDE gráfico al cual muchos ya están acostumbrados a usar por haber utilizado productos de Microsoft antes, y como bien decías respecto a la unificación entre aplicaciones para web y aplicaciones win32 corriendo en el mismo servidor.
    Además hay que tener en mente que desde que ASP quedó obsoleto, se limitó al usuario “comun” (sin acceso a un servidor dedicado) a desarrollar pequeñas aplicaciones como un form2mail o cosas así, ya que necesitás acceso en profundidad en el sistema para subir todas las dll correspondientes en tu proyecto. Igualmente, lo sé, no se justifica utilizar .NET para un form2mail, pero fue un ejemplo.
    Este fue mi sencillo comentario, si bien me dedico a programar en PHP y Python, hice algunas aplicaciones en .NET y noté que es un framework muy poderoso, pero con las limitaciones que te nombré. Saludos.

  2. Miguel Angel
    Noviembre 6, 2006 a las 10:18 am

    Totalmente de acuerdo. Actualmente estoy haciendo una Monografía para mi Titulación, sobre este tema. Igualmente e trabajado con los 2 y como dices, depende de todo eso que mencionas al final para poder hacer la comparativa.

    Un saludo y una felicitación por tu Página, sinceramente de las mejores, siempre en mis Favoritos, Magnifico diseño y un contenido de muy buena calidad.

Agregar comentario

*

*

XHTML: Puedes usar los siguientes tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Aumentar ↓ | Disminuir ↑

Sindica este sitio usando RSS

Recuerda que si quieres mantenerte informado y recibir nuestras actualizaciones agrega nuestro feed a tu lector favorito y podrás darle seguimiento a nuestro sitio.