세브라이드
2k
2021-11-19 16:06:55
5
740

jQuery랑 바닐라 자바스크립트, 혹은 React vue랑 대결구도를 만드는게 잘못됬다고 생각합니다.


먼저, jQuery가 어떤 라이브러리인가에 대한 jQuery측의 대답을 보면요


제이쿼리란?

jQuery는 빠르고 작고 기능이 풍부한 JavaScript 라이브러리입니다. 여러 브라우저에서 작동하는 사용하기 쉬운 API를 사용하여 HTML 문서 탐색 및 조작, 이벤트 처리, 애니메이션 및 Ajax와 같은 작업을 훨씬 더 간단하게 만듭니다. 다목적성과 확장성의 조합으로 jQuery는 수백만 명의 사람들이 JavaScript를 작성하는 방식을 변화시켰습니다.


즉 제이쿼리의 핵심 목표는 '크로스 브라우징이 되는 멀티 유틸리티 라이브러리'입니다.
그런 맥락에서 jQuery의 대항마는 바닐라 자바스크립트는 당연히 아니고, ESNext도 아니고, React와 vue도 아닙니다.

jQuery의 대항마는 사실상 node.js의 클라이언트 개발환경 전반이라고 봐야 맞습니다.

가볍게 인라인으로 제이쿼리를 선언해서 크로스 브라우징과 여러가지의 유틸리티 편의를 누릴 것이냐, 트랜스파일러와 번들러, 각종 npm 생태계의 라이브러리를 이용해 크로스 브라우징과 여러가지 유틸리티 편의를 누릴 것이냐의 대결인거죠. 

지금처럼 바닐라 자바스크립트 대비 jQuery가 뭐가 낫냐, 혹은 React Vue랑 비교해서 뭐가 낫냐 이야기하는 건... 애초에 정답이 나올 수 없는거 아닐까요?
0
  • 댓글 5

  • 마구마구
    1k
    2021-11-19 16:09:04 작성 2021-11-19 16:10:02 수정됨

    jquery를 간혹 레거시로 생각하시는 분들 보면 답답합니다. 아직도 새로이 설계하는 프로젝트들에서 그 환경 조건이나 요구사항에 따라서 계속 쓰이고 있습니다. 굳이 겹쳐 쓰자면 쓸 수 있지만 기본적으로 쓰임이 다른 react,vue와 jquery를 대결 구도로 만드는 것 부터가 문제라고 생각됩니다. jquery의 대항마는 native 아닐까요.

  • kiete1
    655
    2021-11-19 16:10:55

    굳이 대결할 필요가 있나요

    나쁜 게 아니라 트렌디하지 않은 것 뿐인데

  • fender
    24k
    2021-11-19 16:25:52 작성 2021-11-19 16:26:47 수정됨

    본문에서 말씀하신대로 기본적으로 생태계의 대결이라는 부분에 공감합니다. 문제는 그 두 생태계가 서로 호환이 잘 되지 않으며, 한 쪽은 점점 영역이 좁아질 가능성이 높다는 점이라고 봅니다.

    물론 지금 시점에 제이쿼리만 가지고 오히려 더 편리하게 처리할 수 있는 성격의 프로젝트는 충분히 있을 겁니다. 하지만 만약 그렇게 만든 사이트를 유지보수하면서 필요한 컴포넌트가 생겼는데 리액트나 뷰 기반으로 된 것만 있다면, 아마 라이브러리 하나 가져다 쓰는 정도가 아니라 프로젝트를 바닥부터 새로 구성해야할 수준의 변경이 필요할 것입니다.

    생태계가 호환되지 않는다는 것은 그런 의미입니다. 그리고 시간이 더 지나면 이제 필요한 모듈뿐 아니라 개발 인력도 제이쿼리보단 리액트나 뷰 같은 기술에 익숙한 경우를 흔히 보게 될 것입니다.

    기본적으로 흐름의 중심에서 벗어난 기술들은 시간의 문제일 뿐 언젠가는 고사하게 되는 것 같습니다.

  • moonti
    4k
    2021-11-19 17:18:23 작성 2021-11-19 17:47:38 수정됨

    저는 jqueryf를 사용 안 한지 3년?쯤 된것같습니다. jquery는 저에게 매우 제약적인 상황에서만 사용할만한 라이브러리 입니다. 예를들어 단일 페이지(예를들면 이벤트 페이지)같은 것을 제작하고, 그냥 한번 만들고 재사용이나 유지 보수가 낮은 가능성의 페이지 정도 작성에만 사용할 것 같습니다.

    만약 여러 페이지로 구성된 서비스라면 절대적으로 jquery를 사용하지 않을 것 입니다. GNB, Aside 등을 반복해서 작성하는 페이지는 제 기준에 끔찍합니다.

    jqeury 생태계가 풍부했지만, 최근에는 버전업이나 새로운 라이브러리들이 추가되지 않아서 옛 얘기가 아닐까 합니다.

    모던 웹 프레임워크를 사용하여 개발하면 훨씬 개선된 라이브러리를 사용해볼 수 있습니다. 부트스트랩 같은 CSS 프레임워크를 넘어 material, antd, chakra-ui 등 디자인 시스템을 통째로 가져와서 컴포넌트를 쌓으면 웹페이지를 만들어낼 수 있습니다. 복잡한 form을 제어하는 라이브러리나 jquery의 것보다 성능이 좋은 애니메이션 라이브러리들도 포진해있죠. 무엇보다 jquery를 이용하여 새로운 라이브러리가 많이 안나오는 점도 있습니다. jquery마저도 최신 iOS, android 를 정상적으로 지원하지 못하는 경우도 꽤 됩니다.

    그리고 저는 개발을 할 때 TypeScript를 기본으로 사용하는데 TS를 사용함으로 얻는 이익이나 안정성이 너무나 뛰어납니다. 또 SPA다 보니 웹앱으로 만들는 것도 수월하고, 데탑앱도 만들어낼 수도 있죠.

    그 외에 개발의 흐름을 단순화 하는 패치 캐싱이나 GraphQL 같은 라이브러리를 사용하는 환경도 훨씬 성숙하죠.

  • 20170923
    2k
    2021-11-19 17:19:14

    이런 시선도 있군여 한수 배워갑니다

  • 로그인을 하시면 댓글을 등록할 수 있습니다.