web-dev-qa-db-fra.com

Pourquoi utiliser AngularJs en frontend si Laravel est déjà utilisé comme backend?

Je sais que AngularJs est FrontEnd et Laravel est Backend mais mes questions sont:

Pourquoi dois-je utiliser AngularJs en premier lieu où tout ce dont j'ai besoin se fait via Laravel?

D'après ce que j'ai compris, je peux faire une application avec soit langs JS ou PHP =, mais je trouve que beaucoup d'utilisateurs utilisent les deux, ce qui pour moi en tant que débutant semble être une surpuissance, donc quelqu'un pourrait-il s'il vous plaît expliquer sous la forme la plus simple possible d'une réponse.

Quel est l'avantage d'utiliser les deux dans le même projet? Et comment structurez-vous habituellement votre app/folders lorsque vous utilisez les deux spécialement que les deux sont MVC?

24
ctf0

Je soupçonne que la question peut entrer en conflit avec les consignes de qualité de stackoverflow et vous pouvez presque mieux poser deux questions distinctes. c'est à dire.

  1. Quand/Pourquoi apprendre/utiliser angular dans un projet wep
  2. comment configurer la structure des dossiers

Pour configurer la structure des dossiers, consultez ces ressources

http://scotch.io/tutorials/php/create-a-laravel-and-angular-single-page-comment-applicationhttps://www.youtube.com/ regarder? v = hqAyiqUs93c

Je ne peux vraiment expliquer pourquoi j'utilise laravel avec angularjs et vous avez raison que vous pouvez utiliser laravel sans angular, mais la raison pour laquelle j'utilise angular ainsi que laravel est parce qu'il y a certaines choses pour lesquelles javascript est juste mieux positionné que les applications côté serveur par exemple.

  • Utiliser ajax et ne pas avoir à recharger la page chaque fois que vous souhaitez vérifier/traiter une petite chose, comme si une adresse e-mail saisie par un utilisateur dans un formulaire est valide ou non.
  • c'est plus rapide parce que lorsque vous ajax retournez sur le serveur, vous n'avez pas à charger la page entière, juste les pièces nécessaires.
  • Vous pouvez donner un retour immédiat à l'utilisateur - par exemple lorsqu'ils remplissent un formulaire - vous pouvez vérifier que leur saisie est valide et leur donner immédiatement leur avis. Avec lavavel, vous devez effectuer un aller-retour vers le serveur et éventuellement renvoyer une collection de messages d'erreur.

Donc, si vous voulez que votre site Web/application Web ait ces avantages, vous devez écrire la fonctionnalité en javascript. Je ne peux pas dire que j'ai utilisé tous les cadres pour dire ensuite que angular est le meilleur, mais pour moi angular fournit un suite de solutions intégrée et à un large éventail de problèmes, en plus d'une architecture qui semble bien fonctionner.

Je pense que c'est en partie pourquoi il y a pas mal de nouveaux concepts à apprendre et le besoin de ces composants n'est pas immédiatement évident.
Cela peut être dû au fait qu'un composant que vous utilisez pour exécuter une fonction, par ex. utiliser un objet $ scope pour relayer des données entre un contrôleur et une vue, sert également une fonction dans une plus grande image, par exemple maintenir la séparation entre la vue et le contrôleur - ce qui aide à organiser le code, la testabilité ainsi que d'autres facteurs.

Si vous utilisez angular ainsi que Laravel (par opposition à seulement Laravel seul)), vous aurez alors l'option de donner à vos utilisateurs ces avantages, car vous avez plus d'options disponibles, par exemple, utilisez laravel où cela convient le mieux aux exigences de votre application et des utilisateurs ou utilisez angular où il donne le meilleur résultat - et vous aurez une meilleure application web à la fin.

17
Michael Coleman

La grande raison pour laquelle j'utilise laravel pour le backend et angularjs pour le frontend est qu'il rend l'application reposante (à la fois le backend et le frontend). Le backend ne produirait et ne consommerait que des données sous forme de formulaire json des tâches telles que la création d'une version d'application mobile de l'application, un travail plus facile, principalement à cause de json.

13
chelanga dennis