2019.05.09

제이쿼리를 대체하는 자바스크립트 라이브러리 3가지

Paul Krill | InfoWorld
제이쿼리(jQuery) 자바스크립트 라이브러리는 2006년 8월에 처음 공개된 이후 웹의 외형을 바꾼 일등공신이었다. HTML 문서 변환과 애니메이션, 이벤트 처리 같은 작업을 더 간편하게 할 수 있도록 지원했기 때문이다. 더블유3테크(W3Techs) 자료를 보면, 2019년 5월 현재 주요 웹사이트의 74%가 제이쿼리를 사용한다.
 
ⓒ Getty Images Bank

그러나 일부 개발자는 제이쿼리 라이브러리가 이제는 한물간 기술이라고 평가한다. 최근 몇 년 사이 캐시(Cash) 라이브러리 같은 제이쿼리의 대체재도 잇달아 등장하고 있다. 심지어 웹 브라우저 자체에서 자바스크립트를 처리하는 기능까지 나왔는데 이렇게 되면 호환성 문제를 풀기 위해 더는 제이쿼리가 필요 없다. 

제이쿼리가 더는 필요 없는 이유
제이쿼리 무용론은 IT 전문가의 레딧 글이나 유튜브 동영상에서 쉽게 찾을 수 있다. 이제는 제이쿼리가 쓸모없으며, 최소한 필수는 아니라는 주장이다.

예를 들어 웹 개발 강사 브래드 트래버스의 '제이쿼리가 아직도 유효할까?'라는 유튜브 영상이 있다. 그는 제이쿼리가 역대 최고의 범용 자바스크립트 라이브러리임을 인정한다. 배우기 쉽고 브라우저를 따지지 않는 호환성을 지원하며 구식 바닐라 자바스크립트보다 더 간결할 뿐만 아니라 다양한 기능을 제공하는 풍부한 플러그인을 보유하고 있기 때문이다. 그러나 자바스크립트는 ECMA스크립트 6(ECMAScript 6) 이후로 빠르게 진화했으며, 많은 경우 이제는 제이쿼리가 필요하지 않다고 트래버스는 진단했다.

코딩 강사인 케니스 로레이도 같은 생각이다. 그는 '제이쿼리를 배우는 것은 시간 낭비'라는 영상에서, 최근의 웹 개발에서는 웹브라우저가 자바스크립트를 제어하므로, 대부분의 경우 네이티브 자바스크립트 코드가 제이쿼리 같은 '군더더기 많은 구식 라이브러리'보다 더 잘 작동한다고 주장했다.

예를 들어 제이쿼리는 HTTP 호출을 구현하는데 널리 쓰이지만 ECMA스크립트 6의 4번째 패치에 이 작업을 쉽게 할 수 있는 API가 추가됐다. 특히 이 기능은 HTTP와 함께 실행이 중단되지도 않는다. 제이쿼리는 어레이를 처리하는 작업을 위한 기능 등을 지원했지만, 현재는 바닐라 스크립트가 이런 작업을 처리할 수 있도록 개선됐다.

반면 애니메이션은 여전히 바닐라 자바스크립트를 사용하는 것보다 제이쿼리가 더 간편하다. 그러나 이 경우도 CSS 트랜지션이나 키프레임 같은 다른 대안이 있다고 트래버스는 지적했다. 서드파티 그린속(GreenSock) 라이브러리도 애니메이션 용도로 사용할 수 있다. DOM 작업의 경우 네이티브 브라우저 API와 제이쿼리를 사용했을 때의 차이가 크지 않다.

트래버스는 바닐라 자바스크립트로 부족한 작업이 있다면 제이쿼리 같은 범용 라이브러리 대신 전용 라이브러리를 사용할 것을 권장했다. 또한 중대형 애플리케이션이라면 리액트(React), 앵귤러(Angular), 뷰(Vue) 같은 자바스크립트 프레임워크를 추천했다. 단 프레임워크 없는 단순한 사이트라면 여전히 제이쿼리가 유용할 수 있다.

