As I’ve mentioned (many times) before, this blog is not about bad-mouthing jQuery. jQuery is, without a doubt, ubiquitous in the world of web development. In the earlier days of web development, jQuery was required to smooth out the significant implementation differences and bugs found in various browsers when dealing with the DOM and the Web API as a whole. Also, the Web API was quite primitive at the time, in some respects, and jQuery helped to make development a bit more intuitive.
Browsers, and the Web API, have come a long way in the last several years. You can do a lot without jQuery, and I have mostly avoided jQuery in my new projects for the last several years. The jQuery approach may take less keystrokes, or look a bit more elegant in some cases. That’s fine, but the point of this blog isn’t to help you reduce the number of keystrokes, or write more beautiful code.
Quand il n’y en a plus, il y en a encore :-). On était passés un peu rapidement sur jQuery la dernière fois alors les étudiants en redemandent. Suite à une sondage à la représentativité douteuse sur Twitter, je me suis rendu compte que jQuery n’était plus utilisé que pour quelques raisons :
- la compatibilité IE8
- le support du code existant et de sa qualité inégale selon les intervenants
- l’inclusion par défaut dans Bootstrap
J’exclus la première raison vu que j’enseigne pour aujourd’hui et demain. Je mets de côté la seconde car il faudrait les mettre en situation avec du code en production et je peux difficilement gérer ce type d’interactions à 24. Il reste l’intégration de morceaux de code existants et/ou celui de Bootstrap. C’est assez éloigné d’un carousel ou d’une galerie d’images comme ils me l’avaient demandé mais ça me semble plus pertinent (et de toute façon ça existe maintenant en vanilla-js).
Partons sur un exemple concret à base de gabarits sous Creative Commons et d’images libres de droits, ça changera des images récupérées sous Google Images et du copier/coller d’anciens projets. Premier exercice, intégrer jQuery dans une maquette existante. Deuxième exercice, animer une partie de manière pertinente pour l’utilisateur. Troisième exercice, vérifier que c’est beaucoup plus compliqué à faire en CSS ou JS (c’est le moment d’introduire You Don’t Need jQuery! de manière très subtile !). Quatrième exercice, explorer Bootstrap et ce qui utilise réellement jQuery dans les différents composants/animations proposés et la notion de plugins.
Ce sera aussi l’occasion de reparler de la correction précédente de l’auto-évaluation et des notes qui en ont découlées. Donner quelques derniers conseils pratiques notamment sur les styleguides. Et pour terminer ? Une petite note récente du W3C au sujet des différences HTML4/HTML5 ça peut toujours servir.
Il est temps qu’ils aillent faire leurs propres expériences, j’espère les recroiser.