Post

Vanilla JavaScript 에 대하여

Vanilla JS is a fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications.

바닐라 JS는 빠르고 가벼운 크로스 플랫폼 프레임워크다. 놀랍고 강력한 Javascript 애플리케이션 만들기 위한

Vanilla JS 그리고 jQuery

기능적으로 더 뛰어난 라이브러리도 많고 많은 JS 프레임워크가 등장함에 따라 jQuery의 점유율이나 비전이 하락세를 보이고 있는 것은 사실이나, 부정할 수 없는 건 jQuery는 HTML 속 클라이언트 사이드 스크립트에서 가장 많이 사용하는 라이브러리 라는 것이다. 

최신의 표준 명세에 따라 웹 개발 환경이 만들어지기 이전의 웹 개발 환경에서는 자바스크립트가 여러 가지의 브라우저 (Chrome, Firefox, Safari 등등)에서 일관되게 동작하기 위해서는 표준을 우회하는 코드를 작성해야 했다. 특히 Windows의 IE는 자바스크립트뿐만 아니라 웹과 관련된 표준 명세를 따르지 않아 지금도 웹 개발에 있어 최대의 난제이기도 하다. 그런 이유에 의해 편법적인 자바스크립트 코드를 사용해 웹 개발을 해야 하는 경우가 많았고, jQuery는 그러한 문제(크로스 플랫폼)를 손쉽게 해결했다.

즉, jQuery가 이렇게 많은 개발자에게 사랑받을 수 있었던 가장 큰 이유는 라이브러리의 간편함과 호환성 때문이였다. 굳이 긴 코드를 작성할 필요도 없이 간단한 몇 문장으로도 엘리먼트를 쉽게 제어할 수 있고, 브라우저의 호환성 문제를 완벽하지는 않지만 잘 해결했다. 이러한 특성은 jQuery의 압도적인 점유율에 기여했고, 오히려 자바스크립트를 몰라도 jQuery 사용법을 아는 것이 웹개발에 더 도움이 되었기 떄문에 JS를 배우지 않고 jQuery를 공부하거나 JS에 내용없이 jQuery만 다루는 책 또한 많이 등장했다. 

JS의 하나의 라이브러리일 뿐인 jQuery가 JS보다 더 중요하다고 여겨지는 이상한 주객전도 현상이 나타난 것이다.

주변 프로그래머들만 본다고 하더라도, jQuery 없이 자바스크립트를 전혀 활용하지 못하는 경우를 어렵지 않게 찾아볼 수 있다. 자바스크립트 그 본질을 깨닫지 못한 상태에서 편의성만을 위해 jQuery를 사용해 왔다는건 분명 문제가 있다.

본질을 깨닫지 못한다면, jQuery에서 제공하는 편의 기능들이 어떠한 의미에서 어떻게 구현되었는지 알 수 없게 될것이고, 이는 곧 개발하는데에 있어 큰 난관으로 다가올 수 있다.(디버깅시 jQuery 내부 코드에서 문제가 생긴다면 이유를 파악하지 못할것이고, 결국에는 해결하지 못할 것이다.)

바닐라 자바스크립트 공부를 통해 그 본질을 먼저 깨닫고, 라이브러리 혹은 프레임워크를 사용해야 하는 이유가 이런 점에 있다.


물론, 이것이 문제는 아니였다. 하지만 브라우저에 종속된 언어였던 JS가 서버사이드 개발도 가능해지고 , 여러 프론트 사이드 프레임워크들이 등장하면서 이것은 문제로 바뀌었다. 

흔히 프론트 3대장이라 불리는 React, Vue.js, Angular가 등장하면서 자바스크립트의 중요성이 올라가고 jQuery 의 장점이였던 호환성 문제가 점차해결(ES6 표준 문법 등장)이 되면서 자바스크립트 개발자에 대한 수요가 증가했다. 

이러한 상황에서 라이브러리와 프레임워크를 사용하지 않는 바닐라 자바스크립트에 대한 중요도가 증가했다. 순수한 자바스크립트에 대한 이해가 바탕이 되있는 개발자는 이러한 JS 변화속에서도 언제나 주도적인 개발을 할 수 있는 능력이 있다는 것이 증명되었기 때문이다.   웹개발에서 스크립트는 뗄래야 뗄 수 없는 관계이기 때문에, 웹개발로서 한단계 더 성장하기 위해선 순수 자바스크립트에 대한 이해는 필수조건 이다.


🔗 ref :
This post is licensed under CC BY 4.0 by the author.

© nollae. Some rights reserved.