Qu'est-ce que VanillaJS?

688

J'ai une question simple, qui est restée coincée dans mon esprit pendant quelques jours: Qu'est-ce que VanillaJS? Certaines personnes s'y réfèrent comme un framework, vous pouvez télécharger une bibliothèque depuis les pages officielles.

Mais quand je vérifie quelques exemples ou TodoMVC, ils utilisent simplement des fonctions JavaScript brutes classiques sans même inclure la bibliothèque des pages officielles ou quoi que ce soit. Le lien "Docs" sur la page Web officielle mène également à la spécification Mozilla de JavaScript.

Ma question est: VanillaJS est-il du JavaScript brut? Et si oui, pourquoi les gens l'appellent "framework" alors que tout ce dont vous avez besoin est un navigateur sans scripts spéciaux inclus?

Je suis désolé pour une question probablement stupide mais je n'ai aucune idée de quoi les gens parlent quand ils disent "VanillaJS".

user1377911
la source
245
VanillaJS est du Javascript ordinaire. Voilà la blague.
Nelson
30
vanilla-js.com (téléchargez la bibliothèque, cochez toutes les options et examinez le code source pour voir comment c'est fait)
Qantas 94 Heavy
35
Comme la glace à la vanille est fondamentalement simple, "vanille" dans beaucoup d'argot signifie "ordinaire ou ennuyeux"
TecBrat
21
"Taille finale: 0 octet non compressé, 25 octets compressés." J'adore: O)
cronvel
23
Ce qui est vraiment déprimant, c'est qu'il apparaît sur les spécifications du poste comme VanillaJS - tragique le peu de recruteurs qui connaissent les rôles pour lesquels ils recrutent.
Phil Lello

Réponses:

582

C'est VanillaJS (non modifié):

// VanillaJS v1.0
// Released into the Public Domain
// Your code goes here:

Comme vous pouvez le voir, ce n'est pas vraiment un framework ou une bibliothèque. C'est juste un gag en cours d'exécution pour les patrons amateurs de framework ou les personnes qui pensent que vous avez besoin d'utiliser un framework JS. Cela signifie que vous utilisez simplement tout ce que votre navigateur (pour vous-même: non hérité) vous donne (utiliser Vanilla JS lorsque vous travaillez avec des navigateurs hérités est une mauvaise idée).

ThiefMaster
la source
33
Alors, quand vous avez vu que votre wiki communautaire obtenait des votes, vous avez décidé de le supprimer et de le republier?
Blue Skies
22
@BlueSkies: Non. Au départ, ce n'était que la première partie avec le bloc de code. C'est-à-dire une réponse "amusante". C'est pourquoi je l'ai fait. Ensuite, j'ai décidé de le transformer en une bonne réponse car le PO semble avoir posé une question légitime à laquelle il faudrait répondre correctement.
ThiefMaster
4
Eh bien, quand on dit que quelque chose est une "mauvaise idée", on exprime une opinion qui n'est pas nécessairement vraie.
Blue Skies
13
FYI: Vanilla JS est maintenant 0 octets, 25 octets compressés.
Trisped
8
@BlueSkies: Le fait "que JS ordinaire (" vanille ") soit mauvais lorsque vous travaillez avec des navigateurs hérités" n'est pas une opinion, c'est un fait. C'est la raison même pour laquelle des frameworks comme jQuery et d'autres ont été inventés: pour vous simplifier la vie face à l'enfer des incompatibilités de navigateur! :) La seule raison pour laquelle vanilla JS a commencé à revenir en 2016 est que la plupart des navigateurs modernes sont désormais beaucoup plus conformes aux normes qu'ils ne l'étaient dans le passé, vous avez donc besoin de moins en moins de frameworks (surtout si vous êtes un expert en javascript).
Sorin Postelnicu
371

Utiliser "VanillaJS" signifie utiliser du JavaScript simple sans aucune bibliothèque supplémentaire comme jQuery.

Les gens l'utilisent comme une blague pour rappeler aux autres développeurs que beaucoup de choses peuvent être faites de nos jours sans avoir besoin de bibliothèques JavaScript supplémentaires.

Voici un site amusant qui en parle en plaisantant: http://vanilla-js.com/

Koen Peters
la source
3
Le site vanilla-js.com est vraiment drôle :) avec de nombreuses bonnes informations sur VaniliaJs
Mohammad Kermani
74

