angularjs - programar - que es angular 6
Qué es un buen back-end para usar con AngularJS (4)
(descargo de responsabilidad: soy el desarrollador de Ruby on Rails)
Creo que Ruby on Rails es bastante bueno para usar como json back-end.
Puede encontrar fácilmente una gran cantidad de materiales y screencast sobre la integración con angular, como:
Y construir api JSON adecuado con Rails puede ser útil para crear aplicaciones móviles, etc., también hay muy buen material sobre la creación de buenos Rails RESTful Api, fe:
Quiero conocer sus sugerencias sobre un buen back-end para usar con AngularJS como front-end.
¿Por qué su backend sugerido es bueno y es fácil de usar o fácil de aprender?
El back-end depende de usted para elegir, todos los back-ends deben interactuar de la misma manera con Angular JS, es más sobre lo que usted está cómodo o con más experiencia.
Usted tiene muchas opciones para analizar:
Python: Flask y Django
Javascript: Nodo JS
Ruby: Ruby on Rails
PHP
Cada uno tendrá sus curvas de aprendizaje y trampas.
Existe un riesgo considerable en esta pregunta para las respuestas basadas en opiniones, por lo que sugiero una evaluación más crítica:
Implementaciones relajantes en el lado del servidor
... Hará que trabajar con angular sea considerablemente más fácil y menos doloroso, además de ser fiel a las especificaciones de HTTP con todas las cosas buenas que eso conlleva. En cualquier idioma que elija, asegúrese de que el marco permita el mínimo esfuerzo para hacerlo.
En mi experiencia:
PHP :
Vanilla PHP y Codeigniter son capaces, pero pobres de hacer esto, sugiero evitarlos. No puedo hablar de Symphony y de los marcos basados en ORM más grandes, pero entiendo que la curva de aprendizaje no es trivial. Recomiendo mantenerse alejado de las aplicaciones de CMS como WordPress y Drupal ya que este tipo de cosas no es su propósito.
Entiendo que Laravel puede ofrecer una curva de aprendizaje razonablemente baja y entiende las interfaces RESTFul integradas .
NodeJS
NodeJS ofrece una gran cantidad de marcos para el servidor con Express y sus variantes son la base aparente para muchos de ellos. Express ofrece la flexibilidad para crear interfaces RESTful, pero no lo hace de forma predeterminada. Para obtener más azúcar sintáctico, generalmente es necesario conectar tu propio middleware.
Ruby on Rails Por lo que entiendo, hay un apoyo considerable para las aptas RESTful con rieles .
Base de datos
PHP Vanilla PHP mysqli Soporte para trabajos de bases de datos, pero es de muy bajo nivel para su uso. CodeIgnighter, Symphony, Lavel y otros marcos ofrecen la abstracción y la seguridad necesarias para trabajar con la base de datos en diversos grados. Diferenciar entre ellos en esto es en gran medida una cuestión de gusto. Los frameworks PHP pueden tener dificultades para soportar las bases de datos más nuevas tipo NoSQL.
NodeJS Express admite todas las formas principales de bases de datos con middleware apropiado con literalmente miles de opciones de los repositorios de NPM. Como de costumbre, tendrás que conectarlos para expresarte con distintos grados de dificultad.
Ruby on Rails Rails es compatible con el patrón de registro activo que ofrece seguridad y facilidad de uso desde el primer momento. Esto es compatible con la mayoría de las bases de datos relacionales estándar populares. Sin embargo, no puedo hablar de su integración para las bases de datos NoSQL.
Curva de aprendizaje
Esto es demasiado subjetivo para decir mucho más que algunas trampas: la comunidad de NodeJS espera un grado bastante alto de habilidad para comenzar y el problema del retrollamada es lo suficientemente grande como para ser una barrera seria para el desarrollo del lado del servidor del alumno.
Seguridad
PHP Vanilla PHP ofrece poca seguridad y no es recomendable. Codeigniter, Laravel y los otros frameworks ofrecen cierta protección con el escape de cadenas y protección contra ataques de inyección de SQL al menos.
NodeJS Express no ofrece demasiadas funciones de seguridad listas para usar, pero puede ser reforzado con módulos como el helmet . Esto no es una deficiencia sino un reflejo de la naturaleza no ionizada de la aplicación.
Los raíles lo entiendo Rails ofrece protección de inyección SQL básica a través de Active Record y protección CSRF, entre otras características listas para usar.
Personalmente: utilizo Koa (una aplicación para sustituir Express) para mi propio desarrollador del lado del servidor al trabajar con angular. Mis proyectos heredados usan CodeIgnighter.
Soy parcial y recomiendo Go porque es capaz de manejar grandes cantidades de solicitudes simultáneas y rápido (5000 y más) sin consumir demasiados recursos.
Sin embargo, saltar entre dos idiomas puede ser doloroso, pero al final le dará una comprensión más amplia de la programación. Por lo tanto, si no desea cambiar los idiomas, permanezca con el marco expreso y node.js, ya que allí también están todos los tutoriales, MEAN stack por ejemplo (mean.io)