¿Vanilla JS todavía se considera una biblioteca?

25

Hace poco descubrí que VanillaJS (¿documento?) Es una biblioteca que se incluye con 99% de navegadores y no es exactamente JavaScript nativo (sorpresa de mi vida). Mientras escribo una biblioteca propia, normalmente evito todas las cosas útiles, principalmente las bibliotecas. Ahora tengo tres preguntas:

  1. ¿VanillaJS todavía se considera una lib?
  2. ¿Hay alguna manera de hacer algo con el DOM sin VanillaJS?
  3. Son las principales bibliotecas basadas en VanillaJS o JS nativo (sin el material del documento)
Dividido por cero
fuente
70
Vanilla JS es una broma. ¿Estás tirando de nuestra pierna o debería dar más detalles?
2
@RandomUser, lo obtuve la segunda vez que vi la página de VanillaJS. La primera vez, pensé que era una biblioteca auxiliar simple que luego se convirtió en "parte de JS" cuando los navegadores comenzaron a implementar sus funciones. Entonces no me interesó.
Jesvin Jose
1
@aitchnyu EXACTAMENTE lo que pensaba! No es de extrañar que se hayan denegado mis ediciones de Wikipedia: P
DividedByZero
1
No estar con el famoso vapor js .
Neil
1
@baultista IIRC, cuando me refería a POJO (Plain Old Java Object), vi a alguien bromeando que era un patrón establecido, pero que necesitaba un nombre genial para competir con las alternativas.
Jesvin Jose

Respuestas:

65

Es una broma, o más bien, una forma ingeniosa de hacer un punto. "Vanilla X" se refiere a "X de la manera más básica" o "X sin nada extra", por lo que "Vanilla JS" es JavaScript tal como lo expone el navegador. VanillaJS es JavaScript nativo . Eso incluye el DOM, varias API novedosas, las características principales del lenguaje. Excluye el código de terceros, es decir, lo que normalmente se llamaría bibliotecas o marcos. La gente detrás de esto probablemente quiera señalar las ventajas de hacer las cosas de esta manera al enmarcarlo como marketing para un marco de terceros. Hay, o al menos solía haber, una tendencia en el mundo de JavaScript para lanzar marcos a cada problema, independientemente de cuán trivial sería una solución en JavaScript "básico".


fuente
2
No es sinónimo del DOM, pero entiendo su punto. Usando 'VanillaJS' para manipular el DOM, uno debe ser consciente de todas las diferentes trampas entre las diversas implementaciones de DOM. Si usa jQuery para manipular el DOM, uno solo necesita conocer el DOM abstracto que expone jQuery.
Andrew Hoffman
1
@ AndrewHoffman: Las diferencias entre las implementaciones no son tan grandes como solían ser; ahora que a IE le importan mucho los estándares, en la actualidad se puede escribir fácilmente código compatible con varios navegadores.
cHao
66
Los motores de JavaScript (v8, spidermonkey, chakra) no incluyen el DOM. El DOM es agregado por el entorno del navegador.
Deja de dañar a Monica el
66
Gran broma sobre este tema: needsmorejquery.com
Almo
2
@RandomUser La API del DOM no forma parte del lenguaje Javascript en sí. Es un estándar W3C que deberían implementar los navegadores compatibles. Por ejemplo, vea este enlace donde definen qué es un Elemento: w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/… y este enlace donde definen cómo se debe exponer el DOM en Javascript: w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/…
Paul