EGJS : suite de composants JavaScript pour interfaces web interactives
📌 EGJS est une suite de composants JavaScript open-source développée par Naver, conçue pour offrir la manière la plus simple et rapide de construire des applications web interactives. La bibliothèque se décompose en modules spécialisés couvrant les besoins courants d’interfaces modernes : carousels interactifs avec Flicking, grilles infinies avec InfiniteGrid, détection de chargement média avec ImReady, parsing user-agent avec Agent, et gestion du cache navigation avec Persist. Chaque composant est utilisable indépendamment ou en combinaison avec d’autres, permettant aux développeurs de composer exactement l’expérience souhaitée sans la surcharge d’un framework monolithique. La philosophie d’egjs privilégie la modularité, la performance et la compatibilité multi-frameworks via CFCs qui permet d’utiliser le même code avec React, Angular, Svelte ou Vue selon les conventions de chacun.
L’architecture modulaire d’egjs permet d’intégrer uniquement les composants nécessaires, chaque module ayant une footprint minimale : Flicking pèse 69kb minifié, InfiniteGrid 25kb, Axes 50kb. La compatibilité ascendante est assurée par des versions stables et une API cohérente entre modules. CFCs (Code For Components Compatible) est la couche d’abstraction qui permet d’écrire une fois et déployer sur plusieurs frameworks JavaScript, adaptant automatiquement les patterns de réactivité et cycle de vie selon le framework cible. Pour les cas d’usage nécessitant une gestion d’état persistant, Persist fournit une interface cache qui préserve les données entre navigations histoire, évitant la perte de formulaire ou scroll position lors des allers-retours browser. ImReady détecte le chargement des images et vidéos pour déclencher des actions seulement lorsque le média est prêt, améliorant la perception de performance.
Points clés:
- 🎠 Flicking — Carousel interactif avec swipe, rebond, rotation 3D, recyclage DOM
- 📜 InfiniteGrid — Grille infinie masonry/justified avec recyclage automatique
- ↪️ View360 — Viewer rotation 360° pour panoramiques et produits
- 🎮 View3D — Visualiseur modèles 3D basé three.js avec support AR
- 📱 Axes — Coordonnées virtuelles unifiant touch et souris pour interactions
- 🕵️ Agent — Parsing user-agent pour détection navigateur et OS
- 💾 Persist — Interface cache pour données entre navigations histoire
- 🖼️ ImReady — Détection chargement images et vidéos
- 🔧 CFCs — Code unique pour React, Angular, Svelte, Vue
- ⚡ Léger — Modules minifiés 3-69kb selon fonctionnalité
- 🌐 Cross-browser — Compatibilité tous navigateurs modernes
- 📦 Modulaire — Utilisez uniquement les composants nécessaires
- 🇰🇷 Naver — Open-source par l’équipe Naver, support continu
egjs s’adresse aux personnes qui cherchent des composants éprouvés sans dépendre d’un écosystème propriétaire. L’approche modulaire évite la surcharge de bibliothèques tout-en-un alors qu’on n’a besoin que d’un carousel ou d’une grille infinie. La compatibilité multi-frameworks via CFCs future-proof les investissements code : une même implémentation peut vivre dans un projet React aujourd’hui et migrer vers Svelte demain sans réécriture complète. Les composants sont utilisés en production sur des sites à fort trafic, validant leur robustesse et performance. La documentation complète, les exemples interactifs et le support GitHub font d’egjs une alternative crédible aux solutions commerciales pour les patterns d’interface courants.
