web-dev-qa-db-fra.com

Quel est le bon back-end à utiliser avec AngularJS?

Je souhaite connaître vos suggestions concernant un bon back-end à utiliser avec AngularJS en tant que front-end.

Pourquoi votre back-end suggéré est-il bon et est-il facile à utiliser ou à apprendre?

44
STheFox

Il y a un risque considérable dans cette question pour les réponses basées sur l'opinion, donc je suggère une évaluation plus critique:

Implémentations reposantes côté serveur

... rendra le travail avec angular considérablement plus facile et moins pénible, tout en restant fidèle à la spécification HTTP avec tous les avantages que cela implique. Dans n'importe quelle langue choisie, assurez-vous que le cadre le permet. pour le minimum d'effort à faire cela.

Dans mon expérience:

[~ # ~] php [~ # ~] :

Vanilla PHP et Codeigniter sont capables, mais je ne peux pas les éviter. Je ne peux pas les parler. Je ne peux pas parler pour Symphony ni pour les grands frameworks basés sur ORM, mais je comprends que la courbe d'apprentissage est non Je suggère fortement de rester à l’écart des applications CMS telles que wordpress et drupal car ce genre de chose n’est pas leur objectif).

Je comprends que Laravel peut offrir une courbe d’apprentissage relativement basse et a la compréhension de interfaces RESTFul cuites dedans .

NodeJS

NodeJS offre un très grand nombre de frameworks pour le côté serveur avec Express et ses variantes constituant la base apparente pour beaucoup d'entre eux. Express offre la possibilité de créer des interfaces RESTful, mais ne le fait pas par défaut. Pour un sucre plus syntaxique, il est généralement nécessaire de câbler votre propre middleware.

Ruby on Rails D'après ce que j'ai compris, il existe un soutien considérable pour RESTful apis with Rails .

Support de base de données

[~ # ~] php [~ # ~] Vanille PHP mysqli Le support des bases de données fonctionne, mais est trop faible CodeIgnighter, Symphony, Lavel et d’autres frameworks offrent tous l’abstraction et la sécurité nécessaires pour travailler avec la base de données à des degrés divers, ce qui est une question de goût pour les différencier. PHP = les frameworks peuvent avoir du mal à supporter les nouvelles bases de données de type NoSQL.

NodeJS Express Prend en charge toutes les formes principales de bases de données avec le middleware approprié avec littéralement des milliers d'options des référentiels NPM. Comme d'habitude, vous devrez les câbler pour vous exprimer avec plus ou moins de difficulté.

Ruby on Rails Rails prend en charge le modèle d’enregistrement actif qui offre à la fois sécurité et facilité d’utilisation. Cela supporte la majorité des bases de données relationnelles standards populaires, mais je ne peux pas parler de son intégration pour les bases de données NoSQL.

Courbe d'apprentissage

C’est trop subjectif pour que je puisse en dire plus que quelques pièges: la communauté NodeJS s’attend à un niveau de compétence assez élevé pour commencer et le problème callback enfer est suffisamment important pour constituer un sérieux obstacle pour l’apprenant. développement côté serveur.

Sécurité

[~ # ~] php [~ # ~] Vanille PHP offre peu de sécurité et n'est pas recommandé. Codeigniter, Laravel et les autres frameworks offrent une certaine protection avec au moins des chaînes et des attaques par injection de code SQL.

NodeJS Express n'offre pas trop de fonctionnalités de sécurité prêtes à l'emploi, mais peut être renforcé avec des modules tels que casque . Il ne s’agit pas tant d’une carence que du reflet de la nature peu avisée de la demande.

Rails Je comprends Rails offre une protection d'injection SQL de base grâce à la protection Active Record et à la protection CSRF, entre autres caractéristiques de la boîte .

Personnellement: j'utilise Koa (une application pour remplacer Express) pour mon propre développement côté serveur en travaillant avec angular. Mes projets hérités utilisent CodeIgnighter.

42
David

(disclaimer: je suis Ruby sur Rails développeur)

Je crois que Ruby sur Rails est plutôt bon à utiliser comme backend json.

Vous pouvez facilement trouver beaucoup de matériaux et analyser l’intégration avec angular, comme:

Et créer une api JSON appropriée avec Rails peut être utile pour créer une application mobile, etc. Il existe également de très bons documents sur la fabrication de bonnes Rails RESTful Api, par exemple:

11
Esse

Le back-end est à vous de choisir, tous les back-end doivent interagir de la même manière avec Angular JS, c'est plus sur ce que vous êtes à l'aise ou avec plus d'expérience.

Vous avez beaucoup de choix à examiner:

Python: Flask et Django

Javascript: Node JS

Ruby: Ruby sur Rails

PHP

Chacun aura ses courbes d'apprentissage et ses pièges.

5
DevVex

Je suis partial et je recommande Go, car il est capable de gérer un grand nombre de demandes simultanées et rapide (5 000 et plus) sans consommer trop de ressources.

Cependant, sauter entre deux langues peut être douloureux, mais au final, cela vous donnera une compréhension plus large de la programmation. Donc, si vous souhaitez ne pas changer de langue, restez dans le framework express et dans le fichier node.js, car c’est là que se trouvent également tous les tutoriels, MEAN stack par exemple (mean.io).

5
user2312578