jQuery_더는 제이쿼리를 사용하지 않는 이유

Seoyong Lee·2021년 5월 9일
6

etc.

목록 보기
3/10
post-thumbnail

왜 jQuery 점유율은 떨어지는가?

한때 유명했던 jQuery가 다양한 라이브러리의 등장으로 이제 거의 쓰이지 않게 되었다. 왜 그럴까? 간단케 말하면 jQuery가 좋은 라이브러리라서 사용했던 것이 아니라, 당면한 문제를 해결하기 위한 임시방편(band aid)이었기 때문이다. 이 글에서는 jQuery에 대해 간략한 소개와 더불어 더는 jQuery를 사용하지 말아야 할 이유에 대해서 살펴볼 예정이다.

jQuery의 역사

jQuery는 자바스크립트 라이브러리로, “write less, do more”라는 모토로 2006년 미국의 SW 개발자 존 레식(John Resig)이 발표하였다. 과거 웹 브라우저 간의 호환성이 좋지 않았던 시절 모든 웹 브라우저에 호환되며 짧은 코드로 다양한 기능을 다룰 수 있는 jQuery는 매우 인기 있었다. 특히 DOM을 쉽게 다룰 수 있다는 점과 jQuery를 기반으로 한 다양한 라이브러리를 사용할 수 있다는 점이 큰 장점이었다.

그러나 최근 웹 브라우저 환경의 변화와 가상 DOM을 사용하는 라이브러리의 인기로(대표적으로 리액트 등) 더는 jQuery를 사용하지 않게 되었으며, 이제는 '읽을 수 있을 정도만 배우면 되는' 취급을 받고 있다. 이러한 상황은 애초에 jQuery 자체가 딱히 뛰어나서 사용한 것이 아닌, 여러 문제를 보완하기 위해 사용되었기 때문에 필연적일 수밖에 없었다. jQuery의 창시자 존 레식은 이미 2015년 트윗을 통해 다음과 같이 밝혔다.

Sad this needs to be said but jQuery doesn't 'replace' JS, it papers over the DOM. jQuery's success is proof of the failings of the DOM API.
슬프지만 jQuery는 JS를 '대체'하는 것은 아니며, DOM을 감출 뿐이다. jQuery의 성공은 DOM API가 실패했다는 증거이다.

더는 jQuery를 사용하지 않는 이유

이러한 jQuery가 현재 사용되지 않는 주요한 이유는 다음과 같다.

  1. 사용할 이유가 딱히 없다. 이제 과거와 달리 크로스 브라우징 이슈도 적어졌고, virtual DOM의 인기로 DOM을 직접 조작할 필요가 없어졌다. 또한, jQuery로 할 수 있는 대부분 기능은 바닐라 JS나 TypeScript 등으로 똑같이 구현할 수 있다.

  2. 무겁다. jQuery는 기존 코드를 래핑(wrapping)해서 새롭게 만든 패키지이다. 문제는 이러한 래핑이 지나치게 많고, 애초에 최적화를 위해 설계되지도 않았다는 점이다. 다음 블로그 글을 통해서 바닐라 자바스크립트와 비교한 jQuery의 퍼포먼스를 확인할 수 있다.
    Moon - Why I decided to Break up With jQuery

  3. 좋은 대안이 많이 생겼다. 리액트만 해도 재사용성을 높이는 컴포넌트를 기반으로 jQuery보다 훨씬 가독성이 높은 코드를 작성할 수 있다. 또한 1번에서 언급했듯이 더는 DOM을 직접 조작하지 않고 virtual DOM을 이용하는 프레임워크가 널리 사용되고 있다. 이러한 패러다임의 변화는 jQuery의 입지를 더욱 좁게 만들고 있다.

그렇다면 jQuery 이전의 DOM이 얼마나 끔찍했길래 jQuery의 사용이 필수적이었으며, 현재는 이러한 문제들을 어떻게 극복하였을까? 이는 다음 글을 통해 다룰 예정이다.

참고
jquery.com
Joshua Aclan - Why not to use JQuery in a JavaScript Framework.
Moon - Why I decided to Break up With jQuery
박종희님의 블로그 - 이제와서 JQUERY를 쓰면 안되는 이유, 혹은 JQUERY와 웹개발의 역사

profile
코드를 디자인하다

0개의 댓글