Soy un novato en el mundo Angular, pero soy un programador backend experimentado (java y golang). tengo pocas preguntas
1.) ¿La aplicación angularjs debe servirse usando nodeJS en el lado del servidor?
2.) ¿AngularJS es solo código del lado del cliente? si ese es el caso, ¿puedo servirlo simplemente usando apache?
3.) Si AngularJS es un código del lado del cliente, ¿no impone un riesgo de seguridad, porque llama a la API y todas las claves y secretos de la API están incrustados en el javascript?
Tal vez me estoy perdiendo algo aquí.
Realmente aprecio algunos consejos. Traté de buscar en la web, no pude encontrar una respuesta satisfactoria.
Gracias, Brijesh
1.) ¿La aplicación angularjs debe servirse usando nodeJS en el lado del servidor?
No, angular se puede servir con cualquier servidor web.
2.) ¿AngularJS es solo código del lado del cliente? si ese es el caso, ¿puedo servirlo simplemente usando apache?
Sí, angular es un marco frontal o del lado del cliente, y se puede servir con apache.
3.) Si AngularJS es un código del lado del cliente, ¿no impone un riesgo de seguridad, porque llama a la API y todas las claves y secretos de la API están incrustados en el javascript?
Probablemente no debería llamar a las API desde el lado del cliente, sino que el cliente debe solicitarlo a su servidor, su servidor se ocupará de las API y le brindará a su cliente la información necesaria.
1.) ¿La aplicación angularjs debe servirse usando nodeJS en el lado del servidor?
No. Desarrollé temas de Wordpress con Angular en el lado del cliente, que solicita la API de Wordpress para mostrar publicaciones, páginas, etc.
2.) ¿AngularJS es solo código del lado del cliente? si ese es el caso, ¿puedo servirlo simplemente usando apache?
Si y si.
3.) Si AngularJS es un código del lado del cliente, ¿no impone un riesgo de seguridad, porque llama a la API y todas las claves y secretos de la API están incrustados en el javascript?
Establecer las claves API en el lado del cliente es un riesgo de seguridad, por eso no debería hacerlo. Entonces, ¿cómo lidiar con la API de Angular o cualquier tecnología del lado del cliente? Simplemente usa algo en el back-end que proporcionará una interfaz entre el cliente y la API final.
p.ej:
Solicitud angular -> Script PHP que solicitará la API -> API
y luego
Respuesta de la API -> Script PHP (que contiene las credenciales de la API) recuperando la respuesta de la API -> Angular recuperando la respuesta del script PHP.
NB: el uso de PHP es solo un ejemplo, puede hacerlo con cualquier idioma del lado del servidor que desee.
Angular es puramente código del lado del cliente, como todos los js (bueno, "la mayoría", cuando se considera node.js en el lado del servidor).
No impone ninguna preocupación de seguridad adicional más allá de lo que ya obtiene de 1. usar js y 2. usar cualquier marco js.
Para las API, por supuesto, deberá comunicarse con su propia API para cualquier cosa del lado del servidor. En general, es mejor enviar por proxy cualquier comunicación con API de terceros a través de puntos finales en su servidor.