Drupal CMS y PHP – lenguaje de programación
En el artículo anterior hablábamos de los sitios Web. No todos los sitios son iguales. Una primera diferenciación es entre sitios estáticos y sitios dinámicos.
Un sitio estático es el que muestra siempre el mismo contenido. Tiene todas sus páginas escritas en HTML. Cuando un navegador pide una página, el servidor lo único que tiene que hacer es buscarla entre las que tiene guardadas y enviarla.
Un sitio estático se diseña directamente en HTML. Existen programas WYSIWYG (“what you see is what you get” = lo que ve es lo que obtiene) que diseñan HTML y cualquiera con mínimos conocimientos puede llegar a hacerse una página, pero para lograr buenos resultados es imprescindible dominar el lenguaje más allá de lo que un editor simple puede generar.
Además tiene la desventaja de que cuando se quiere cambiar algo, este cambio debe hacerse en la pc del diseñador y luego subirse al sitio (probablemente usando un protocolo llamado FTP). Entonces el propietario del sitio depende del diseñador para hacer los cambios.
En cambio, en un sitio dinámico no es necesario escribir cada página como HTML sino que la misma – o elementos de ella - puede generarse a partir de una base de datos o un archivo de texto.
Quien genera la página es un programa (llamado “script”). Los scripts pueden ejecutarse del lado del servidor o del lado del cliente.
Si el script se ejecuta del lado del cliente, viaja con la página, y su código es visible. Por ejemplo es responsable de mostrar una galería de fotos como slideshow. El lenguaje más utilizado para estos scripts se llama Javascript.
Los scripts del lado del servidor arman la página “al vuelo” en el momento de ser solicitada, tomando datos de alguna condición de entrada o de una base de datos.
Un ejemplo sencillo sería pedirle al usuario el nombre de un producto o parte del mismo y devolver un listado tomado de una base de datos. O tan complejo com o partir de esa búsqueda y generar una compra online con medios de pago incluidos. Las posibilidades que brinda un sitio dinámico son enormes.
Una gran ventaja de ejecutar los scripts del lado del servidor es que el navegador recibe en todos los casos HTML puro, o sea que el programa en sí y las claves de acceso a las bases de datos quedan ocultos.
Los lenguajes de programación de scripts del lado del servidor más usados son PHP, ASP y ASP.NET
PHP - Hypertext Pre-processor
PHP es un lenguaje de scripts del lado del servidor cuya sintaxis es similar a la del lenguaje “C’ (uno de los más poderosos lenguajes de programación). Fue originalmente diseñado para correr sobre el servidor web Apache para Linux, pero ahora puede ejecutarse en casi cualquier sistema operativo y servidor web que cumpla con los estandares.
Sus ventajas son:
1. las aplicaciones escritas en PHP no dependen de la plataforma, pueden ejecutarse en Windows, Linux o MAC. Además la gran mayoría de los proveedores de hosting soportan PHP, lo que hace más facil la migración si hay que cambiar de proveedor.
2. Al ser parecido a C, Java, Perl, los desarrolladores familiarizados con estos lenguajes lo prefieren.
3. Al ser de código abierto, está permanentemente evolucionando, y sus problemas se solucionan más rápidamente. También es de uso gratuito.
4. Contiene librerías para manejar imágenes y archivos PDF. En los otros lenguajes esto requiere de componentes adicionales.
5. Es más fácil conectar con bases de datos mySQL o PostgreSQL que usando ASP. En ASP.NET la conexión es sencilla también.
ASP - Active Server Pages
Las aplicaciones escritas en lenguaje ASP (Active Server Pages o páginas activas de servidor) corren exclusivamente sobre servidores de Microsoft. El lenguaje está basado en Visual Basic. No ha evolucionado mucho con el tiempo. Si hay que interactuar con una base de datos MSSQL es más fácil hacerlo con ASP que con PHP.
ASP.NET representa un cambio de estructura con respecto a PHP y ASP. Las páginas son más rápidas y el código fuente resulta más seguro y robusto. La contra es que hasta el programador más experimentado encuentra confuso el trabajo con .NET, ya que requiere un cambio total del paradigma del modo de trabajar. Otro problema es que son muy pocos los proveedores de hosting que ofrecen soporte para .NET, y los costos son todavía muy altos.
¿Y Drupal?
Drupal es un CMS. Un CMS por definición es un sitio dinámico.
Drupal está escrito en PHP . Según su creador, Dries Buytaert, quien es también programador Java, eligió PHP porque “ambos lenguajes harían bien el trabajo, pero la web la construyen millones de individuos, muchos de ellos amateurs, quienes actualizan, mejoran y reconstruyen sus sitios. PHP permite esto, y está disponible a muy bajo costo.
Algunos de los sitios más populares están escritos en PHP (Wikipedia, Flickr) Para que una aplicación en PHP crezca alcanza con agrandar la capacidad del servidor web y la de la base de datos. Estos problemas fueron bien entendidos y solucionados,”


