바닥코딩
바닐라 JS란 무엇인가 본문
바닐라 JS ?
이전 포스팅 내용중에 자바스크립트에 대한 포스팅을 작성한 적이 있었습니다
https://dkkim2318.tistory.com/64?category=819644
자바스크립트는 포스팅한 내용과 같이 프론트 사이드에서 절대적으로 사용되는 언어이면서 동시에 서버사이드 개발이 가능한 언어 입니다. 특히 프론트 영역에서의 사용이 절대적이기 때문에 자바스크립트를 기반으로한 프레임워크들이 현재 대세로 자리잡고 있습니다. 개발에 관심이 있는 학생들이나 개발자라면 모두들 많이 들어봤을 리엑트 , 앵귤러, 뷰등이 이에 해당합니다. 또 프레임워크라고 하기에는 애매한 감이 있지만 현업 웹개발에서 많이 사용하는 jquery도 결국 자바스크립트의 라이브러리 중 하나입니다.
그런데 바닐라 JS라는 용어는 많이 생소한 단어 일 수 있습니다. 생소하기도 하고 이름만 들어봐서는 자바스크립트의 프레임워크나 라이브러리라고 생각할 수 있지만 정확한 뜻은 프레임워크나 라이브러리를 일절 사용하지 않는 순수한 자바스크립트를 뜻하는 단어 입니다.
바닐라 js 의 중요성
바닐라 js는 정말 순수한 자바스크립트입니다 그렇다는 것은 특성상 라이브러리나 프레임워크가 제공하는 기능을 사용할 수 없다는 것을 의미합니다. 예를들어 jquery를 사용하면 단 한줄로도 제어할 수 있는 엘리먼트를 여러 줄의 코드를 통해 비효율적인 개발을 해야하기 때문에 바닐라 js를 통한 개발은 사실상 힘든일이라고 볼 수 있습니다
하지만 최근 여러 기업에서는 바닐라 js를 능숙하게 사용하는 개발자를 중요하게 생각하는 추세이며, 순수한 자바스크립트를 개발할 수 있는 능력이 중요하게 자리잡고 있습니다. 이러한 결과에 대해 이해하기 위해서는 먼저 jquery에 대한 이해가 있어야 합니다
jQuery와 바닐라 js의 상관관계
기능적으로 더 뛰어난 라이브러리도 많고 많은 js 프레임워크가 등장함에 따라 jquery의 점유율이나 비전이 하락세를 보이고 있는 것은 사실이나 , 부정할 수 없는 건 jQuery는 HTML 속 클라이언트 사이드 스크립트에서 가장 많이 사용하는 라이브러리 라는 것입니다.
jQuery가 이렇게 많은 개발자에게 사랑받을 수 있었던 가장 큰 이유는 라이브러리의 간편함과 호환성 때문이였습니다. (이전 포스팅 내용에 설명이 자세하게 되어있습니다 ) . 굳이 긴 코드를 작성할 필요도 없이 간단한 몇 문장으로도 엘리먼트를 쉽게 제어할 수 있고, 브라우저의 호환성 문제를 완벽하지는 않지만 잘 해결했습니다. 이러한 특성은 jQuery의 압도적인 점유율에 기여했고, 오히려 자바스크립트를 몰라도 jQuery 사용법을 아는 것이 웹개발에 더 도움이 되었기 떄문에 js를 배우지 않고 jquery를 공부하거나 js에 내용없이 jQuery만 다루는 책 또한 많이 등장했습니다 js의 하나의 라이브러리일 뿐인 jQuery가 js보다 더 중요하다고 여겨지는 이상한 주객전도 현상이 나타난 것이죠
물론, 이것이 문제는 아니였습니다. 하지만 브라우저에 종속된 언어였던 js 가 서버사이드 개발도 가능해지고 , 여러 프론트 사이드 프레임워크들이 등장하면서 이것은 문제로 바뀌었습니다.
흔히 프론트 3대장이라 불리는 리엑트,뷰, 엥귤러가 등장하면서 자바스크립트의 중요성이 올라가고 jQuery 의 장점이였던 호환성 문제가 점차해결(ES6 표준 문법 등장)이 되면서 자바스크립트 개발자에 대한 수요가 증가했습니다. 그렇지만 jQuery에 너무 익숙해져 버린 개발자가 너무 많았고, 순수한 자바스크립트 개발자의 수가 굉장히 적었기 때문에 경력은 많지만 사실상 라이브러리에 의존하지 않는 개발 경력이 없었기 때문에 간단한 작업도 라이브러리에 의존하지 않고서는 개발이 힘들어 졌습니다.
이러한 상황에서 라이브러리와 프레임워크를 사용하지 않는 바닐라 자바스크립트에 대한 중요도가 증가했습니다 . 순수한 자바스크립트에 대한 이해가 바탕이 되있는 개발자는 이러한 js에 변화속에서도 언제나 주도적인 개발을 할 수 있는 능력이 있다는 것이 증명되었기 때문입니다
만약 프론트 개발자를 희망하거나 node.js 개발자, 풀스택 개발자 , 혹은 js 와 거리가 먼 웹개발자 라도 결국 웹개발에서 스크립트는 뗄래야 뗄 수 없는 관계이기 때문에, 웹개발로서 한단계 더 성장하기 위해선 순수자바스크립트에 대한 이해는 필수조건 입니다.
'JavaScript > vanilla js' 카테고리의 다른 글
클로저 (0) | 2021.03.15 |
---|---|
자바스크립트 스코프(scope) (0) | 2020.07.25 |
var, let, const (0) | 2020.07.12 |
컴파일 언어 vs 인터프리터 언어 (0) | 2020.05.25 |
자바 스크립트 (0) | 2020.05.25 |