La respuesta a su pregunta depende del problema que está tratando de resolver.
Angular (por cierto, la versión 4+ ya está disponible y es muy similar a la 2), es un marco web front-end. Le permite crear sitios web agradables de una sola página (lo que significa que solo hay 1 archivo html y todo el contenido se altera usando javascript) que ya puede hacer mucho en la computadora del cliente.
Si desea escribir un buen front-end utilizando algunos otros back-end con una Interfaz de programación de aplicaciones (API) pública, puede hacerlo solo con Angular. Esto debería hacerle pensar en hacer su propia interfaz reddit, por ejemplo.
- ¿La construcción y el lanzamiento de aplicaciones exitosas lo hacen adecuado para un rol de gerente de producto en una empresa?
- ¿Debo poner todo el código en mis controladores cuando estoy escribiendo una aplicación web?
- En el desarrollo de software, ¿cuál es la diferencia entre las aplicaciones de escritorio y las aplicaciones web?
- ¿Puedo hacer una aplicación web si solo conozco Ruby on Rails?
- ¿Puede una startup tecnológica obtener fondos solo con una aplicación web antes de crear las aplicaciones móviles?
Sin embargo, si desea que sus usuarios hagan algo en su sitio web, ALMACENE lo que están haciendo y luego RECUPERE nuevamente … entonces necesitará un back-end. Los front-end no pueden leer del sistema de archivos de un usuario (por razones de seguridad). También se considera una práctica muy mala y terriblemente insegura permitir que su código del lado del cliente interactúe directamente con una base de datos o el sistema de archivos de un servidor remoto. Tendría que enviar las credenciales de su base de datos a través de Internet, por ejemplo, para que todos las vean (y puedan usar).
Entonces, si no está escribiendo un front-end para una API pública existente o una aplicación del lado del servidor existente … entonces sí, deberá escribir su propia aplicación del lado del servidor. Esto se puede hacer en el idioma que desee.
Espero que responda tu pregunta.