VueJS, quel intérêt ?

a marqué ce sujet comme résolu.

Hello ! :)

Je vois beaucoup de développeur qui disent que Laravel + Vue c’est le combo parfait (bon, c’est très subjectif…).

Du coup, j’ai regardé vite fait Vue, et je vois aucun intérêt de l’utiliser.

J’ai l’impression que ça complique le développement pour rien. C’est quoi l’intérêt de l’utiliser ?

Je veux dire, que j’affiche la liste des articles d’un blog avec Blade ou Vue, ça change rien, à part qu’il me faut 30 lignes de plus pour Vue.

D’autant plus qu’avec Blade, je peux faire ceci :

$post->user()->name

Ce qui est impossible avec Vue (j’ai juste l’ID de l’utilisateur).

Et je parle pas des API avec l’authentification. Pour reprendre mon exemple du blog, j’ai un bouton "Supprimer cet article" et lorsque je clique dessus, ça me dirige vers le Controller qui supprime le post puis me redirige vers la page précédente.

Avec Vue, faut que j’appel l’URL qui permet de supprimer un article, mais je dois lui passer en plus un token pour vérifier que l’utilisateur est bien connecté et qu’il à le droit de supprimer cet article.

Bref, j’ai l’impression que d’utiliser ce genre d’outil, ça complique et alourdi le code pour aucun avantage.

Sauf que si je post ici, c’est que je me dit que j’ai sans doute raté quelque chose. J’ai obligatoirement mal compris comment ça fonctionne, sinon je vois pas pourquoi tant de développeur l’utilise. :p

Quelqu’un peut-il m’éclairer ?

+0 -0

Coucou FougereBle,

Alors, pour poser les choses, je ne fais plus de PHP depuis quelques années (je fais du Node.js), je n’ai jamais utilisé Laravel, mais je peux quand même apporter des éléments de réponse.

Déjà je peu te conseiller de lire cet article (deuxième lien sur DuckDuckGo avec comme mot clef : laravel vue) et tu notera également dans le début de la section « The Server-Side » qu’il est tout à fait possible d’utiliser Blade avec Vue.

Et je parle pas des API avec l’authentification. Pour reprendre mon exemple du blog, j’ai un bouton "Supprimer cet article" et lorsque je clique dessus, ça me dirige vers le Controller qui supprime le post puis me redirige vers la page précédente.

Avec Vue, faut que j’appel l’URL qui permet de supprimer un article, mais je dois lui passer en plus un token pour vérifier que l’utilisateur est bien connecté et qu’il à le droit de supprimer cet article.

Ça c’est parce qu’en fait tu n’as (de mon point de vue) rien compris à ce que j’appelle, le « web contemporain », ou web actuel. nous sommes en 2018, faire naviguer l’utilisateur sur différentes pages et le faire recharger l’intégralité de la page à chaque fois, tu m’excuseras mais c’est un petit peut has been. C’est pour cela que des frameworks comme Vue, React ou encore Angular existe. Ils te permettent de faire du SPA (Single Page Application). C’est un système qui te permet de ne pas à avoir à recharger toute la page lorsque tu navigues sur ton site. Ça permet de consommer moins de bande passante, d’avoir un site plus rapide à charger et donc plus fluide pour l’utilisateur.

Tu cable cela généralement à une API. Et là tu à deux écoles (pas forcément incompatibles) :

  • soit tu ne télécharge que le front sur le client, et c’est après le JS via des appelles API (REST, Graph Ql, What Ever You want) qui se charge d’aller chercher les données
  • ou tu télécharge les données en même temps que le front et tu peux par exemple aller check s’il y a du nouveau contenu tous les X temps (ou utiliser un pattern subscriber-subscribed comme Meteor).

En espérant que ma réponse te soit utile (et pas toxique).

+1 -1

@Heziode la 1ere partie de ta réponse me gène beaucoup. On ne fait pas du vue/angular/react ou même node.js parce que le reste est "has been"

L’expérience utilisateur est différente et doit être privilégiée.

Une SPA, comme l’indique son nom est fait pour des applications web (un webmail, un dashboard, … ) et selon moi pas des sites web (un site d’actualité, un blog).

Pour un site web, je trouve que c’est même contre productif.

(Le SPA est different du principe qui consiste a ne pas recharger l’integralite de la page a chaque action. Le SPA est en quelque sorte l’exemple extreme de ce principe.)

KFC

Tout à fait, je me suis mal exprimé.

@Heziode la 1ere partie de ta réponse me gène beaucoup. On ne fait pas du vue/angular/react ou même node.js parce que le reste est "has been"

Leeroy Jenkins

Ça c’est parce que j’ai tendance à être un peu extrémiste sur certaines de mes visions des choses.

L’expérience utilisateur est différente et doit être privilégiée.

Une SPA, comme l’indique son nom est fait pour des applications web (un webmail, un dashboard, … ) et selon moi pas des sites web (un site d’actualité, un blog).

Pour un site web, je trouve que c’est même contre productif.

Leeroy Jenkins

Je comprends ton point de vue. Moi je pense le contraire. Un site web peut tout à faite être représenté sous forme de web-app (je n’ai pas de contre-arguments qui me viennent à l’esprit). Mais les deux idées se valent je pense.

Ça c’est parce qu’en fait tu n’as (de mon point de vue) rien compris à ce que j’appelle, le « web contemporain », ou web actuel. nous sommes en 2018, faire naviguer l’utilisateur sur différentes pages et le faire recharger l’intégralité de la page à chaque fois, tu m’excuseras mais c’est un petit peut has been. C’est pour cela que des frameworks comme Vue, React ou encore Angular existe. Ils te permettent de faire du SPA (Single Page Application). C’est un système qui te permet de ne pas à avoir à recharger toute la page lorsque tu navigues sur ton site. Ça permet de consommer moins de bande passante, d’avoir un site plus rapide à charger et donc plus fluide pour l’utilisateur.

