본문 바로가기

Jquery

[JQuery] JQuery를 왜 배우는가. 설치 방법

제이쿼리 등장 시점(2006)의 웹 개발 문제


  • 자바스크립트의 돔 선택, 이벤트 핸들링, 돔 수정 코드가 난잡함
    • 오늘날처럼 css 선택자가 제대로 지원되지 않았고, 이벤트 할당도 불편했음.
  • 브라우저간 호환성 문제, 이로 인한 반복적인 에러 핸들링 코드 작성
    • getElementsByTagName() 같은 간단한 API도 브라우저마다 호환 여부가 달랐기 때문에 조건문으로 검사하는 코드가 반복적으로 작성됨
  • AJAX, Animation 등 일부 최신 기능의 미지원. 그로 인해 JS단에서 setInterval이나 setTimeOut으로 기능을 직접 구현함. 이로인한 생산성 저하, 성능 저하

=> 이런 상황에서 해결책으로서 제이쿼리의 등장

 

제이쿼리가 주목받은 이유


  • 적은 코드로 셀렉터, 이벤트 설정, 돔 조작이 가능
  • 브라우저간 비호환성 해결 => 에러 코드 작성 감소
  • AJAX, CSS 선택자 지원, 일부 애니메이션의 숏컷 메소드 지원
  • 당시는 라이브러리의 문서화가 생소했으나 제이쿼리는 문서로 정리되어 접근성이 우수
  • JQuery UI처럼 우수한 플러그인 지원(다양한 UI, 현재는 유지보수 모드)

=> 개발 뿐만 아니라 솔루션의 측면에서 제이쿼리가 널리 사용

 

쇠퇴와 현재의 위치


javascript와 css의 발전

바인딩 및 SPA 라이브러리와 프레임워크의 발전

  • 가상돔(React, Vue)이나 angular, svelte 같은 최적화된 돔 조작 라이브러리 등장
  • 실제 돔을 조작하는 제이쿼리가 안티 패턴으로 인식(전통적인 정적 컨텐츠 중심 사이트는 제이쿼리 사용)

구형 ie 등의 점진적 감소, 바벨 등의 컴파일러 이용으로 호환성 해결

 

=> 레거시

제이쿼리로 신규 프로젝트는 생성x

대신, 구형 프로젝트 유지 보수와 마이그레이션을 위해 사용됨

여기까지 봤을 때 제이쿼리는 신규 프로젝트를 위해 적극적으로 배우기보단, 구형 프로젝트의 관리를 위해 가볍게 배우는 정도면 충분할 것 같다. 정부 프로젝트나 SI 등에서 코드를 읽고 한정적으로 사용할 수 있도록.
아직 많은 사이트가 jquery를 사용하긴 하나, npm trend를 보면 그 다운로드 숫자는 계속 감소 추세다.

 

설치 방법


홈페이지에서 가이드 참조

https://jquery.com/

 

크게 세 가지 방법이 있다.

  1. 스크립트 파일 다운 후 프로젝트에 직접 추가
  2. 패키지 매니저(npm, yarn) + 모듈 번들링
  3. CDN(ex: google code)으로 연결
참고. 각 방법의 장단점

CDN
외부 서버에 호스팅된 파일을 제공하는 서비스다.
호스팅 서버에서 버전을 관리하므로 직접 라이브러리 버전 관리를 할 필요가 없다. 속도 부분은 유의미한 수준의 차이는 없다.
단, CDN 서버가 불안정하면 문제가 생긴다.

script로 직접 삽입
CDN 네트워크에 의존성이 없어서 안정적이고 직접 버전을 관리할 수 있다.
버전 관리를 직접해야 하는게 번거롭다.

모듈+번들링
직접 프로젝트에 추가하는 방식이나, 의존성 버전 관리가 간편하다.
모듈 번들링으로 용량을 줄일 수 있다.(그런데, 이 부분은 확실할지 잘 모르겠다.)

 

스크립트는 개발자 버전과 프로덕트 버전(min.js)으로 나뉜다.

개발자 버전은 압축되어 있지 않고 디버깅에 용이하다.

반면, 프로덕트 버전은 압축되어 있어서 파일 크기가 작다.

 

참고 자료

https://jquery.com/

https://www.youtube.com/watch?v=j3I0yG0ASlo

'Jquery' 카테고리의 다른 글

[JQuery] JQuery의 주요 컨셉 및 api 정리  (0) 2024.04.04