La programación de sitios web, al igual que el diseño web se ha convertido en una de las capacidades más demandadas dentro de la industria del desarrollo informático ya que, debido a la altísima demanda de sistemas informáticos basados en la web y al enorme uso que miles de millones de personas hacen de miles de millares de páginas webs diariamente, es necesario, cada vez más, ofrecer soluciones a las diferentes necesidades de muchas personas.
Por otro lado, la programación de páginas webs se ha convertido en un campo pionero donde se da lugar múltiples ideas ingeniosas que van mucho más allá de las necesidades que tenemos como clientes. Pero antes de seguir hablando de programación web, vamos a definir exactamente lo que es:
Pregunta: ¿Qué es la programación web?
Contenidos
Respuesta: La programación web es una terminología que normalmente se refiere al desarrollo de procedimientos, funciones y estructura de un sitio web del lado del servidor.
Como seguramente sabrás, una web se suele dividir en dos partes: El frontend abarca todo lo que se ejecuta en el navegador cliente y el backend incluye todo lo que sucede en los servidores (más abajo lo explicamos mejor). Pues bien, la programación web nos habla de un poco de ambos lados ya que hay programación en el lado del cliente como en el lado del servidor.
Para qué sirve la programación
Es muy importante olvidar la idea de que HTML y CSS son lenguajes de programación ya que no lo son. HTML es un lenguaje de marcado y CSS es un lenguaje de estilos. Ambos se utilizan para indicar a los navegadores cómo se muestra la información que hay dentro de nuestra página web. Estos dos lenguajes se despliegan en el frontend de nuestra web.
HTML y CSS NO son lenguajes de programación
De hecho, dentro de los procesos que realiza el protocolo http para el uso de páginas webs (obviando muchos pasos intermedios) es solicitar al servidor los archivos .html y .css (entre otros) para que el navegador los ejecute y, entonces, muestre el contenido. No hay funciones ni procedimientos dentro de CSS y HTML, no puedes declarar funciones, clases o crear condicionales, bucles o algoritmos. Simplemente nos hablan del aspecto visual de la web.
Y claro, si sólo tuviéramos eso en una página web la funcionalidad quedaría limitada a simplemente consultar información. Pero Internet no es sólo eso. Podemos interactuar con una página web, podemos escribir en formularios, podemos chatear, subir fotos y vídeos, hacer comentarios, programar, ver películas, comprar productos, invertir en bolsa o jugar a videojuegos. Todo ello necesita (en el 99% de los casos) hacer uso de la programación web.
Para ello, se utilizan una serie de lenguajes de programación que hacen posible la existencia de esta funcionalidad, entre ellos podemos encontrar como el rey indiscutible del frontend a Javascript y como los lenguajes más utilizados dentro del backend podemos destacar Java, PHP, Python, Ruby, C++, C#, Perl o Go.
Programación web en Backend y Frontend
Podemos distinguir, entonces, entre la programación que funciona en el front y la programación que funciona en el backend y la mejor manera de explicarlo es con un ejemplo:
Entramos en un ecommerce y queremos hacer una compra. Navegamos por la tienda y vamos viendo productos hasta que encontramos el que más nos gusta, por el camino hemos visto saltar algunos popups, hemos visto que el menú desaparece cuando hacemos scroll con el ratón y aparece cuando subimos un poco. También vemos un icono de un chat donde aparece una chica que te pregunta si necesitas ayuda y tú la ignoras para comprar un producto. Es un colgante monísimo, lo compras, se desplega una notificación y se añade tu producto al carrito de la tienda.
Todo esto que ha pasado hasta ahora se ha ejecutado en el navegador, en el lado del cliente (frontend) aún no ha habido ningún proceso que haya tenido que pasar por el servidor.
Pero seguimos navegando, añadimos un par de cosas más al carrito y vamos a pagar. En el momento de pagar tenemos que rellenar nuestros datos, añadir nuestra dirección y nuestro método de pago.
Una vez le damos al botón de pagar comienzan a funcionar los procesos programados en el backend, la web envía la información al servidor, se almacena en una base de datos, el servidor se comunica con las pasarelas de pago, se envían correos automatizados con información de la compra, se envían notificaciones a las aplicaciones de los vendedores para que empiecen a preparar el pedido, etc. Todo ello se realiza de cara al servidor y de manera transparente para el usuario final.
Además de esto, hay muchas otras cosas que se realizan en una página web que son absolutamente invisibles para el usuario y que requieren programación en el lado del servidor como por ejemplo compresión de imágenes, gestión de contenidos, acceso a datos, y todo tipo de funcionalidades extra que se quiera añadir.
Frameworks de programación web
Dentro de la programación web podemos encontrar diferentes frameworks.
Los frameworks son entornos de trabajo con muchas funciones creadas que ayudan a simplificar y potenciar cualquier lenguaje. Por ejemplo, si quisiéramos desarrollar una web que incluyera varias funciones que son propias de un ecommerce como añadir al carrito, gestión de usuarios, envíos, etc, podría desarrollar esas funciones completamente a mano y una a una o aprovecharse del desarrollo previo que ofrece un framework como Symfony o Laravel para incluirlas y modificarlas (si fuera necesario) fácilmente.
Frameworks más utilizados para el Frontend.
- AngularJS
- jQuery
- Meteor
- Polymer
- React
- Mithril
- Aurelia
- Vue.js
- Ember.js
- Node.js
- Backbone.js
Frameworks más utilizados para el Backend.
- Laravel
- Zend
- FuelPHP
- CodeIgniter
- Phalcon
- CakePHP
- Symfony
- Yii
- Spring
- Hibernate
- Struts
- JSF
- GWT
- GRAILS
- DROPWIZARD
0 comentarios