jineecode
제이쿼리에 대하여 본문
회고록 카테고리에 쓰는 이유는 제이쿼리를 써본 지 3개월 쯤 되었고 스스로 고찰해보고 되돌아보기 위함이다.
제이쿼리를 공부하는 건 시간 낭비다. 웹 개발을 시작하면 꼭 한 번은 듣는 이야기이다.
정말 하도많이 이 얘기를 들어서 제이쿼리를 공부를 하기 전에는 선입견마저 가지게 됐다.
실제로 제이쿼리 키워드 검색량은 점점 하락되고 있고, 부트스트랩에서도 제이쿼리 의존성을 없애겠다고 했다. 게다가 제이쿼리가 하락세인 이유는 웹 표준 API의 확장, 웹브라우저 환경의 변화, 무엇보다 가상 돔(Virtual DOM)을 사용하는 라이브러리의 등장(리액트) 때문이다. 그리고 속도문제도 무시할 수 없다. 제이쿼리를 쓰는 이유는 IE에서도 호환성이 뛰어나기 때문이다. 하지만 오히려 이 속도 때문에 구형 브라우저에서 문제를 야기할 수 있다.
이렇게 워낙 듣고 본 게 많아서 학원이 아니었다면 나도 제이쿼리는 거들떠도 안 봤을 것이다.
그래서 제이쿼리를 3개월가량 써봤다.
내가 느낀 제이쿼리의 큰 장점은 간편함과 호환성이 뛰어나다는 것이다.
DOM을 할 때 자바스크립트로는 쿼리셀렉터로 엘리먼트를 일일이 가져와야 할 것을 제이쿼리는 그 불편함을 한번에 없애준다. 특히 자바스크립트로 querysellectorAll을 쓸 때 이것을 쓰기 위해서 forEach를 돌려야 하지만, 제이쿼리는 반복문을 자기가 알아서 돌려준다. (와우)
게다가 제이쿼리의 this 의 이용은 자바스크립트보다 훨씬 이해하기 간단하며 쓰기도 쉽다. (와우;;)
또한 제이쿼리는 브라우저간 호환성이 매우 뛰어나다는 점이 있다.
우리나라의 가장 문제는 IE를 아직도 쓴다는 것이다. (제발 IE를 버려주세요)
can i use에 어떤 속성을 넣었을 때 기도하면서 초록불이 뜨길 간절히 바라지만 IE는 자비가 없다.
제이쿼리는 호환성이 뛰어나서 기껏 만들어둔 기능이 동작하지 않는 경우는 못 봤다. 적어도 나는...
매력적인 메서드도 많다.
(당장 생각나는 제이쿼리의 탐나는 메서드는 fadeout, fadein... 순수 JS로 구현하고 싶었는데 그 코드의 어마무시한 양을 보고 접었다.)
너무 편해서 Vanila JS로만 웹페이지를 구축할 때 가끔은 '아... 이거 제이쿼리로는 한 방에 해결 가능인데...' 라는 생각이 불쑥불쑥 든다. 그리고 가끔 제이쿼리로도 복잡한 기능을 구현할 때 '제이쿼리도 이 정도인데 이거 순수 자바스크립트로는 얼마나 더 구현이 어려워진다는 거야...?' 라는 생각도 든다.
그래서 느낀 단점은?
편리성은 양날의 검이다. 사용자에게 이것저것을 가지치기해서 하나의 간편한 메서드를 제공하면 쓰기는 쉽지만 그것을 세밀하게 수정하기가 까다로워진다. 결국 제이쿼리도 라이브러리이기 때문이다.
JS를 배우기 전에 제이쿼리부터 배우지 말라고 말하는 글을 자주 볼 수 있는데 다시 한 번 쓰지만 제이쿼리는 JS를 기반으로 한 라이브러리이다. 제이쿼리를 쓰긴 쓰는데 어떻게 이렇게 된 건지 전혀 알 수가 없다. 이게 왜 되지? 가 많아진다.
2+2+2 = 6 을 배우기 전에
2*3 = 6 을 배우는 셈이라는 것.
그래서 어떤 에러가 났을 때 그 코드를 내 마음대로 수정하기가 힘들다. 이게 정말 생각보다... 크게 다가온다.
결론은?
이런 단점이 있지만 배우게 된 걸 후회하진 않는다. 한때 제이쿼리가 엄청난 부흥을 맞이했을 때의 잔재가 여기저기 남아있기 때문에 개발자 도구를 열어 제이쿼리가 쓰인 코드를 읽을 수 있게 됐고 그 중 좋은 건 나도 가끔 가져다 쓴다.
게다가 제이쿼리를 기반으로 한 유명한 라이브러리들은 결국 제이쿼리로 컨트롤 해야하기 때문에 (애증의 fullpage.js) 제이쿼리에 대해 까막눈이었다면 적용하기 더 힘들었을 것 같다.
그리고 글로만 봤을 때 와닿지 않았던 제이쿼리의 장단점을 몸소 느낄 수 있었다.
참고 웹사이트
www.zerocho.com/category/jQuery/post/57b356d4d841141500b31e1e
www.samsungsds.com/kr/insights/jQuery.html
'회고록' 카테고리의 다른 글
정보처리기사 공부를 마치며... (0) | 2021.04.29 |
---|---|
react에 대하여 (0) | 2021.04.29 |
2021 1회 정보처리기사 실기 후기 (0) | 2021.04.25 |
듣고 싶은, 하고 싶은 것들... (0) | 2021.03.12 |
정보처리기사 준비 (0) | 2021.03.11 |