Heziode

Aaaaaaaaahhhhhhhh. Autant les SPA sont utiles pour certains trucs, autant généraliser c’est mal. Quand une page décide d’override le comportement classique des liens, j’ai tendance à partir vite. Il y a pleins d’autres problèmes avec les SPA, mais je suis sûr qu’il y a un paquet d’articles qui en parlent très bien sur internet.

Aaaaaaaaahhhhhhhh. Autant les SPA sont utiles pour certains trucs, autant généraliser c’est mal. Quand une page décide d’override le comportement classique des liens, j’ai tendance à partir vite. Il y a pleins d’autres problèmes avec les SPA, mais je suis sûr qu’il y a un paquet d’articles qui en parlent très bien sur internet.

IL y a cet article que je trouve bien sur le sujet: https://adamsilver.io/articles/the-disadvantages-of-single-page-applications/ AVec quelques autres liens très intéressants à l’intérieur.

J’approuve les arguments donnés: accessibilité et référencement plus difficiles voire carrément problématiques, surcharge de fonctionnalités natives qu’à peu près personne ne reproduit correctement jusqu’au bout avec mention spéciale sur le bouton précédent et la mémorisation de la position du scroll), …

ET effectivement, le problème aujourd’hui, c’est que la plupart des gens sont convaincus que les SPA c’est l’avenir et qu’il faut en mettre partout, et que si tu n’en fais pas tu es has been. Du coup 90% des sites que je visite régulièrement sont des SPA qui, au fond, n’ont aucun intérêt à l’être.

Donc, mesurez bien les implications avant de foncer tête bessée dans une SPA plutôt qu’un site classique.

+0 -0

Merci à tous pour vos réponses. :)

Donc si je comprend bien, utiliser Vue (ou autre) c’est bien mais uniquement pour des applications web (webmail, etc…) mais pas pour des sites "classiques" ?

Par exemple, un blog, 'faut pas utiliser Vue, un AirBnB non plus… c’est ça ?

+0 -0

ca n’engage que moi, mais je pense que oui.

Une SPA te permet d’offrir une application en ligne, avecdes fonctionnalités, une interaction importante. L’utilisateur a besoin de passer plusieurs étapes avant d’obtenir un graal, mais il n’a que faire de conserver l’historique des diverses étapes.

Par exemple, quand tu vas sur ton webmail, tu veux consulter un mail d’il y a 10 jours, tu vas faire ta recherche, consulter, répondre, … tu vas changer ton profil, tes contacts, …tu as une intéraction forte avec l’app , que tout soit dans la même page est un gros avantage.

  • un site web de type blog, a tout a perdre avec une SPA. le référencement est très problématique, idem pour les statistiques… l’utilisateur ne vas faire que lire… ce n’est pas la même expérience utilisateur.

Selon moi un bon developpeur choisi le langage selon le projet.

le référencement est très problématique, idem pour les statistiques… l’utilisateur ne vas faire que lire… ce n’est pas la même expérience utilisateur.

Selon moi un bon developpeur choisi le langage selon le projet.

Leeroy Jenkins

Oui enfin… il existe quand même le SSR pour pallier à ce problème. Alors oui, ça sent le workaround plus ou moins foireux (me dirons certains :P), mais ça fait le taf.

Par exemple, un blog, 'faut pas utiliser Vue, un AirBnB non plus… c’est ça ?

FougereBle

Si tu veux coder un back office complet utiliser Vue est intéressant.

Oui enfin… il existe quand même le SSR pour pallier à ce problème. Alors oui, ça sent le workaround plus ou moins foireux (me dirons certains :P), mais ça fait le taf.

Heziode

Assez simple avec Nuxt.

+1 -0

Oui enfin… il existe quand même le SSR pour pallier à ce problème. Alors oui, ça sent le workaround plus ou moins foireux (me dirons certains :P), mais ça fait le taf.

Sauf que c’est un peu mettre une surcouche pour réparer la surcouche d’en-dessous. Autant se débarrasser des deux couches non ?

ET c’est oublier un peu trop vite que PHP a initialement été créé pour être un moteur de template.

Pour un blog, on peut même simplifier à l’extrême en faisant un site web totalement statique. De plus en plus de gens font ça, et délèguent les commentaires (s’ils en veulent) à un système externe comme discus.

+2 -0

@EtienneR

Je connais relativement bien Nuxt, je l’utilise pour un de mes projets en prod. Là il n’y a pas du tout de SSR, ça se rapproche un peu de ce que disait @QuentinC, le site est généré et du coup c’est un simple site statique hébergé sur Github. Là le SEO est géré à « la compilation » et le site est plutôt bien référéncé pour le coup.

+0 -0

On en revient toujours au Vouloir, Pouvoir, Devoir…

Oui on peut utiliser des surcouches, des hacks, des librairies, qui vont contourner les problèmes, mais est ce que je dois.

Concernant le dashboard d’un blog:

  • est ce que je veux vuejs et un SPA, oui parce que je suis un geek hype qui rox (c’est has been ça non?)
  • est ce que je peux, certainement
  • est ce que je dois, oui, car l’expérience utilisateur en sera meilleure

Concernant les posts du blog

  • est ce que je veux vuejs et un SPA, oui parce que je suis un geek hype qui rox
  • est ce que je peux, certainement
  • est ce que je dois, non, car l’expérience utilisateur en sera moins bonne.
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