Liens rapides
Dans le monde en constante รฉvolution du dรฉveloppement de sites Web, les dรฉveloppeurs sont constamment ร la recherche d'outils et de technologies permettant d'amรฉliorer l'expรฉrience utilisateur et de simplifier l'interaction avec les sites Web. L'un de ces outils modernes et puissants est la bibliothรจque htmx, qui offre une approche innovante pour un dรฉveloppement de sites Web plus rapide et plus fluide.
La communautรฉ du dรฉveloppement Web a รฉtรฉ trรจs occupรฉe ร parler de HTML ces derniers temps, mais quelle est cette nouvelle technologie passionnante ? Il s'avรจre que c'est beaucoup plus simple que prรฉvu, mais les avantages de HTML peuvent justifier le battage mรฉdiatique.
Dans ce contexte, notre nouvel article explique comment utiliser htmlx pour faciliter et amรฉliorer les performances de votre site web. Nous examinerons les fonctionnalitรฉs de cette technologie et comment elle peut mieux faciliter l'interaction entre l'utilisateur et le site Web. Nous examinerons les cas d'utilisation pour lesquels htmx est le mieux adaptรฉ et comment les dรฉveloppeurs peuvent tirer le meilleur parti de ses capacitรฉs pour rendre un site Web plus interactif. Vรฉrifier Amรฉliorer le dรฉveloppement Web avec des รฉlรฉments HTML crรฉatifs et puissants : conseils pour dรฉvelopper vos compรฉtences.
Qu'est-ce que le HTML ?
htmx est une petite bibliothรจque JavaScript avec un objectif prรฉcis. Il rend les fonctionnalitรฉs JavaScript courantes disponibles via les attributs HTML. Voici un exemple simple :
<a href="/about" hx-get="/about">About</a>
Ce code affiche un attribut HTML Personnalisรฉ, hx-obtenez. Si vous cliquez sur ce lien, la bibliothรจque htmx enverra une demande AJAX Chargement de la page cible sans actualiser complรจtement le navigateur.
htmx a des fonctionnalitรฉs supplรฉmentaires qui vous permettent d'envoyer des requรชtes :
- D'รฉlรฉments autres que a et formulaire.
- Dans les รฉvรฉnements autres que cliquer et soumettre.
- Utilisez des mรฉthodes HTTP autres que รCONOMISEZ et POSTEZ.
- Cela remplace toutes les parties de la page au lieu du tout.
Bien que htmx prenne en charge des technologies telles que les animations CSS et WebSockets, son objectif principal est de simplifier le traitement des requรชtes HTTP.
Comment utiliser HTML dans une application Web simple
htmx gรจre des fonctionnalitรฉs spรฉcifiques au sein des applications Web ou des sites Web, plutรดt que le comportement de l'ensemble de l'application.
Lโun des grands avantages de la bibliothรจque est la facilitรฉ avec laquelle il est possible de commencer ร lโutiliser. Vous pouvez tรฉlรฉcharger et installer une copie si vous le souhaitez, mais comme elle n'a pas de dรฉpendances, il vous suffit pour commencer d'ajouter un lien vers le script sur le CDN :
<script
src="https://unpkg.com/[email protected]"
integrity="sha384-D1Kt99CQMDuVetoL1lrYwg5t+9QdHe7NLX/SoJYkXDFfX37iInKRy5xLSi8nO7UC"
crossorigin="anonymous"></script>
Pour le dรฉveloppement et les tests locaux, vous aurez besoin de : Configurer un serveur Web, comme Apache, si aucun serveur n'est dรฉjร en cours d'exรฉcution. C'est une exigence, mรชme si vous n'expรฉrimentez qu'avec des fichiers statiques, car le protocole file: n'autorise pas les requรชtes AJAX.
Un exemple simple utilisant le dรฉfilement infini
Note: Vous pouvez tรฉlรฉcharger cet exemple simple depuis Rรฉfรฉrentiel GitHub Le sien.
Le dรฉfilement infini est une technique courante utilisรฉe par des sites Web comme Twitter dans leur flux. Lorsque vous arrivez au bas de la liste, le dรฉfilement infini charge plus d'รฉlรฉments pour vous permettre de continuer ร lire.
Cette fonctionnalitรฉ nรฉcessite naturellement JavaScript pour vรฉrifier la position de dรฉfilement de la page et charger de nouveaux รฉlรฉments sans actualiser la page. Mais HTML peut faire tout cela pour vous.
Prenez la balise suivante qui reprรฉsente une liste de publications, en utilisant une image pour chacune :
<ol>
<li><img src="http://placekitten.com/420/300" /></li>
<li><img src="http://placekitten.com/400/320" /></li>
<li><img src="http://placekitten.com/440/300" /></li>
<li><img src="http://placekitten.com/420/340" /></li>
<li><img src="http://placekitten.com/300/200" /></li>
</ol>
Imaginez que vous ayez ces รฉlรฉments dans un fichier, Feed1.html, avec d'autres รฉlรฉments dans Feed2.html, et ainsi de suite. Chaque page affichera alors un petit sous-ensemble d'รฉlรฉments que vous pourrez parcourir :
Dรฉsormais, vous pouvez utiliser les liens Page suivante pour passer d'une page ร une autre, mais vous pouvez รฉgalement facilement implรฉmenter un dรฉfilement infini. Remplacez simplement le dernier รฉlรฉment par :
<li hx-trigger="revealed" hx-get="feed2.html" hx-select="li" hx-swap="afterend">
<img src="http://placekitten.com/300/200" />
</li>
L'ajout de ces quatre attributs ร l'รฉlรฉment de menu final implรฉmente un dรฉfilement infini. Voici ce que signifie chaque attribut :
Attribut | La valeur | Signification |
---|---|---|
dรฉclencheur hx | rรฉvรฉlรฉ | Lorsque cet รฉlรฉment apparaรฎt pour la premiรจre fois ร l'รฉcran... |
hx-obtenir | flux2.html | โฆ envoyer une demande รCONOMISEZ Vers Feed2.html,... |
hx-sรฉlectionner | li | โฆsรฉlectionner des รฉlรฉments li D'aprรจs la rรฉponse,... |
รฉchange hx | fin | ...et ajoutez-le aprรจs cet รฉlรฉment. |
En faisant dรฉfiler la liste, remarquez comment la page charge automatiquement le nouveau contenu. Vous pouvez le confirmer en observant le curseur et en vรฉrifiant les outils de dรฉveloppement dans votre navigateur :
Notez qu'avec cette configuration de page statique simple, la page Feed2.html inclut un รฉlรฉment final avec l'attribut hx-get dรฉfini sur Feed3.html, et ainsi de suite. Notez รฉgalement comment la bibliothรจque htmx a ajoutรฉ un รฉcouteur pour l'รฉvรฉnement scroll. Vรฉrifier Comment arrรชter le dรฉfilement infini pour un site Web spรฉcifique.
Autres utilisations possibles pour htmx
Vous pouvez utiliser HTML pour de nombreuses autres interactions courantes, notamment :
- numรฉrotation des pages: Charge et remplace les รฉlรฉments lorsqu'un visiteur clique sur un lien de pagination.
- Validation du modรจle: Lors de la soumission, remplacez le formulaire soit par un message de confirmation, soit par un sous-ensemble du formulaire.
- Barres de progression : Mettez ร jour pรฉriodiquement la valeur de la barre de progression en fonction de la rรฉponse ping.
- รdition en ligne: Remplacez un รฉlรฉment par une zone de texte contenant la valeur de cet รฉlรฉment.
Chacun de ces exemples peut รชtre crรฉรฉ en utilisant JavaScript standard, mais HTML rend le processus beaucoup plus facile.
Avantages et inconvรฉnients de HTML
Avantages pouvant รชtre obtenus
htmx peut grandement simplifier les interactions courantes, ce qui peut profiter ร de nombreuses applications Web, voire ร de nombreux sites Web. Il permet aux concepteurs et aux autres personnes travaillant avec des pages Web frontales d'ajouter des fonctionnalitรฉs sans avoir ร apprendre JavaScript.
En rรฉsumant les comportements courants, htmx garantit la cohรฉrence entre et entre vos projets. Le dรฉfilement infini se comportera de la mรชme maniรจre dโune page ร lโautre, quel que soit celui qui lโa mis en ลuvre.
Parce qu'il met l'accent sur une approche dรฉclarative (quoi) plutรดt qu'une approche dรฉterministe (comment), la fonctionnalitรฉ de htmx est gรฉnรฉralement plus facile ร comprendre et ร raisonner.
Inconvรฉnients pouvant รชtre rencontrรฉs
Bien que HTML puisse vous permettre dโoublier JavaScript dans de nombreux contextes, il ne peut pas rรฉsoudre tous les problรจmes ร votre place ! Vous devrez toujours รฉcrire du code pour gรฉrer une logique mรฉtier spรฉcifique et des fonctionnalitรฉs de bas niveau.
รtant donnรฉ que HTML fait une grande partie du travail ร votre place, il y a moins de possibilitรฉ de personnaliser le comportement. Il sโagit souvent dโun compromis positif, mais vous devez รชtre prรชt ร abandonner le contrรดle.
HTML peut vous permettre d'รฉviter d'รฉcrire du JavaScript, mais vous devez toujours รชtre conscient que le code JavaScript s'exรฉcute en arriรจre-plan. Vous pourriez รชtre tentรฉ d'utiliser l'attribut hx-get sur chaque lien, au lieu de l'attribut href. Mais cela introduit une dรฉpendance ร JavaScript ; Si le code ne s'exรฉcute pas pour une raison quelconque, vous vous retrouverez avec un lien qui ne fait rien pour les utilisateurs. Vous devez toujours pratiquer une amรฉlioration progressive pour รฉviter cela. Vous pouvez maintenant visualiser Qu'est-ce que JavaScript et comment fonctionne-t-il? Avec du code.