VanillaJS est un terme pour javascript sans bibliothèque / framework.

Il est parfois ironiquement appelé une bibliothèque, une blague pour les personnes qui pourraient être vues comme utilisant inconsciemment différents cadres, en particulier jQuery.

Certaines personnes sont allées jusqu'à présent pour publier cette bibliothèque, généralement avec un fichier js vide ou contenant uniquement des commentaires.

Ben McCormick
la source
5
OTOH J'aime la portabilité du navigateur et la syntaxe concise et productive. jQuery me donne cela, et en général, c'est une très bonne sélection de conception - bien mieux que de s'appuyer sur VanillaLongwindedAndBrowserIncompatible-JS.
Thomas W
Sûr. Il n'y a rien de mal à utiliser jQuery. Expliquer simplement l'état d'esprit derrière la blague, ne pas l'approuver. Maintenant clarifié le libellé.
Ben McCormick
3
@ThomasW J'aime aussi la portabilité et la syntaxe concise et productive. C'est pourquoi j'écris function doSomething(args) { ... }et puis dans mon code je peux juste doSomethingen encore moins de code que jQuery. ;)
Niet the Dark Absol
4
Très bien, si vous n'avez pas à faire face à des problèmes réels de DOM ou de navigateur. La plupart des gens qui créent des webapps le font. La manipulation du DOM et la portabilité du navigateur sont les problèmes auxquels jQuery a été inventé (en améliorant Prototype.js) comme solution. Je suis d'accord avec @ NiettheDarkAbsol, que pour le code d'algorithme pur, jQuery n'est pas pertinent.
Thomas W
@ThomasW Les "problèmes de DOM ou de navigateur réels" causent-ils un énorme problème dans IE 9 et versions ultérieures? Pour autant que je sache, la plupart des problèmes mentionnés concernent IE 8 et les versions antérieures. IE sur XP n'était pas pris en charge lorsque vous avez écrit ce commentaire, et IE 8 sur Windows Vista et Windows 7 n'est plus pris en charge maintenant que Microsoft ne prend en charge que le dernier IE disponible pour chaque système d'exploitation.
Damian Yerrick
49

C'est une blague pour ceux qui sont enthousiasmés par les frameworks JavaScript et ne connaissent pas le Javascript pur.

Donc, VanillaJS est identique à Javascript pur .

La vanille en argot signifie:

peu passionnant, normal, conventionnel, ennuyeux

Voici une belle présentation sur YouTube à propos de VanillaJS: Qu'est-ce que Vanilla JS?

simhumileco
la source
3
C'est vraiment juste une blague stupide qui est très déroutante pour les débutants. Il est tellement évident que les ingénieurs du front-end aiment assombrir les eaux afin qu'ils puissent en savoir plus que la prochaine personne.
Ringo
1
@Ringo Pas plus que les blagues françaises qui nécessitent une connaissance approfondie de la culture française pour comprendre ont pour but de faire en sorte que les gens qui leur disent semblent en savoir plus que les autres. Les gens utilisent peut- être des "blagues" pour en exclure d'autres, mais ce n'est pas une bonne hypothèse à faire, surtout quand ils sont rapides à expliquer quand on leur demande.
Roy Tinker
45

La réponse claire et simple est oui, VanillaJS === JavaScript, comme prescrit par le Dr B. Eich.

IonicBurger
la source
17
Et même Object.is (VanillaJS, JavaScript) sauf bien sûr IE.
user2345215
44

VanillaJS === JavaScript ie VanillaJS est JavaScript natif

