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

NodeJS Discussion :

Javascript isomorphic, à suivre ?


Sujet :

NodeJS

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Par défaut Javascript isomorphic, à suivre ?
    Bonjour à tous,

    de plus en plus de framework front-end (angular2, react, mithrill, ember...) tendent à devenir isomorphic. C'est à dire que le code peut-être interprété à la fois côté client et serveur. Ceci pour répondre aux contraintes SEO et pour afficher la première page plus rapidement.
    Je me pose la question de l'intérêt réel de cette approche.

    Pour faire bref, un framework MVVC à cette approche :
    1- le serveur envoie du html quasi vide + le framework js
    2- une fois le framework chargé côté client, il appel les données et les vues
    3- une fois qu'il a tout ça, il compile par contrôleur et rend la vue html

    Avantage : les données se retrouvent côté client, donc possibilité de faire du two-way data binding, le serveur n'envoie pas les vues html c'est juste un serveur API CRUD.
    Inconvénient : le contrôle des appels CRUD doit quand même se faire côté serveur. La page initiale html est vide donc c'est mauvais pour le SEO. La gestion du routing doit se faire côté client et serveur.


    Pour ma part, j'ai fait plusieurs sites/app utilisant l'API HTML5*History avec pushstate.
    En gros, côté client, je regarde si le lien appelé est interne, ou si l'utilisateur parcours son historique de navigation. Si c'est le cas, j'intercepte l'appel du lien et je fais une requête ajax à la place pour obtenir les données. A la reception, je compile par un contrôleur et je rend la vue correspondante.
    Côté serveur, je regarde si l'appel est du type xhr. Si c'est le cas, j'envoie seulement les données. Si ce n'est pas le cas, j'affiche l'html correspondant à la route appelée.

    Avantage : Si c'est un appel d'un bot pour du SEO, je renvoie bien la vue intégrale, pas les données. Je ne fais pas du routing côté client. Je peux aussi faire du two-way data binding. C'est compatible no-javascript et old-school-browser.
    Inconvénient : Je suis obligé de gérer mes templates côtés serveur et client. Au premier chargement, je n'ai que la vue, pas les données.

    D'où ma question, si quelqu'un y comprend quelque chose à ce que j'explique, est de savoir si le javascript isomorphic ne cherche pas à réinventer la roue pour pas grand chose ? Et s'il y a un réel intérêt à suivre cette tendance ?

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2016
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 225
    Par défaut
    Ce n'est pas que cela, une histoire de SEO, c'est aussi des librairies qui compilent pour le browser tout autant que le serveur.
    Exemple : https://github.com/feross/webtorrent

    Sinon j'aime bien avoir le choix de compiler mes tags riot.js sur le serveur ou le client en fonction de mes besoins, et sans avoir à tout re faire.

    Si tu as du temps je t'invites à regarder comment substack utilise browserify durant ses démo pour coder
    https://www.youtube.com/results?sear...james+halliday

    D'un autre point de vue cela permet d'éviter de dupliquer les modules pour chaque environnement, donc par exemple je peux utiliser le module url de node dans mon browser si tant est que j'utilise browserfiy ou webpack.

Discussions similaires

  1. Plugin firefox suivre les appels des fonctions javascript
    Par mapmip dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/03/2016, 23h56
  2. javascript avec 2 input a suivre
    Par ultraxa dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 25/10/2012, 16h18
  3. Suivre des cookies avec XMLHttpRequest en JavaScript
    Par Jackernel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2010, 13h07
  4. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    Réponses: 21
    Dernier message: 17/04/2009, 17h14
  5. JavaScript de vérification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/02/2003, 13h48

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