Intérêt d'utiliser Angular

Le problème exposé dans ce sujet a été résolu.

Bonsoir ! :)

Je regarde assez souvent les offres d’emplois sur internet dans le domaine du développement web, et j’ai pu ainsi m’apercevoir qu’un (très) grand nombre d’entreprise demande aux candidats de connaître Angular. C’est même souvent un prérequis pour être embauché.

Du coup, je me suis un peu renseigner dessus et j’essaye actuellement d’apprendre à l’utiliser. Mais j’avoue que je ne comprend pas bien à quoi il peut bien servir.

Il doit très certainement être utile puisque certaines entreprises demandent à leurs employés de le connaître. Mais je n’arrive pas à voir pour quelle raison.

Si j’ai bien compris, il s’agit d’un framework Frontend fait en JS. Du coup, (et c’est ce que je fait sur mon projet de blog pour m’entraîner avec Angular), on doit avoir deux projets :

  • Un projet Angular, pour le frontend.
  • Un projet backend (pour moi, Lumen, même si d’autre langages que PHP sont possibles).

Ensuite, notre frontend appel des URLs de notre backend pour effectuer des actions, comme l’insertion d’un article dans la base de données, la récupération de ceux-ci, l’authentification par token, etc…

Et c’est à ce moment là où je ne comprend pas l’intérêt d’utiliser Angular. Pourquoi s’embêter à maintenir deux projets, alors qu’un seul projet (par exemple, avec Symfony ou Laravel) suffirait ?

J’ai même l’impression de perdre du temps à utiliser Angular. J’aurais fait mon blog d’exemple avec Symfony, il serais pratiquement terminé déjà. :p

De plus, et c’est peut être de ma faute car je ne sais absolument pas utiliser Angular, mais lorsque je passe de la page de "Liste des articles" à "Voir un article", l’article met un certain temps à s’afficher (en fait, il met le temps de se connecter au backend, de récupérer l’article et de le retourner en JSON et ainsi l’afficher).

Du coup, j’ai un message de "Chargement en cours…" qui s’affiche à chaque fois que je vais sur une autre page (j’ai indiqué un message de chargement qui s’efface lorsque l’article est affiché par exemple).

En plus, Angular doit pas être tip-top pour le référencement, non ?

Bref, beaucoup de questions. :p

J’aimerais réellement comprendre, car je passe sans doute à côté de quelque chose de superbe. En plus, j’essaye de l’apprendre, mais quand on ne sait pas à quoi peut bien servir un outils que l’on apprend, c’est difficile d’aller loin.

Merci à tous pour vos réponses ! :)

+1 -0

En fait Angular est pas adapté pour un site classique, mais plutôt pour une application où tout doit se faire au maximum sans re-chargement de page.

Dans le cas où on utilise un framework front du genre, le backend se contente généralement de servir les données sous forme d’API, il ne renvoie pas de pages HTML classiques (donc pas besoin de MVC côté serveur).

Ça permet d’avoir un serveur qui ne fait que traiter les données, et un front qui les affiche. Pas super pratique dans le cas d’un site car, comme tu l’as dit, le comportement est modifié et le référencement est un peu plus compliqué (mais pas impossible).

L’avantange d’un framework par contre sera d’optimiser les actions côté client : au lieu d’attendre un aller-retour avec le serveur pour chaque action, on peut les faire en fond et passer directement à autre chose, un peu comme une app mobile le fait. L’ergonomie peut donc être améliorée pour un outil.

En gros, une structure classique avec un framework backend et des vues servira plutôt pour la consultation de contenus. Un framework front sera plutôt adapté à du traitement de données par l’utilisateur.

Merci, je me posais la question aussi. Je ne comprenais pas l’intérêt de l’utiliser. Souvent les exemples ou question sur StackOverflow, utilisait Angular de façon non légitime, c’est-à-dire un peu partout sans que ça soit approprié.

+0 -0

Un des gros intérêts des SPA (Single Page Application), c’est quand on a besoin de plusieurs interfaces utilisateur différentes qui vont taper sur le même serveur. Typiquement, un site web et une app mobile. En plus, on peut convertir le site en app mobile avec un outil comme phonegap.

Le site et l’app vont indifféremment faire leurs requêtes sur le même serveur, qui ne met à disposition que des API. Ca ne fait qu’une seule application serveur à coder pour les deux, et en plus on gagne du précieux CPU sur le serveur car il n’a plus à générer les vues; il se concentre seulement sur ce qu’il sait faire le mieux: gérer les données et les requêtes faites sur celles-ci selon la logique métier. Les afficher si possible de façon à ce que ce soit joli, agréable et facile à comprendre ? le serveur s’en fiche en fait, c’est le boulot du client.

Evidemment les SPA viennent aussi avec des inconvénients, dont parmi eux le référencement et la lenteur du chargement initial. Pour le référencement, en fait si la quasi-totalité de ce qu’on peut faire avec le site nécessite d’avoir un compte et d’être connecté, on peut plus ou moins s’en ficher, car de toute façon le contenu protégé n’est pas censé être référencé. ET pour le temps de chargement initial, force est de constater que tout le monde s’en fiche royalement vu que la couverture en fibre et en 4G est totale… grave erreur mais voilà; ça donne un argument marketing facile pour faire télécharger l’app. (Quand on se mettra sérieusement à comparer l’évolution des débits et le poids des sites depuis 20 ans on s’apercevra peut-être que le premier augmente beaucoup plus lentement que le second, mais c’est un autre sujet)

Après pourquoi Angular spécifiquement plutôt qu’un autre framework de SPA, là je ne saurais pas répondre. Sans doute que, parce que c’est estampillé Google, ça inspire la confiance et l’assurance que c’est bien fait; ce qui, il faut l’avouer, est tout de même assez vrai, à partir du moment où on accepte la lourdeur de base que ça implique. Maintenant comme dans toute mode, il y a beaucoup de gens qui font des SPA juste parce que c’est cool (ça l’est, je reconnais), même si ça n’a strictement aucun intérêt dans leur cas; comme qui dirait: quand on a un marteau doré, tout resemble à un clou.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte