Retour aux articles
  • 04.04.2022

Polymer est-il l’avenir du développement front-end ?

Polymer est-il l’avenir du développement front-end ?

PolymerJS est une autre bibliothèque JavaScript open-source permettant d'utiliser des composants web pour créer des applications web.

 

Développée par des développeurs de Google et publiée sur GitHub, PolymerJS est conçue pour imiter les fonctionnalités présentes sur la plateforme web pour construire des composants. C'est la meilleure bibliothèque pour introduire une structuration interactive des applications en compilant des composants.

 

Elle est utilisée par les services de Google et de nombreuses autres plateformes. La popularité de PolymerJS sur le marché peut être attribuée à ses procédures de conception structurées, à savoir les composants. La raison même pour laquelle ils ont renforcé le support des composants web et disposent de modules hors ligne exceptionnels par rapport à React.

 

Table des matières

Quels sont les caractéristiques de Polymer ?

Quels sont les avantages et inconvénients de Polymer JS ?

Devriez-vous utiliser PolymerJS ? La réalité !

Quels sont les aspérités de Polymer ?

 

Quels sont les caractéristiques de Polymer ?

La bibliothèque PolymerJS est conçue avec les meilleures API des normes Web, ce qui permet de créer des éléments HTML personnalisés.

Il y a une possibilité de créer vos propres modules réutilisables et personnalisables en utilisant les spécifications des composants Web polyfills.

Grâce à la fonction de propriétés calculées, vous pouvez afficher les mises à jour automatiquement lorsqu'une valeur calculée change.

Avec la fonction de mise en page des applications, vous pouvez créer des conceptions réactives.

Prise en charge du développement rapide et facile d'applications hybrides

Créez des événements gestuels.

Fournit une liaison de données unidirectionnelle et bidirectionnelle pour garantir une liaison unidirectionnelle.

Shadow DOM : Il encapsule les CSS, JavaScript et les modèles pour que le code de vos composants Web reste modulaire et séparé du reste du DOM.

Quels sont les avantages et inconvénients de PolymerJS ?

Quels sont les avantages de Polymer JS ?

  • Il vous permet de créer des composants qui faciliteront la compréhension du fonctionnement d'un même composant. Cela vous préparera à écrire des plugins en JavaScript.
  • Il vous donne la liberté de créer ce que les gens désirent. 
  • Tout sera stocké dans des éléments et les codes sans importance seront éliminés automatiquement.
  • Réduit l'écart entre le développeur et le concepteur.
  • Il assure un équilibre de travail entre le designer qui travaille sur l'UX de la page Web et les développeurs qui sont plus concernés par la fonctionnalité de la page Web. Grâce aux éléments polymères (thèmes et designs), les développeurs n'ont pas à modifier le code source de pages Web complexes pour qu'il corresponde aux spécifications du concepteur.
  • Il est trois fois plus rapide sur Chrome et quatre fois plus rapide lorsqu'il est utilisé avec Safari. On estime qu'il est plus pratique et plus facile pour les développeurs de créer des applications et des sites Web riches en fonctionnalités.

Quels sont les inconvénients de Polymer JS ?

  • La création de composants pour chaque navigateur prend beaucoup de temps. Vous devrez savoir comment les différents navigateurs fonctionnent avec le DOM caché.
  • Les performances seront relativement lentes lorsque vous utiliserez des appareils mobiles, car ces derniers ne disposent pas d'un moteur JS aussi puissant que celui du Web.
  • Il n'y a pas de clarté sur la façon dont vous pouvez organiser des applications plus grandes en utilisant Polymer JS.
  • Nécessite le téléchargement de la bibliothèque entière et des Polyfills.

Devriez-vous utiliser PolymerJS ? La réalité !

Sur le papier, PolymerJS a une approche séduisante, mais c'est une idée en avance sur son temps. Polymer JS impose au navigateur plusieurs exigences en matière de composants en s'appuyant sur des technologies qui sont encore en cours de normalisation (par le W3C) et qui doivent encore être intégrées dans les navigateurs. Parmi les exemples, citons le shadow dom, les éléments de modèle, les éléments personnalisés, les importations HTML, les observateurs de mutation, les vues orientées modèle, les événements de pointeur et les animations Web. Ce sont d'excellentes technologies, mais pour l'instant, elles ne sont pas disponibles sur les navigateurs modernes. Polymer est basé sur la stratégie consistant à faire en sorte que les développeurs front-end utilisent ces technologies encore à venir qui sont actuellement en cours de normalisation (par le W3C) lorsqu'elles sont lancées sur ces navigateurs.

Pour combler cette lacune, Polymer suggère l'utilisation de polyfills (code JavaScript téléchargeable qui fournit des fonctionnalités qui ne sont pas encore intégrées aux navigateurs). Ces polyfills sont conçus de telle sorte qu'ils peuvent être facilement remplacés lorsque les navigateurs natifs introduisent ces technologies.

Quels sont les aspérités de Polymer ?

Compte tenu de la nouveauté de la technologie Polymer, les développeurs d'applications novices peuvent la trouver un peu fragile en raison de certaines difficultés rencontrées.

Pas assez de documentation et de conseils

PolymerJS ne dispose pas d'une documentation sur tous les éléments, qu'ils soient ou non liés à l'interface utilisateur. Le seul guide disponible est parfois un code de démonstration. Parfois, il faut accéder au code source d'un élément de polymère pour comprendre comment il doit fonctionner.

L'organisation des grandes applications n'est pas claire. Les questions concernant le passage d'objets singletons entre les éléments et la stratégie à choisir pour tester les éléments personnalisés ne sont notamment pas clarifiées. Les conseils et les informations disponibles sont rares à l'heure actuelle.

Erreurs de dépendance et versions

Vous rencontrerez des erreurs de dépendance qui indiquent des dépendances de versions différentes même dans les mêmes éléments, même si vous téléchargez les éléments Polymer.js comme recommandé. Il a déjà été établi que Ploymer.js est actuellement en cours de développement en ce qui concerne les problèmes de l'élément, mais il peut rendre le développement difficile, ce qui pourrait décourager les développeurs de travailler avec lui.

Problèmes liés aux plateformes mobiles

Les performances de Polymer JS sur les plateformes mobile ne sont rien de moins qu'une expérience frustrante.

Le téléchargement de l'ensemble de la bibliothèque et des polyfills peut être pénible car le processus est lent. Vous devez également télécharger chaque élément que vous utiliserez.

Le traitement des bibliothèques, des polyfills et des éléments personnalisés est une tâche coûteuse sur les plateformes de téléphonie mobile. Le processus est lent, à tel point que même après avoir terminé le téléchargement, vous pouvez avoir à supporter un écran vide pendant quelques secondes.

Des fonctionnalités comme le glisser-déposer et d'autres qui fonctionnent parfaitement sur le bureau ne fonctionnent pas ou ne sont pas prises en charge sur les appareils mobiles.

Rapports d'erreur confus et insuffisants

Vous pouvez simplement recevoir un message d'erreur sur la console si vous brisez quelque chose lié à la couche de base elle-même ou si vous orthographiez mal un attribut. Parfois, vous pouvez déterminer où se situe le problème, et parfois vous ne pouvez pas identifier la source du problème, ce qui peut être vraiment frustrant.

Conclusion

PolymerJS est une technologie intéressante, mais elle est encore en phase de développement et n'est pas entièrement fonctionnelle. Pour l'instant, on ne peut pas compter sur elle pour développer des applications d'entreprise à grande échelle prêtes à être mises en production, mais une fois qu'elle sera terminée, les choses pourront changer de façon exponentielle. En dehors de cela, il n'y a pas beaucoup de guides et de tutoriels disponibles expliquant le fonctionnement de PolymerJS.

Polymer a des arguments convaincants, mais l'opposition à ce projet existe et ne peut être mise de côté. Nous devrons attendre et voir comment il se comportera lorsque tout sera terminé.