Desarrollo de Juegos Multijugador con Cliente-Servidor y API

Clase 71 de 84Curso Gratis de Programación Básica

Resumen

Te encuentras muy cerca de finalizar tu primera aplicación. Es momento de desarrollar el backend de la misma, toda la lógica del lado del servidor de tu proyecto que permitirá interactuar con otros usuarios e intercambiar mensajes.

Diferencias backend y front-end

Seguro ya sabes lo que es el front-end. La parte visual de una aplicación web que puedes acceder a ella desde una navegador o también denominado ““cliente””. La misma se desarrolla con tecnologías como HTML, CSS y Javascript.

Por otro lado, el backend es todo lo que ““no puedes ver””, ya que es la lógica de una aplicación que se ejecuta en un ““servidor””. El backend se suele desarrollar con tecnologías como Java, PHP, C#, C++ o también con Javascript con NodeJS.

De esta breve explicación se desprenden dos conceptos claves que te acompañarán el resto de tu vida como programador. El cliente y el servidor.

Arquitectura cliente/servidor

Si estás leyendo esto, es gracias a que tu navegador web (o aplicación mobile), el cliente, se conectó a los servidores de Platzi y los mismos le enviaron este texto.

La Internet moderna funciona a través de la arquitectura cliente/servidor. Donde el cliente realiza peticiones de datos al servidor y este responde con los mismos.

Arquitectura cliente/servidor

Un servidor puede responder de varias formas o con diferentes tipos de información dependiendo el tipo de petición del cliente.

Envío de páginas web

Cuando ingresas a https://platzi.com/ el servidor realiza un tipo de respuesta enviándole al cliente, al navegador web, archivos para la construcción de una página web.

Tipos de archivos que el servidor envía

Cada tipo de archivo es interpretado de una forma diferente por el navegador para construir la página. Incluso puedes enviar archivos multimedia como imágenes o videos.

Streaming de datos

Cuando te encuentras viendo un video aquí en Platzi o en YouTube, los servidores envían cada fotograma del video en el orden que les corresponde para que el navegador web pueda reproducir el video y múltiples usuarios puedan verlo en tiempo real.

Streaming de datos

Envió de datos

Un tercer tipo de intercambio de información entre un servidor y un cliente es el envío de datos en crudo con una determinada estructura de los mismos.

Un servidor puede enviar información de estudiantes, clases y cursos al cliente para que este construya la interfaz con los mismos y el usuario pueda interactuar con los datos.

Envío de datos de personas

Los datos suelen intercambiarse a través un formato de texto conocido como JSON o Javascript Object Notation. JSON es el estándar más utilizado hoy en día para intercambiar información entre aplicaciones y definir estructuras en los daots. El aspecto de este tipo de información es como el siguiente:

{
    ""nombre"": ""Diana"",
    ""edad"": 27
}

Todo este intercambio de información entre un cliente y un servidor, o entre un front-end y un backend, se produce gracias a una API.

Aplication Programming Interface o ““Interfaz de Programación de Aplicaciones”” es otro concepto que te acompañará por mucho tiempo. Puedes verlo como una puerta de entrada para el cliente, para la obtención de datos desde un servidor.

El servidor debe permitir que un cliente haga consultas y reciba datos, a través de una API es que el intercambio de información es posible.

Protocolo HTTP

Internet está basado en protocolos que son formas estandarizadas de hacer las cosas. El intercambio de datos entre un cliente y un servidor es posible gracias al protocolo HTTP.

Hypertext Transfer Protocol o ““Protocolo de Transferencia de Hipertexto”” por sus siglas en español, es el protocolo N°1 utilizado en internet para el intercambio de cualquier tipo de dato.

Seguro habrás visto que las páginas web comienzan con http:// o https://. Ahora ya sabes qué significa.

HTTP vs. HTTPS
La S de HTTPS no es más que una extensión al protocolo HTTP que lo hace más Seguro para el intercambio de información cifrada o codificada entre el cliente y el servidor para evitar robo de datos.

Conclusión

Front-end, backend, cliente y servidor. El protocolo HTTP, APIs y JSON. Son solo los primeros conceptos, tecnologías o terminologías que debes conocer del mundo de la programación.

No te preocupes si aún no tienes en claro para qué sirve cada cosa, profundizarás poco a poco en cada uno de ellos y comprenderás su utilización para la construcción de un backend, y de una aplicación web completa.


Contribución creada por: Kevin Fiorentino (Platzi Contributor).