제이쿼리 대체재들
그렇다면 제이쿼리 대신 무엇을 사용해야 할까? 모던, 바닐라 자바스크립트 외에 생각할 수 있는 것이 바로 캐시, 젭토(Zepto), 싱크퓨전 에센셜 JS 2(Syncfusion Essential JS 2)이다. 캐시와 젭토는 MIT 라이선스에 따라 배포되는 오픈소스 자바스크립트 라이브러리이고, 싱크퓨전 에센셜 JS 2는 상용 제품이다.

캐시 
캐시는 깃허브에서 3,570개 이상의 별을 받은 프로그램이다. 브라우저용 '매우 단순한 제이쿼리 대체재'로 유명하다. 캐시를 이용하면 제이쿼리 스타일의 문법으로 DOM을 사용할 수 있으며 압축 없이 32KB 공간만 차지한다. 네임스페이스 이벤트, 타입스크립트 형식, 현대화된 빌드 등을 지원한다. 깃허브에서 다운로드할 수 있다.

젭토 
젭토는 폭넓은 제이쿼리 호환성을 지원하는 API가 포함된 초경량 자바스크립트 라이브러리다. 젭토 개발팀은 제이쿼리를 써온 개발자라면 젭토를 무리 없이 사용할 수 있다고 설명했다. 또한 제이쿼리보다 더 작고 빠르게 로드되며, 모바일 혹은 데스크톱 브라우저용 폰갭(PhoneGap) 툴셋과도 함께 사용할 수 있다. 젭토 프로젝트 웹사이트에서 다운로드할 수 있다.

싱크퓨전 에센셜 JS 2
싱크퓨전 에센셜 JS 2는 타입스크립트로 만든 상용 라이선스의 자바스크립트 UI 컨트롤 라이브러리다. 제이쿼리 UI 라이브러리의 대안으로, 웹 애플리케이션을 개선하면서도 부하가 적고, 가벼운 모듈형 라이브러리다. 싱크퓨전은 앵귤러와 리액트, 뷰 등의 프레임워크를 지원한다. 싱크퓨전 웹사이트에서 구매하거나 무료 평가판을 다운로드할 수 있다. 소스 코드와 유닛 테스트 파일, 테스트 스크립트, 라이브 데모 등은 깃허브에서 확인할 수 있다. ciokr@idg.co.kr



2019.05.09

제이쿼리를 대체하는 자바스크립트 라이브러리 3가지

Paul Krill | InfoWorld
제이쿼리(jQuery) 자바스크립트 라이브러리는 2006년 8월에 처음 공개된 이후 웹의 외형을 바꾼 일등공신이었다. HTML 문서 변환과 애니메이션, 이벤트 처리 같은 작업을 더 간편하게 할 수 있도록 지원했기 때문이다. 더블유3테크(W3Techs) 자료를 보면, 2019년 5월 현재 주요 웹사이트의 74%가 제이쿼리를 사용한다.
 
ⓒ Getty Images Bank

그러나 일부 개발자는 제이쿼리 라이브러리가 이제는 한물간 기술이라고 평가한다. 최근 몇 년 사이 캐시(Cash) 라이브러리 같은 제이쿼리의 대체재도 잇달아 등장하고 있다. 심지어 웹 브라우저 자체에서 자바스크립트를 처리하는 기능까지 나왔는데 이렇게 되면 호환성 문제를 풀기 위해 더는 제이쿼리가 필요 없다. 

제이쿼리가 더는 필요 없는 이유
제이쿼리 무용론은 IT 전문가의 레딧 글이나 유튜브 동영상에서 쉽게 찾을 수 있다. 이제는 제이쿼리가 쓸모없으며, 최소한 필수는 아니라는 주장이다.

예를 들어 웹 개발 강사 브래드 트래버스의 '제이쿼리가 아직도 유효할까?'라는 유튜브 영상이 있다. 그는 제이쿼리가 역대 최고의 범용 자바스크립트 라이브러리임을 인정한다. 배우기 쉽고 브라우저를 따지지 않는 호환성을 지원하며 구식 바닐라 자바스크립트보다 더 간결할 뿐만 아니라 다양한 기능을 제공하는 풍부한 플러그인을 보유하고 있기 때문이다. 그러나 자바스크립트는 ECMA스크립트 6(ECMAScript 6) 이후로 빠르게 진화했으며, 많은 경우 이제는 제이쿼리가 필요하지 않다고 트래버스는 진단했다.

