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

Conception Web Discussion :

Les Web Components, pour le meilleur et pour le pire [Débat]


Sujet :

Conception Web

  1. #21
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    :scope a été retiré à cause d'un manque d'intérêt de la part des éditeurs de navigateurs. Plus d'infos ici : https://github.com/whatwg/html/issues/552

    Ça ne m'étonne pas puisque les styles scopés sont gérés par divers outils au build time. Je les utilise avec Vue.js et vue-loader depuis plus d'un an. Et avec la montée en popularité du CSS in JS, les éditeurs doivent vouloir attendre de voir vers quoi évoluent les solutions build time avant de réfléchir à l'intérêt d'une implémentation runtime. Du moins, c'est mon interprétation.

    Je profite de ce up bienvenu pour dresser un bilan de situation, 3 ans après la publication de l'article:
    - les styles scopés sont abandonnés
    - les imports HTML vont être abandonnés très certainement
    - les Web Components ne sont toujours pas utilisables sur tous les navigateurs evergreen sans polyfill.
    - Polymer n'est ni plus performant ni plus léger que les solutions concurrentes utilisant leur propre format de composant (HOC React et SFC .vue notamment)

    Et un petit billet qui résume bien l'état de pensée : https://dmitriid.com/blog/2017/03/th...eb-components/

    Je sais que mon article n'a pas plu à tout le monde à l'époque, jugé trop critique envers une techno qui n'avait pas encore fait ses preuves, mais le temps ne m'a pas vraiment donné tort...
    One Web to rule them all

  2. #22
    Membre éclairé
    Avatar de Paleo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 242
    Points : 661
    Points
    661
    Par défaut
    Citation Envoyé par SylvainPV Voir le message
    Ça ne m'étonne pas puisque les styles scopés sont gérés par divers outils au build time. Je les utilise avec Vue.js et vue-loader depuis plus d'un an. Et avec la montée en popularité du CSS in JS, les éditeurs doivent vouloir attendre de voir vers quoi évoluent les solutions build time avant de réfléchir à l'intérêt d'une implémentation runtime.
    Parle-t-on des "modules CSS" (CSS modules, React CSS modules, CSS Modules for Vue) ou bien d'autres sortes de solutions ?

  3. #23
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Non, le CSS scopé et les modules CSS sont deux concepts légèrement différents. Vue-loader gère les deux :
    https://vue-loader.vuejs.org/en/feat...coped-css.html
    https://vue-loader.vuejs.org/en/feat...s-modules.html
    One Web to rule them all

  4. #24
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Cinq ans après la publication de cet article, les Web Components ne semblent toujours pas avoir convaincu l'industrie:
    https://dev.to/richharris/why-i-don-...omponents-2cia
    https://adamsilver.io/articles/the-p...eb-components/

    Le support navigateur est toujours imparfait, les polyfills existent mais sont coûteux, et les libs basées sur les Web Components comme Stencil ou Polymer ont dû mal à concurrencer les frameworks les plus populaires. Sur le podium, React Angular et Vue proposent tous des exports au format WC, mais aucun n'a fait le choix d'utiliser ce format par défaut. Aujourd'hui, la tendance est aux compilateurs ahead of time pour précompiler les composants et réduire fortement la taille du code exporté, voire arriver à un objectif zero runtime comme Svelte par exemple. Il devient donc de plus en plus difficile de défendre l'intérêt des Web Components, qui semblent apporter plus de problèmes qu'ils n'en résolvent.
    One Web to rule them all

  5. #25
    Membre éclairé
    Avatar de Paleo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 242
    Points : 661
    Points
    661
    Par défaut
    Je pense aussi que c'est mort.

    Concernant le shadow DOM et son cloisonnement intégral, je comprends mal comment il pourrait être utilisé au niveau des composants d'une application. Il pourrait plutôt j'imagine servir à faire coexister des applications dans une même page web ?

Discussions similaires

  1. Les MOOC sont-ils la meilleure arme pour former les éducateurs ?
    Par Stéphane le calme dans le forum Etudes
    Réponses: 1
    Dernier message: 06/12/2013, 09h49
  2. POO : pour le meilleur et oublions le pire
    Par punkscum dans le forum Langages de programmation
    Réponses: 11
    Dernier message: 24/04/2006, 23h53

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