Pourquoi, Vanilla dit tout !!!

Les logiciels informatiques, et parfois aussi d'autres systèmes informatiques tels que le matériel informatique ou les algorithmes, sont appelés vanille lorsqu'ils ne sont pas personnalisés à partir de leur forme d'origine, ce qui signifie qu'ils sont utilisés sans aucune personnalisation ou mise à jour qui leur est appliquée (voir cet article ). Ainsi, la vanille se réfère souvent à pure ou simple.

Dans la langue anglaise, la vanille a une signification similaire. Dans les technologies de l'information, la vanille (prononcé vah-NIHL-uh) est un adjectif signifiant simple ou basique . Ou n'ayant aucune caractéristique spéciale ou supplémentaire , ordinaire ou standard .

Alors pourquoi l'appeler VanillaJS? Comme le dit la réponse acceptée, certains patrons veulent travailler avec un framework (parce qu'il est plus organisé et flexible et font tout ce que nous voulons ??), mais simplement JavaScript fera le travail. Pourtant, vous devez ajouter un cadre quelque part. Utilisez VanillaJS ...

C'est une blague ? OUI

Vous voulez vous amuser? Où pouvez-vous le trouver, http://vanilla-js.com/ Téléchargez et voyez par vous-même !!! C'est 0 bytes uncompressed, 25 bytes gzipped: D

J'ai trouvé ce jeu de mots sur Internet concernant les frameworks JS (pour ne pas condamner les frameworks JS existants, ils vous faciliteront la vie :)), entrez la description de l'image ici

Reportez-vous également,

premier
la source
1
essayez 2.2 * 100 dans vanilla js: D
Suhail Mumtaz Awan
5

"Vanilla JS" est une expression qui est devenue populaire après la publication d'un site Web de satire en 2012 ( http://vanilla-js.com/ ). Il y a une section couvrant son histoire / signification dans cet article .

Alors pourquoi la blague? Il est en quelque sorte venu comme une réponse moderne au réflexe de la vieille école de s'appuyer sur jQuery et d'autres bibliothèques JS. Avec la spécification ECMAScript et les capacités des navigateurs modernes, la nécessité de contourner JS ordinaire avec les bibliothèques externes pour maintenir la cohérence entre les navigateurs n'existe tout simplement plus. Voici un site qui vous montre à quel point cela est vrai avec des exemples concrets: http://youmightnotneedjquery.com/

VinnyG
la source
1

Ce mot VanillaJSest donc une putain de blague qui a changé ma vie. J'étais allé dans une entreprise allemande pour une interview, j'étais très pauvre JavaScriptet CSS, très pauvre, alors l'intervieweur m'a dit: nous travaillons ici avec VanillaJs , vous devriez donc connaître ce cadre .

Décidément, j'ai compris que j'étais rejeté, mais depuis une semaine je cherche VanillaJS , Après tout, j'ai trouvé CE LIEN . 😂

Ce que je suis, c'est à cause de cette blague.

VanillaJS === plain `JavaScript`
AmerllicA
la source
1
Je reçois ce que la vanille JS est une blague
rodude123
0

Il n'y a aucune différence, VanillaJSc'est juste un moyen de faire référence à JavaScript natif (non étendu et basé sur des normes). De manière générale, c'est un terme de contraste lors de l'utilisation de bibliothèques et de frameworks comme jQuery et React. Le site Web www.vanilla-js.com y met l'accent en plaisantant, en parlant VanillaJScomme s'il s'agissait d'un cadre rapide, léger et multiplateforme. Cela brouille les eaux! Ainsi, cela peut être une petite question philosophique: "combien de choses dois-je compiler pour Vanilla JavaScriptsans être VanillaJSelles-mêmes?" Donc, une simple directive pour cela est: si vous pouvez écrire le code et l'exécuter dans n'importe quel navigateur Web actuel sans outils supplémentaires ou soi-disant étapes de compilation, ce pourrait être VanillaJS.

Andy
la source