La respuesta directa es “no”. No es necesario “aprender” el desarrollo de back-end “antes” de aprender Angular. (Y si realmente va a aprender el Angular 2.x actual, actualmente 4.3, únase al club llamándolo simplemente “Angular” – y llame al antiguo Angular 1.x “AngularJS“. Obteniendo finalmente esta terminología completa alrededor es del interés de todos.)
PERO…
Lo llaman “desarrollo front-end” por una razón. Es el lado del cliente de una experiencia que esencialmente entrega el contenido de una base de datos remota que reside en el “lado del servidor”. Una ventana a la base de datos, por así decirlo. Más allá de la aplicación más trivial, la mitad del desarrollo del lado del cliente está creando la experiencia de visualización / interactiva de la interfaz de usuario y la otra mitad está configurando la comunicación / integración bidireccional con un “back-end” desde el que se solicitarán datos (o incluso para qué datos de usuario se agregarán).
- ¿Qué idioma se usa para crear el back-end de un sitio web?
- Al completar el certificado de back-end de Free Code Camp, ¿debo usar un idioma de back-end que se enseña en mi programa de informática en la universidad?
- ¿Por qué mi jefe no me deja reescribir todos nuestros backends actuales en Node.js?
- ¿Cuáles son las ventajas y desventajas de usar Javascript en el back-end?
- ¿Cuál es el mejor lenguaje / marco para un back-end diseñado para interactuar con varias plataformas (aplicación iOS, habilidad Alexa, sitio web, etc.)?
Por lo tanto, incluso si no necesita saber cómo escribir realmente un “back-end”, es decir, un servidor http enrutado que implementa una API REST con funcionalidad CRUD, tal vez utilizando node.js / express.js, debe comprender lo suficiente sobre La naturaleza del back-end para comprender lo que está haciendo para crear la experiencia del usuario que su aplicación Angular del lado del cliente está buscando ofrecer.
El noventa y nueve por ciento de las veces, el “producto” que le ofrece al usuario es el acceso a una base de datos – de tweets, correos electrónicos, información del producto, etc. – y la aplicación del cliente es el medio por el cual el usuario busca , recibe e interactúa con esos datos. Esta realidad fundamental se lleva mejor a casa y se hace intuitiva para el desarrollador front-end al tener al menos un fuerte sentido de cómo
- el cliente solicita datos del backend (o le envía datos en formato JSON)
- el servidor interpreta la solicitud, generalmente interpretando la URL como una “ruta” a la funcionalidad especificada
- el servidor interactúa con el sistema de gestión de la base de datos de acuerdo con la funcionalidad de la ruta, haciendo uso de la “traducción” de ORM de los datos entre su anterior en el servidor y su forma en la base de datos
- el servidor devuelve los datos deseados a la aplicación cliente en formato JSON
Esto es cierto para cualquier tecnología front-end.
Pero si está utilizando Angular específicamente, suponga que es un requisito absoluto que aprenda a usar Firebase como una solución “servidor / base de datos” totalmente integrada, utilizando el paquete AngularFire2 NPM . Esto no solo hará que todo esto sea concreto de la manera más simple posible, sin requerirle que cree una API REST implementada en un servidor enrutado e incluso piense en las traducciones ORM; también puede descubrir que Firebase resolverá todas sus necesidades de persistencia de datos de back-end de la manera más emocionante y revolucionaria, incluso ofreciendo actualizaciones en tiempo real a sus clientes según sea necesario en muchos contextos de comunicación o datos “en vivo”. Google está impulsando Firebase tan duro como Angular, con muy buenas razones. El modelo de datos fundamental en Firebase, el del árbol JSON, es una desviación radical de todos los modelos SQL y noSQL, y no será adecuado para todos, especialmente cuando se necesita una gran flexibilidad de consulta de datos. Pero no lo sabrá hasta que aprenda lo suficiente para comprender los problemas, y cuando Firebase tenga sentido, gran parte de su diseño angular frontal se construirá en torno a esa premisa.
En resumen, todo el enfoque de la API REST para la interacción del lado del cliente con un servidor / db “back-end” ha sido exitoso en gran parte porque permitió a los desarrolladores front-end tratar el back-end como un “recuadro negro” – como si eran una mera biblioteca de llamadas a funciones cuyo funcionamiento interno no necesitaba entender. Pero este enfoque es un poco demasiado simplista, y ahora hay alternativas como Firebase a todo el concepto fundamental.
En pocas palabras: el aspirante a desarrollador Angular debe tener al menos la capacidad de leer y discutir de manera inteligente un repositorio de un servidor http node.js / express.js, preferiblemente escrito en TypeScript usando ts-node, e implementando una API REST contra un DBMS estándar (postgres, mongo, etc.). Él o ella debe poder implementar un back-end simple de Firebase usando AngularFire2 para asegurarse de que Firebase como una opción de back-end se entienda bien y esté potencialmente disponible.
La forma de obtener esta educación de alguien que realmente conoce los estándares es de la Universidad Angular. Tienen un curso Angular App plus Firebase que no tiene comparación, y un curso formalmente llamado Complete Typecript 2, pero que en última instancia trata sobre escribir un backend REST (express.js plus postgres) en PostScript, con un pequeño cliente front-end angular para probar ese backend Este último curso realmente te dará una idea si estás listo para jugar con los niños grandes. Solo el acceso al repositorio vale el pequeño precio de admisión solo para comprender cómo se organiza un proyecto como este (tanto en el frente como en el fondo) en el contexto de AngularCLI. He pasado al menos cien horas estudiando estos dos videos / repositorios de cursos en particular y, por lo tanto, hablo desde una experiencia concreta. Este es el verdadero negocio si desea ponerse al día.