27 votes

Quelle structure de l'application à utiliser avec AngularJS et Laravel?

J'ai récemment commencé la construction d'un grand réseau social, et et j'ai pensé que ma structure est bonne, mais il s'est avéré que j'ai construit cette logique jusqu'mal.

J'ai mélangé mon point de vue avec AngularJS (mauvaise idée), sauté à la lame d'extension, mais depuis que je suis en utilisant un lot de bloc et la barre latérale comprend, il est devenu une douleur dans le cul.

Actuellement, je fais juste un formulaire de manutention de validations angulaire, mais en fait, toutes mes pages du site nécessitera ajax, les données de la traction, etc.

J'étais à la recherche sur le net et j'ai vu que angulaires vues sont stockées dans le dossier public, mais étant donné que toutes mes pages utilisera angulaire est-ce une bonne idée de stocker tous mes points de vue dans le public, et il suffit d'utiliser Laravel comme un back-end?

Je sais que c'est une question stupide, mais je suis un peu perdu, un peu.

Toute aide de l'indice appréciée.

20voto

Maximilian Hoffmann Points 1084

Il y a deux façons de combiner ces cadres:

  1. Seulement rendu côté client

    C'est la façon la plus facile et utilisé par la plupart des applications web. Dans ce cas, vous devrez utiliser Laravel de l'API de l'extrémité qui sera de retour JSON. Angulaire pouvez interroger ces données par le biais de son $http ou $resource de service et de compiler les templates, vous permet de stocker dans le dossier public. Angulaire modèles sont juste en HTML avec des directives et des {{var}} consolidés. De cette façon Angulaire fait tout le routage trop.

  2. Côté serveur et côté client de rendu

    Ce qui est le plus dur chemin où Laravel serait d'effectuer le routage et la compilation de certains modèles sur le côté serveur. Vous utilisez Angulaire seulement pour certaines interactions sur le site comme vous ne l'utilisez jQuery par exemple. L'avantage de cette approche est la performance que les utilisateurs pourront obtenir la pleine HTML la première fois qu'ils visitent votre site. L'inconvénient est que vous devrez écrire une certaine logique à deux fois et ne peut pas utiliser certains Angulaire de ses fonctionnalités.

11voto

Sergiu Paraschiv Points 4374

Pour bénéficier réellement de la plupart angulaire de fonctionnalités que vous devez écrire une Seule Page de l'Application. Cela signifie que vous devrez communiquer avec le serveur via des Api web, et vous n'aurez pas tout Laravel côté serveur modèles.

Si oui, vous devez écrire deux découplé applications. D'un côté client, en utilisant des angles et un côté serveur qui expose une API web, de préférence Reposant.

De cette façon, vous pouvez passer d'JS/HTML/CSS sur le côté client de Flash ou Silverlight ou quelque chose d'autre et de Laravel/PHP/MySQL .NET ou NodeJS ou un Météore/MongoDB.

5voto

Peter Drinnan Points 1123

Sergiu est correct, mais dans certains cas, Laravel offre encore des avantages qui ne peuvent être atteints avec le client-côté des modèles. Ceci est lié au référencement (SEO) et les WCAG (accessibilité).

AngularJS rend le contenu par voie de manipulation du DOM et les moteurs de recherche ne peut pas déterminer quel contenu est affiché après ces manipulations sont terminées. C'est également le cas pour les lecteurs d'écran. Pour cette raison, certains contenus doivent être livrés par voie de serveur-côté vue des constructions. C'est pourquoi Wordpress et Laravel ont longtemps et en bonne santé à terme.

Sur le back-end ou dans les cas où le RÉFÉRENCEMENT et les WCAG ne sont pas importants, la liaison de données côté client des modèles tels que ceux utilisés avec AngularJS et de Braise va être de plus en plus utilisés comme de plus en plus de développeurs d'apprendre à les utiliser.

En termes de décider d'utiliser AngularJS ou Laravel pour afficher les constructions, il serait préférable d'apprendre à utiliser à la fois et de les appliquer là où la plupart des cas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X