El principal objetivo de esa unidad es comenzar a caminar en la apasionante tarea del desarrollo web. Repasamos las fases del ciclo de desarrollo del software, exponemos la diferencia entre el lado cliente y servidor, analizamos la arquitectura de tres niveles de las aplicaciones web, concretaremos las tecnologías que intervienen justificando la elección de JavaScript como «lenguaje de la web» y enumeraremos las herramientas necesarias para el desarrollo web en el lado cliente.
Fe de erratas
No se ha notificado ninguna errata hasta el momento.
Aclaraciones
No se ha añadido ninguna aclaración hasta el momento.
Profundización de conceptos
Node.js
En la página 17 hacíamos referencia a la posibilidad de que el lector quisiera ahondar en el aprendizaje de JavaScript usando Node.js, sin la necesidad de tener que ejecutar cada uno de tus programas en el navegador. Aquí tienes un artículo donde puedes iniciarte en la programación de JavaScript usando Node.js.
Git
También en la página 17 hacíamos referencia al salto de calidad en el desarrollo de proyectos de software que podría aportarnos el dominio de un sistema de control de versiones como Git. Aquí tienes un artículo donde puedes iniciarte en esta tecnología.
Lado servidor
En la página 6 se incluye una tabla donde se relacionan los conceptos de lado cliente y lado servidor. Cuando se indica el objetivo del lado servidor es posible que no se aprecie la enorme importancia de su utilidad. Por eso es necesaria, a mi juicio, esta ampliación.
Cuando hablamos del lado servidor en el desarrollo de aplicaciones web, nos referimos a todos los procesos y tecnologías que se ejecutan en el servidor para garantizar la disponibilidad, el rendimiento y la seguridad de la aplicación. Cuando mencionamos que el objetivo del lado servidor es garantizar que la aplicación se ejecute en todos los casos, nos referimos a que el servidor debe ser capaz de gestionar diferentes situaciones, como picos de tráfico, errores de conexión y fallos de hardware, sin afectar negativamente la experiencia del usuario.
La escalabilidad y la baja latencia son dos conceptos clave en este contexto:
- Escalabilidad: La escalabilidad se refiere a la capacidad de un sistema para manejar un crecimiento en la demanda de recursos y tráfico sin que se vea comprometido su rendimiento. Un sistema escalable puede aumentar su capacidad de procesamiento, almacenamiento y/o ancho de banda para adaptarse a las necesidades cambiantes de la aplicación. Esto puede lograrse mediante la implementación de soluciones como balanceo de carga, escalado horizontal (añadir más servidores) o escalado vertical (incrementar recursos en un servidor existente).
- Baja latencia: La latencia es el tiempo que tarda una solicitud en viajar desde el cliente hasta el servidor y volver con la respuesta. En el contexto del desarrollo de aplicaciones web, una baja latencia es deseable, ya que una latencia más baja se traduce en una respuesta más rápida de la aplicación, lo que a su vez mejora la experiencia del usuario. Para garantizar una baja latencia, es importante optimizar la arquitectura del servidor, la red y el software, así como implementar técnicas de cacheo y utilizar Content Delivery Networks (CDNs) para distribuir el contenido de manera más eficiente.
Actualizaciones de contenidos
No se han actualizado contenidos hasta el momento.
Ejercicios adicionales resueltos
Todavía no se han incluido nuevos ejercicios resueltos.