코딩 강사인 케니스 로레이도 같은 생각이다. 그는 '제이쿼리를 배우는 것은 시간 낭비'라는 영상에서, 최근의 웹 개발에서는 웹브라우저가 자바스크립트를 제어하므로, 대부분의 경우 네이티브 자바스크립트 코드가 제이쿼리 같은 '군더더기 많은 구식 라이브러리'보다 더 잘 작동한다고 주장했다.

예를 들어 제이쿼리는 HTTP 호출을 구현하는데 널리 쓰이지만 ECMA스크립트 6의 4번째 패치에 이 작업을 쉽게 할 수 있는 API가 추가됐다. 특히 이 기능은 HTTP와 함께 실행이 중단되지도 않는다. 제이쿼리는 어레이를 처리하는 작업을 위한 기능 등을 지원했지만, 현재는 바닐라 스크립트가 이런 작업을 처리할 수 있도록 개선됐다.

반면 애니메이션은 여전히 바닐라 자바스크립트를 사용하는 것보다 제이쿼리가 더 간편하다. 그러나 이 경우도 CSS 트랜지션이나 키프레임 같은 다른 대안이 있다고 트래버스는 지적했다. 서드파티 그린속(GreenSock) 라이브러리도 애니메이션 용도로 사용할 수 있다. DOM 작업의 경우 네이티브 브라우저 API와 제이쿼리를 사용했을 때의 차이가 크지 않다.

트래버스는 바닐라 자바스크립트로 부족한 작업이 있다면 제이쿼리 같은 범용 라이브러리 대신 전용 라이브러리를 사용할 것을 권장했다. 또한 중대형 애플리케이션이라면 리액트(React), 앵귤러(Angular), 뷰(Vue) 같은 자바스크립트 프레임워크를 추천했다. 단 프레임워크 없는 단순한 사이트라면 여전히 제이쿼리가 유용할 수 있다.

제이쿼리 대체재들
그렇다면 제이쿼리 대신 무엇을 사용해야 할까? 모던, 바닐라 자바스크립트 외에 생각할 수 있는 것이 바로 캐시, 젭토(Zepto), 싱크퓨전 에센셜 JS 2(Syncfusion Essential JS 2)이다. 캐시와 젭토는 MIT 라이선스에 따라 배포되는 오픈소스 자바스크립트 라이브러리이고, 싱크퓨전 에센셜 JS 2는 상용 제품이다.

캐시 
캐시는 깃허브에서 3,570개 이상의 별을 받은 프로그램이다. 브라우저용 '매우 단순한 제이쿼리 대체재'로 유명하다. 캐시를 이용하면 제이쿼리 스타일의 문법으로 DOM을 사용할 수 있으며 압축 없이 32KB 공간만 차지한다. 네임스페이스 이벤트, 타입스크립트 형식, 현대화된 빌드 등을 지원한다. 깃허브에서 다운로드할 수 있다.

젭토 
젭토는 폭넓은 제이쿼리 호환성을 지원하는 API가 포함된 초경량 자바스크립트 라이브러리다. 젭토 개발팀은 제이쿼리를 써온 개발자라면 젭토를 무리 없이 사용할 수 있다고 설명했다. 또한 제이쿼리보다 더 작고 빠르게 로드되며, 모바일 혹은 데스크톱 브라우저용 폰갭(PhoneGap) 툴셋과도 함께 사용할 수 있다. 젭토 프로젝트 웹사이트에서 다운로드할 수 있다.

싱크퓨전 에센셜 JS 2
싱크퓨전 에센셜 JS 2는 타입스크립트로 만든 상용 라이선스의 자바스크립트 UI 컨트롤 라이브러리다. 제이쿼리 UI 라이브러리의 대안으로, 웹 애플리케이션을 개선하면서도 부하가 적고, 가벼운 모듈형 라이브러리다. 싱크퓨전은 앵귤러와 리액트, 뷰 등의 프레임워크를 지원한다. 싱크퓨전 웹사이트에서 구매하거나 무료 평가판을 다운로드할 수 있다. 소스 코드와 유닛 테스트 파일, 테스트 스크립트, 라이브 데모 등은 깃허브에서 확인할 수 있다. ciokr@idg.co.kr

X