Partage
  • Partager sur Facebook
  • Partager sur Twitter

vanilla.js, qu'est ce que c'est exactement ?

Sujet résolu
2 décembre 2015 à 17:44:31

Bonjour, je m'intéresse actuellement aux différents framework JavaScript, et je suis intrigué par l'un d'entre eux : vanilla.js.

Il y a un point qui m'étonne avec ce framework, c'est que quand je regarde ses exemples d'utilisation (sur la page http://vanilla-js.com/), j'ai l'impression de lire du JavaScript pure. De plus, je n'ai pas pu m'empêcher de remarquer qu'au pied de la même page web, on trouve un lien vers la documentation JavaScript de Mozilla, et que celle-ci est présenté comme la documentation du framework, ce qui est étrange. 

Donc, si j'ai bien compris, tout cela est en faite une manière de dire que vanilla.js est une réécriture de JavaScript, mais en mieux. Est-ce bien cela ? 

Ps : excusez-moi d'avoir publier cette question dans "HTML/CSS", je ne me suis rendu compte qu'après que je m'étais trompé de section (la section JavaScript est plus adapté). 

-
Edité par StormerOne 2 décembre 2015 à 17:59:04

  • Partager sur Facebook
  • Partager sur Twitter
2 décembre 2015 à 17:53:46

On parle souvent de version vanilla pour parler de la version "de base", alors j'imagine que c'est effectivement la version non modifiée.
  • Partager sur Facebook
  • Partager sur Twitter
2 décembre 2015 à 17:56:44

En gros, lavée de toutes les spécificités des différents navigateurs qui compliquaient le langage.  

-
Edité par StormerOne 2 décembre 2015 à 18:01:13

  • Partager sur Facebook
  • Partager sur Twitter
2 décembre 2015 à 18:03:10

Surtout sans framework.

Le site est une blague. Il montre à quel point le javascript "core" est plus performant que les actions jQuery ou autre, il te propose de télécharger un fichier de 0octet quel que soient les options que tu choisis (puisque toutes les fonctionnalités sont des fonctionnalités de base).

  • Partager sur Facebook
  • Partager sur Twitter
2 décembre 2015 à 18:10:25

Ah mince ! Je me suis fait complètement avoir. :'( J'ai honte.

En même temps, vu comment JavaScript varie d'un navigateur à un autre, je trouvais que l'idée d'un outil pour remettre de l'ordre dans tout ça était plutôt bonne. 

Mais bien que ce soit une blague, ça laisse à réfléchir malgré tout. Je ne repars pas les mains vides. 

-
Edité par StormerOne 2 décembre 2015 à 18:14:43

  • Partager sur Facebook
  • Partager sur Twitter
2 décembre 2015 à 19:01:25

Ce qui est intéressant sur ce site, ce sont les comparatifs de vitesse:

un document.getElementById('test-table'); 35 fois plus rapide (!) en JS pur qu'en jQuery

et pour sélectionner un élément par son tag (document.getElementsByTagName("span");), le rapport est de 425 fois !!

A méditer par les monomaniaques de jQuery...

Voir aussi: 

http://youmightnotneedjquery.com/?hn et http://www.leebrimelow.com/native-methods-jquery/

  • Partager sur Facebook
  • Partager sur Twitter
"La Vérité doit être dite, le monde dût-il en voler en éclats"  (J. G. Fichte)
2 décembre 2015 à 19:06:02

C'est ce que j'étais entrain de me dire. Dommage que JavaScript pure soit autant en désordre.
  • Partager sur Facebook
  • Partager sur Twitter
2 décembre 2015 à 19:27:16

clement961 a écrit:

C'est ce que j'étais entrain de me dire. Dommage que JavaScript pure soit autant en désordre.


Comme tu dis ; et que des successeurs-remplaçants mieux structurés comme Dart de Google aient, si je ne m'abuse, plus ou moins jeté l'éponge malgré la qualité et la compatibilité du langage...
  • Partager sur Facebook
  • Partager sur Twitter
"La Vérité doit être dite, le monde dût-il en voler en éclats"  (J. G. Fichte)
2 décembre 2015 à 19:55:42

Marrant en reproduisant le test jQuery vs getDocumentById je trouve un facteur de différence de 7. Si on prend en compte que le test est complètement biaisé vu qu'on teste jQuery qui fait bien plus que juste trouver un élément par son ID (il faudrait tester Sizzle en fait) et qu'il peut utiliser l'API native j'appelle ça du bullshit marketing.

Si des gens y croient et trouvent ça sympa de devoir faire du polyfill et des corrections de bugs à tout va, grand bien leur fasse, mais faut pas non plus prendre les utilisateurs de jQuery pour des cons.

  • Partager sur Facebook
  • Partager sur Twitter
Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
2 décembre 2015 à 20:13:52

@nightmat: Il est sûr que tous ces comparatifs sont infiniment sujets à débats et personne ne nie l'intérêt de jQuery, mais c'est souvent une facilité dont on abuse ; par exemple:

/* jQuery */
  $(".my-class li:first-child")
 
  /* native equivalent */
  document.querySelectorAll(".my-class li:first-child") 

C'est un peu plus long en JS pur, mais probablement beaucoup plus rapide dans une boucle même si ce n'est pas dans les proportions indiquées sur le site vanilla.js...

  • Partager sur Facebook
  • Partager sur Twitter
"La Vérité doit être dite, le monde dût-il en voler en éclats"  (J. G. Fichte)
2 décembre 2015 à 20:49:24

Je me dis finalement que pour le codage côté client, rien ne vaut les codes que l'ont fait soi même. C'est certes plus long à coder, mais c'est plus efficace et beaucoup moins lourd à charger (pas de code inutile).
  • Partager sur Facebook
  • Partager sur Twitter