VanillaJS

Vanilla JS

지금부터는 Vanilla JS를 편하게 바닐라JS라고 기재하겠다.
Javascript를 사용하는 개발자로써, 많은 사람들이 들어 보았을 것이다.
필자는 과거 면접에서 이러한 질문을 받은 적이 있다.
‘바닐라 JS에 대해 아시나요?’라는 질문을 받았다. 좀 당황스러운 질문이었다.
평소 바닐라JS === Javascript라고 생각해 온 상황이서 그런지 더욱 당황스러웠지만…답을했다.
‘일반적으로 우리가 사용하고 있는 Javascript라고 합니다.’
‘그럼 왜 자바스크립트가 바닐라JS라고 불리는지 아시나요?’ 또 당황스러웠다.(이것이 면접에서 말리는 시초였다.)

바닐라JS란 무엇인가?

바닐라JS에 어원에 대한 내용을 검색하지 못해 바닐라를 통해 추측해보았습니다.

  • 바닐라
    바닐라라는 단어는 우리 주변에서 많이 사용되고 있는데 대표적인 것이 바닐라 아이스크림입니다. 어원적으로 스페인어 vanilla 는 ‘작은 콩’ 이라는 뜻을 가진 난초과 식물로, 이 단어에는 ‘바닐라, 바닐라 향의’ 의미만 가지는 것이 아니라 ‘평범한, 특별할 것이 없는( ordinary )’ 이라는 의외의(?) 뜻이 있습니다.

프로그래밍으로서의 바닐라

바닐라

이처럼 ‘바닐라’라는 단어는 프로그래밍 세계에서 기본적인 기능만 구현해 놓은 상태를 뜻합니다.
그러므로 바닐라JS는 새로운 프레임워크 또는 라이브러리가 아닌 순수한 Javascript입니다.
실제 바닐라JS 공식사이트를 접속해서 다운받을 수 있다.
하지만 정작 파일을 다운받으면 파일 사이즈가 0KB이다. 바닐라JS를 사용하기위해선 별도의 파일이 없다는 것이다.
이미 우리의 브라우저에는 바닐라JS가 탑제되어있다.
바닐라JS 공식 사이트에는 마치 프레임워크처럼 가볍고 빠른데다가 호화성이 좋다라는 듯의 문구들로 인해 프레임워크나 라이브러리로 오해 할 수 있다.
하지만 이말인 즉 나는 ‘순수한 자바스크립트를 사용하면, 가볍고 빠른데다가 호환성이 좋다.’라는 것으로 이해해야 할 것 같다.

현재 외국에서 또는 국내 굴지의 회사에서는 jQuery를 사용하는 프로젝트가 점점 줄어들고 있는 상황이다.

하지만 jQuery를 쓸 수 없으면 어떻게 개발을 할 것인가?
필자의 경우 퍼블리셔로 개발에 입문을 했기 때문에 아직 jQuery의 Dom셀렉팅, 이벤트 바인딩, Ajax등에 의존도가 꽤 높은 편이지만, Vue 공부를 통해 필수는 아니라는 것을 깨닫고, 바닐라JS를 공부하는 중이다.
바닐라JS 뿐만아니라 ES6, TypeScirpt등 하고 싶은 것이 아직 많다.

결론

바닐라JS는 순수한 JavaScript로 프로그램세계에서는 부가기능을 제외한 기본적인 기능만 구현한상태를 부르는 어원이다.

댓글