Arquitectura cliente-servidor
Wikipedia define la arquitectura cliente-servidor como: es un modelo de diseño de software en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Lo importante es que en esta arquitectura el servidor es una computadora que se encuentra casi siempre encendida y su única función es contestar peticiones de clientes a los cuales regresa una página html, este modelo es el más usado en el desarrollo web.

Front-End
¿Qué es el front-end?
En la arquitectura anterior se hizo una distinción entre el cliente y el servidor, el front-end se refiere al diseño en la parte del cliente, es decir, desde la computadora de la persona que desea conectarse con un servidor. De manera simple, el front-end se compone de 2 cosas: diseño gráfico y la interfaz de usuario.
¿Cuales son los roles dentro del Front-End?
- Diseñador UI. Se encarga de diseñar la navegación del usuario, la interacción que el mismo tendra con las vistas.
- Maquetador Realiza el diseño al código HTML y CSS, el maquetador es el "artista" de la página, no se preocupa de código solo de presentación.
- Programador Frontend Agrega la lógica de programación a la página web pero solo desde el lado del frontend, esto lo realiza mediante la conexión desde una API.



¿Cuales son los principales lenguajes y frameworks usados en el Front-End?
El lenguaje de programación más utilizado en el front-end es Javascript, el framework más utilizado es React.js, también existen otros framework como Vue.js, Angular.js, etc. En cuanto a lenguajes marcados se utilizan los que utiliza cualquier desarrollo web, como por ejemplo HTML, CSS, PHP, etc.

Back-End
¿Qué es el back-end?
El backend es el desarrollo que se realiza desde la parte del servidor, el cual por lo regular esta conectado a una base de datos y cuenta con la lógica de negocio, hoy en día se suelen desarrollar APIs para que sea más sencillo para el cliente pedir información al servidor.
¿Cuales son los roles dentro del Back-End?
- Backend Developer. Es el que desarrollo el código, el que implementa la lógica de negocio y crea la API.
- Administrador de Base de Datos Se encarga de diseñar, implementar y mantener la base de datos, así como su seguridad y todos los procesos dentro de la misma.
- Administrador del Servidor Es el encargado de mantener el servidor en optimas condiciones, realizar instalaciones en el mismo y darle soporte, así como mantener la seguridad.



¿Cuales son los principales lenguajes de programación y frameworks del backend?
El lenguaje de programación más utilizado en el backend es PHP, el framework más utilizado es Laravel, también existen otros frameworks como Symfony, Codeigniter, etc. En cuanto a lenguajes marcados se utilizan los que utiliza cualquier desarrollo web, como por ejemplo HTML, CSS, PHP, etc.

¿Que es un Stack?
Un stack es un conjunto de herramientas que se utilizan para desarrollar una aplicación, es decir, una pila de herramientas, es decir, una pila de desarrolladores, es decir, una pila de lenguajes de programación, es decir, una pila de frameworks, es decir, una pila de tecnologías. Un ejemplo de stack es MEAN (Mongo, Express, Angular, Node), el cual es un conjunto de tecnologias que son usadas para todo el desarrollo web tanto front-end como back-end.
