IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VueJS Discussion :

Gestion du routing/navigation d'une application vue.js dans electron


Sujet :

VueJS

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 76
    Points : 58
    Points
    58
    Par défaut Gestion du routing/navigation d'une application vue.js dans electron
    Bonjour à tous,

    Dans le cadre d'une utilisation de vue.js dans une application RIA(Desktop) avec electron, j'aimerais savoir comment procéder pour gérer la navigation à l'intérieur de son application desktop.
    Etant donné que ce n'est plus à proprement parlé un site web dans un navigateur web je commence à douter sur la facon de s'y prendre :
    - Dois-je encore utiliser des urls ?
    - la finalité d'une url correspond à un template ou un component vue.js ?
    - dois-je effectuer des liens a href qui pointe directement vers des pages html ?
    - faut-il mettre en place une logique Javascript de suppression d’éléments du DOM pour en ajouter d'autres ?

    L'ensemble des tutos, explications et exemples ce base sur un concept de Single Page website qui ne permet pas de se faire une idée précise sur la question.

    Attention : ma question repose sur le fait que vue.js est utilisé avec electron pour créé une application desktop pas un site web.

    Qu'en pensez-vous ?

  2. #2
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    C'est comme pour Cordova ( pour générer des applications mobiles pour Android / IPhone ), ta webapp est embarquée dans une sorte de container qui contient le moteur d'exécution d'un navigateur donc pour ta webapp ça change pas grand chose à part que Cordova est capable d'exposer à ton appli des fonctionnalités natives qui ne sont pas accessibles depuis un client léger (gps, contacts, etc ...).

    J'imagine que ça doit être à peu près pareil avec Electron notamment pour la gestion du filesystem.

    En dehors de ça ton architecture est identique, ça doit rester une SPA simplement les urls ne seront pas visible pour l'utilisateur.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 76
    Points : 58
    Points
    58
    Par défaut
    Même une application possédant des centaines d'écrans ou pages ou menus est et/ou doit être considérée comme une SPA ?
    Pour moi la question est importante car j'utilise actuellement vue.js pour coder mon application et on attribue fortement cette techno pour des appli SPA.
    Si mon applis ne doit pas être considéré comme une SPA alors il faudrait peut-être que je m'oriente vers une autre techno que vue.js dans ce cas ? (Angular, React)

  4. #4
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Même une application possédant des centaines d'écrans ou pages ou menus est et/ou doit être considérée comme une SPA ?
    Tu confonds la notion de page et de vue (au sens de view).

    Une page c'est une page web, elle est servie par un serveur web, bref c'est un fichier html autonome il contient des meta informations permettant de dire dans quelle version du html il faut l'interpréter et il contient des liens vers les ressources nécessaires à l'exploitation de la page (css, JavaScript, ...).

    Un site web classique c'est une collection de pages web. Individuellement elles sont autonomes, elles sont soit statiquement présentes sur le serveur web soit générées par le serveur web. On appelle ça le templating côté serveur (cf vieille technos web à base de Java / PHP / C# / Python, etc ...).

    Une application web moderne (une SPA pour Single Page Application) c'est une seule page. Le index.html. Cette page contient beaucoup de JavaScript qui sert à générer des vues. Tout est manipulé en JavaScript. Le client se connecte à ton serveur web, il téléchargement la page web unique et toutes les ressources associées d'un seul coup. Ceci fait l'application JavaScript démarre et télécharge les données via des API REST (ou XML parfois) au fil de l'utilisation de l'application par le client. Il n'y a plus d'aller et retour avec le serveur web pour générer les vues, et le client ne demande aucun page web. Le client s'occupe de gérer le DOM lui-même, on parle donc de templating côté client.

    Dans le contexte d'une SPA, une vue ce n'est rien d'autre qu'un composant, donc un triptyque JavaScript / html / css qui permet de décrire le composant. Ce composant n'est pas autonome comme un page web, il est exécuté dans le contexte de l'application web par l'application web.

    Les frameworks et bibliothèques comme Angular, React, Vue, etc ... servent à développer des SPA. Il ne faut pas les utiliser dans un contexte de templating côté serveur.

    Le nombre de menus et de vues n'a absolument aucun rapport avec la nature de l'architecture de l'application. J'ai déjà travaillé sur des SPA contenant des centaines de vues (c'est déconseillé d'en avoir autant, il vaut mieux split en plusieurs applis mais pour une appli desktop via Electron ça peut le faire).
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 76
    Points : 58
    Points
    58
    Par défaut
    Merci pour ta réponse détaillé.

    Je vais donc rester sur Vue.js et utiliser vue-router.js pour ma navigation qui ciblera apparemment mes composants root afin que l'ensemble de l'écran change suivant les composant fils du composant root selectionné par la route.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MVC] Gestion des ressources statiques d'une application Spring MVC
    Par batanga09 dans le forum Spring Web
    Réponses: 5
    Dernier message: 11/08/2016, 07h22
  2. [2.x] Gestion de la configuration d'une application
    Par jsilvestre dans le forum Symfony
    Réponses: 0
    Dernier message: 07/11/2011, 01h29
  3. [MCD] Gestion de droits complexes sur une application
    Par Le Barde dans le forum Schéma
    Réponses: 1
    Dernier message: 29/08/2011, 10h05
  4. Réponses: 5
    Dernier message: 09/10/2007, 20h49
  5. Réponses: 1
    Dernier message: 31/10/2002, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo