간혹 검색을 하다보면 제이쿼리를 사용하지 않겠다는 글들을 많이 볼 수 있다. 또한 글들을 잘 읽어보면 어느정도 맞는 이야기도 많다. 하지만 이미 몸에 익숙해져버린 제이쿼리를 갑자기 버리고 다른걸 사용하자니 어떤것을 배워야 할지 난감하기도 하고 제이쿼리와 연계된 라이브러리들이 너무 많아 고민일때가 있다. 

 

이러한 이야기도 시대가 변함에 따라 더욱 나오고는 있지만 신규 프로젝트를 진행하지 않는 이상 기존 시스템을 굳이 바꿀 필요는 없다고 생각한다. 나 또한 제이쿼리를 무조건 고집하는건 아니지만 현재도 대부분 제이쿼리만 사용 하고 있고 제이쿼리의 단점 또한 알고는 있지만 단점 때문에 제이쿼리를 사용하지 않겠다고 생각한적은 단 한번도 없다. 

 

흔히 볼 수 있는 제이쿼리의 단점들

제이쿼리의 단점들을 설명하는 글을 보면 흔히 아래와 같이 2가지가 주로 나오고 있다. 

  1. 속도가 느리다.
  2. 라이브러리 자체가 무겁다.

 

우선 속도가 느리다라는 단점은 당연할 수 밖에 없다. 제이쿼리 자체가 자바스크립트를 조금 편리하게 쓰고자 모듈화 시켜서 만든것이기 때문에 선택자 접근하는 방식만 보더라도 특정 선택자에 바로 접근하는 자바스크립트 보단 전체를 접근할 수 있도록 만들어진 제이쿼리가 느릴 수 밖에 없다. 그렇다고 제이쿼리 선택자를 쓴다고 해서 사이트가 느려지는건 아니다.

 

두번째로 라이브러리 자체가 무겁다 라는 단점도 많이 언급되고 있지만 요즘은 필요한 모듈만 다운로드 하여 사용할 수 있도록 제공이 되기 때문에 이런것쯤은 커버가 가능할것처럼 보인다. 또한 모듈은 대부분 저용량 파일 min 버전을 제공하기 때문에 크게 걱정할 부분은 아니라고 본다.  이처럼 제이쿼리는 라이브러리 업데이트가 현재도 꾸준히 되고 있기때문에 이런 걱정이라면 최신 버전을 사용해 보는것도 좋다. 

 

이와 같이 큰 주제로만 단점을 보았는데 상세하게 본다면 여러 단점들이 있다. 그중 하나가 변경 발생 시 dom 전체를 접근하여 변경하다보니 dom 크기가 클 경우 속도는 비례하여 더욱더 느려질 수 밖에 없다는 것이다. 우선 이를 대체하는 가상돔 개념이 있는데 이걸 사용한다면 코딩 방식도 변경해야하는 또다른 단점이 존재하게 된다. 

 

보통 가상돔 처리가 잘된 라이브러리들을 보면 리엑트(React),바닐라(Vanilla), 뷰(Vue) 같은 라이브러리가 언급이 많이 되는데 처음 접근하기가 조금 어려울 수 있다. 또한 위에서 언급했다시피 가상돔을 사용하기 위해선 코딩 방식도 변경해하므로 개인 프로젝트가 아닌경우  반드시 협의가 필요하다. 

 

만약 별도 협의 없이 단독으로 특정 구간에서 위와 같은 라이브러리를 사용한다면 다음 작업자가 저 위의 라이브러리를 잘 모를 경우엔 분명 똥밟은 기분일 것이다. dom 접근이 느려지는게 PC에서 느껴질 정도라면 분명 만들어진 dom 구조 자체가 문제일 수 있기때문에 라이브러리 교체보단 이를 먼저 개선해 보는게 좋지 않을까 싶다. 

 

이외에도 여러 단점들이 언급되는데 이부분은 워낙 많기도 하고 내가 알고 있는 지식을 넘어선 글들도 많아 본 글에서는 생략하고 결론을 본다면 제이쿼리는 사용여부에 따른 고민은 할 필요가없다.

 

모든 라이브러리는 단점들이 존재하기 마련이다. 하지만  업데이트가 꾸준히 되고 있기때문에 이를 잘 활용하고 제이쿼리의 경우 사용시 자체적으로 보완해서 사용하면 될일이지 자꾸 단점만 보게 된다면 좁은 영역에 빠져 헤어나올 수 없게 될 수 있다. 다만 제이쿼리만 고집하는것도 좋지 않으니 기회가 된다면 여러 라이브러리들을 사용해 보는것도 좋지 않을까라는 생각이 든다.