Cómo realizar una aplicación web en PHP

Me llegó esta pregunta a través de Twitter:

Cómo realizar una aplicación web en php

Y la verdad… me descolocó un poco (No descarto que haberla leído un Sábado a las 8 A.M. haya tenido algo que ver :)).

Es que es algo tan natural para mi hoy en día que me fue difícil pensar en cómo responder… aquí va:

Lo primero que habría que entender es a qué llamamos «Aplicación Web».

Seguramente estés familiarizado con una serie de categorías como e-Commerce, Blogs, CMS, Red Social, etc…, pero si te preguntara qué es una aplicación web, ¿cómo responderías?

Qué es una aplicación web

¿Por qué preguntarle a Wikipedia?

En la ingeniería de software se denomina aplicación web a aquellas herramientas que los usuarios pueden utilizar accediendo a un servidor web a través de internet o de una intranet mediante un navegador. En otras palabras, es un programa que se codifica en un lenguaje interpretable por los navegadores web en la que se confía la ejecución al navegador.

Bueno… algunas cosas me suenan al menos debatibles, por ejemplo:

  • No creo que una aplicación web deba ser necesariamente accedida mediante un navegador
  • Tampoco es 100% cierto que el programa deba codificarse en un lenguaje interpretable por los navegadores web (De hecho no conozco ningún navegador que sea capaz de interpretar PHP… ¿vos conocés alguno? ¡Mencionalo en un comentario!)

Lo que sí rescato de esta definición es que se trata de un programa (algo obvio tal vez, pero más vale aclarar la terminología) que se ejecuta en un servidor web.

Alguna definición todavía más draconiana podría decir que cualquiera aplicación tipo cliente/servidor que utiliza HTTP como protocolo de comunicación debería ser considerada web.

No es mi intención confundirte ni buscar ser «más papista que el papa», simplemente quiero mostrar que no es tan fácil llegar a una definición formal.

A los fines prácticos me voy a quedar con la idea de que una aplicación que se ejecuta en un servidor web y genera alguna salida interpretable por un navegador (HTML, CSS, JS, etc…) es una aplicación web (Y creo que puedo afirmar con bastante certeza que lo que queda afuera de esta definición es bastante poco).

Muy bien, ahora que estamos de acuerdo en lo que es (¡y lo que no es!) una aplicación web, avancemos.

Cómo construir una aplicación web con PHP

Una aplicación escrita en PHP no es otra cosa que un conjunto de archivos de texto que respetan una serie de reglas (sintácticas y semánticas), las cuales, todas juntas forman el lenguaje PHP.

En particular, PHP es un lenguaje que fue diseñado específicamente para la construcción de aplicaciones web (Aunque hoy en día es mucho más que eso), esto implica que la realización de tareas propias del desarrollo web (como ser la interacción a través de HTTP) son sumamente sencillas (A diferencia de lo que sucede con otros lenguajes con diferente propósito).

De modo que para construir una aplicación web con PHP no se necesita más que un servidor web y un editor de texto.

Típicamente PHP se utiliza en conjunto con el servidor web Apache (Aunque cualquier alternativa puede ser igual de efectiva), en ese caso, lo que se requiere para contar con una aplicación web es tener instalado (y configurado) el módulo correspondiente y dejar el código que se quiere ejecutar en un directorio accesible a través de la web (Usualmente dentro del directorio DocumentRoot).

Si no contás con un servidor propio (y no tenés ganas, tiempo o conocimientos como para montarlo), una buena alternativa es conseguir un proveedor de hosting, el cual te indicará en qué directorio debes subir tus archivos para poder ejecutar código (Típicamente será public_html).

Una vez tengas claro dónde debe estar tu código… lo único que resta es desarrollar tu aplicación 🙂

Y aquí viene la parte realmente desafiante (y, sobre todo, diferente para cada aplicación que quieras desarrollar).

Volviendo a la definición que te mostré al comienzo, un script que contenga algo como:

<?php

echo 'Hola mundo!';

Debería ser considerada una aplicación web (En tanto y en cuanto esté alojado donde debe estar para poder ser accedido desde un navegador).

Para desarrollar aplicaciones más complejas necesitarás conocer a fondo la sintaxis del lenguaje (Un buen primer paso es este curso), la forma de almacenar datos (por ejemplo, conectándote a alguna base de datos) y demás técnicas más avanzadas.

Recomendaciones

Mis recomendaciones personales son:

  1. Entender lo más profundamente que puedas el universo de la aplicación que vas a desarrollar (¿Para qué se usará? ¿Quién la usará?, etc…)
  2. Diseñar el modelo de datos
  3. Seleccionar un framework (Este artículo puede ayudarte en la decisión)
  4. Seleccionar un hosting
  5. Realizar un primer despliegue para validar las capacidades técnicas del hosting (Especialmente útil si usas un espacio que no controlas al 100%)
  6. Desarrollar
  7. Testear
  8. Debuggear
  9. Desplegar

Nota al pié

Este tipo de artículo no es lo que suelo escribir (en general me gusta ir a preguntas más específicas), pero… como me debo a mi público, no pude dejar de hacerlo :).

Muchas gracias a Joao por haber hecho la pregunta y darme la posibilidad de reflexionar sobre un tema al que hacía tiempo no le dedicaba la atención que merece.

mchojrin

Por mchojrin

Ayudo a desarrolladores PHP a acceder mercados y clientes más sofisticados y exigentes

¿Te quedó alguna duda? Publica aca tu pregunta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.