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é debo hacer para un back-end de aplicaciones móviles ya que el análisis está cerrando?
- ¿Cuál es el lenguaje web de back-end más utilizado en Silicon Valley, especialmente por compañías conocidas y nuevas empresas emergentes que están impulsando las cosas?
- ¿Qué hace un desarrollador web back-end todos los días en el trabajo?
- ¿Por qué es tan difícil y lento cambiar los procesos de fondo de los bancos?
- ¿Cuál es la especialización oficial que ofrecen la mayoría de las universidades si quieres trabajar en desarrollo móvil, desarrollo de backend y seguridad cibernética?
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.