diseña cosas de front end cuando diseñas sistemas que interactúan con el cliente de tus sistemas. Observe aquí que la palabra cliente es bastante grande, pero básicamente significa que está trabajando en el front-end cuando proporciona una interfaz para el mundo exterior.
La mayoría de los sitios web son solo front-end, es decir, proporcionan información al mundo exterior y la mayoría de las veces esta información puede almacenarse simplemente como texto en archivos HTML.
Usted diseña el back-end cuando necesita proporcionar servicios y encapsular la funcionalidad que consumirá su front-end. Esto permite desplazar parte de la carga de trabajo del cliente (front-end) al servidor (back-end). Lo hará en casos en que necesite coordinar información de diferentes clientes que puedan acceder a su sistema simultáneamente. O si necesita usar un repositorio de datos central para recopilar datos dinámicos, o nuevamente si necesita algunos requisitos de seguridad específicos. Esta lista no es exhaustiva, solo ejemplos rápidos.
para abreviar, Front-end (cliente) presentará información al mundo exterior. Por lo general, estos son humanos a través de algún tipo de GUI, ya sea HTML o de otro tipo.
El back-end proporcionará medios para centralizar los servicios para que los use su front-end. El uso de un back-end no es obligatorio y agrega complejidad a un sistema, pero permite gestionar mejor la complejidad inherente al sistema que está tratando de construir.
Por ejemplo, es posible proporcionar un servicio como un wiki únicamente a través del front-end, pero tendrá muchas limitaciones que el uso de un back-end para almacenar los datos y servirlos al front-end se resolvería de una manera más natural.