jQuery에 대한 슬픈 고찰

83
post-thumbnail

국비 > 웹 퍼블리셔 > 백엔드 개발자 > 필요하면 뭐든 다 하는 개발자 > 지상 최강의 개발자

이런 루트를 밟아온 사람이라 jQuery 시대 를 알고있습니다.
그런데, jQuery를 까는 글을 보고 너무나 안타까워서 이런 글을 쓰게 되었습니다.

어둠의 시대

jQuery를 까는 사람은 ES6와 SPA가 나타난 이후에 프론트엔드를 시작하셨을겁니다. 응애
jQuery 시대를 살았던 사람은 결단코 jQuery를 깔 수 없으니까요.

Node.JS, ES6와 SPA라이브러리의 등장은 JavaScript 생태계의 천지개벽과 같았습니다.
문법도 거지같고아름답지 않고 쓰기도 어려웠던 JavaScript였기 때문이거든요.

let, const 도 없었으며, 대부분의 array method도 없었습니다.
지금 쓰는 문법은 다 없었어요. 아무것도 없었어요. 없었다구요.

아, 그런 문법이 있었는데요? 아뇨 없어요.
없었어요? 아니 없어요!

거지같은 JavaScript를 어떻게든 써야만 했습니다.
그래서 JavaScript로 왠만하면 뭘 안하던 그런 시대였습니다.

jQuery 시대

"jQuery는 쓸 줄 아는데 JavaScript는 쓸 줄 모른다."

라는 말이 존재하던 시대였습니다.
그 정도로 jQuery의 등장은 혁명이고 구원자였습니다.
그리피스?!

// JavaScript
document.getElementById('targetId');


// jQuery
$('#targetId');

// JavaScript
var xhr = new XMLHttpRequest();
xhr.open('https://...')
xhr.send();

xhr.onload = function(e) {
  // ...
};

xhr.onerror = function(e) {
  // ...
};

// jQuery
$.ajax({
  url: 'https://...',
  success: function(e) {
    // ...
  },
  failed: function(e) {
    // ...
  },
});

이런 기초적인 예제 말고도 jQuery는 굉장히 많은 편의성을 제공했습니다.
jQuery는 개발자들의 생산성을 비약적으로 높여줬습니다.
그리고 프론트엔드에 많은 가능성을 제시했습니다. 빛과 소금

querySelector를 쓰면 되지 않냐? fetch를 쓰면 되지 않냐? 라고 하는 사람이 있겠지만, 앞에서 얘기했듯이 "없었어요."
querySelector 는 IE9부터 지원하는 문법입니다.
fetch 는 IE11 까지도 아예 쓸 수 없습니다.

그 시대에는 IE6 까지 지원하는게 일반적이었습니다.
(jQuery에 영감을 받아 탄생한 querySelector같은 문법들도 있을 정도입니다.)

jQuery는 그 모든걸 처리해주면서도 편리한 문법을 제공했습니다.
거의 모든 라이브러리는 jQuery의존성을 가지고 제작됐고
모든(이라고 할 수 있을 정도로) 개발자는 jQuery를 사용했습니다.

그리고 베헤리트마냥 버전이 안맞으면 다 제물로 바쳐졌...

ES6과 SPA의 등장

내가 알던 그 찐따같던 JavaScript 맞냐? TypeScript는 전설이다... 어?

그런 찐따같던 JavaScript도 Node.JS 가 나타나고, 브라우저에서만 돌아가던 찐따같던 언어가 아닌
수많은 가능성을 지닌 프로그래밍 언어로 재탄생하게 되었습니다.
그 전까진 프로그래밍 언어가 아니라 브라우저 언어였달까

그러면서 ES6가 논의되며 지금 우리가 사용하는 문법들이 탄생하게 되죠.
이 쯔음 Node.JS 시대가 시작되며 프론트엔드 개발자 라는 단어가 본격적으로 쓰이게 됩니다.
(그 전까진 프론트엔드 개발자 많이 쓰이는 단어는 아니었음)

"Github가 jQuery를 덜어냈다더라" 라던가, 그런 말들이 슬슬 들리기 시작했죠.
이제는 jQuery에 의존하지 않아도 충분히 개발이 가능한 시대가 된겁니다.
그 쯔음부터 jQuery를 쓰지 않는게 점점 트랜드가 되어갔습니다.

jQuery의 탄생이 혁명이었던 것 처럼 React같은 SPA의 등장도 혁명적이었습니다.
컴포넌트의 재사용이 그 전까지는 거의 뭐 없다시피 했거든요.

function someComponent(id) {
  return '<div id=' + id + '>'
    + 'some text'
    + '</div>';
}

target.addChild(someComponent('targetId'));
targetId.innerText = 'changed text';

이런 식으로 쓰고싶지도 않고 쓰지도 않았으니까요.

어 느새 부터 jQuery 는 안 멋져

이제는 JavaScript도 좋아졌고, Angular, React, Vue, Svelte 등의 프레임워크들이 나오면서
더 이상 jQuery가 없어도 개발이 충분히 가능해졌습니다.
오히려 버전 안맞아서 터지는 jQuery보다 낫지

옛날엔 "jQuery없이 쌩 JavaScript로 어떻게 하냐?" 라고 했는데
이젠 쌩 JavaScript도 쓸만해졌으니까요.

ES6와 SPA가 나오기 전 까지 암흑같던 JavaScript 생태계를 밝혀준 등불 역할을 잘 해주었습니다.

jQuery가 나쁜게 아닙니다. JavaScript가 발전하고 시대가 바뀐거지.
이젠 jQuery가 미래가 아닐 뿐입니다.

그러니 이 글을 보신 여러분은 앞으로 jQuery를 깎아내리지 않았으면 좋겠습니다.
한 시대를 밝혀준 등불이고, 이젠 그 등불이 없어도 JavaScript 세상이 밝아진 것 뿐이니까요.

profile
지상 최강의 개발자 쥬니니

30개의 댓글

comment-user-thumbnail
2022년 1월 29일

기술에 대한 애정이 느껴지는 글이네요 감사히 잘 읽고 갑니다 🙏

1개의 답글
comment-user-thumbnail
2022년 1월 29일

크... 재밌고 명문이십니다. 좋은 글 감사합니다.

1개의 답글
comment-user-thumbnail
2022년 1월 29일

항상 짤방이 너무 웃겨요 ㅋㅋㅋㅋ 글이 술술 읽히고 너무 재밌어요 최고최고

1개의 답글
comment-user-thumbnail
2022년 1월 30일

이제 막 웹개발 시작하는 웹린이인데 이런 역사가 있었군요. 나름 한 시대를 풍미한 기술이라는 거네요.. 재밌게 쓰인 글 잘 읽고 갑니다! 좋은 글 써주셔서 감사합니다.

1개의 답글
comment-user-thumbnail
2022년 2월 2일

이건.. 글이 아니다... "예술"이다

1개의 답글
comment-user-thumbnail
2022년 2월 2일

ajax책을 창고에 넣어났는데, 다시 책장으로 모셔야겠습니다.

1개의 답글
comment-user-thumbnail
2022년 2월 2일

모든 단락이 아름다운 글이네요.
항상 좋은 글 써주셔서 감사합니다.

1개의 답글
comment-user-thumbnail
2022년 2월 3일

저의 경우는 자바스크립트가 접근하기 너무 어려워 제이쿼리를 썼었는데 제이쿼리를 쓰다보니 자신감이 생겨서 바닐라 자바스크립트를 더 열심히 공부했던 기억이 나네요ㅋㅋㅋ 어찌보면 제가 프론트엔드로 전향(?)하는데 가장 밑거름이 된게 제이쿼리죠

1개의 답글
comment-user-thumbnail
2022년 2월 3일

첨부터 끝까지 진짜 웃으면서 봤네요 ㅋㅋㅋㅋ 국비출신으로 새로운 기술들을 접하고 있지만 그래도 jQuery는 못잃죠 ㅠㅠㅠ

1개의 답글
comment-user-thumbnail
2022년 2월 3일

맞읍니다. Jquery1.3 버전으로 동년배들이 저와 함께 신세계를 외친게 엊그제 같은데... ㅠㅠ

1개의 답글
comment-user-thumbnail
2022년 2월 4일

쥬니니님은 글 쓰실때 어쩜 이렇게 짤을 적절하게 쓰시는지 대단합니다, 아직까지도 jQuery가 현업에서 쓰이는걸 보면 역시 노장은 죽지 않는다는 말이 생각나네요

1개의 답글
comment-user-thumbnail
2022년 2월 4일

???: 아저씨 그 영웅이죠? 맞죠?
$76: ... 이젠 아냐..

1개의 답글
comment-user-thumbnail
2022년 2월 7일

지상 최강의 개발자 쥬니니 🔥🔥

1개의 답글
comment-user-thumbnail
2022년 3월 7일

생코 그룹에서 알게되어 쭉 둘러보고있습니다.ㅎ 좋은글 감사드립니다!

1개의 답글
comment-user-thumbnail
2022년 3월 27일

거의 제가 아는 밈 짤방들과 함께 풀어서 보니까 아직 학생으로 지내고 있는 저는 되게 재밌게 즐길 수 있어서 너무 감사합니다! 특히 이번에 눈에 띄는건 매의 단 대신 jQuery단이군요 ㅋㅋㅋㅋ
아직 프로젝트 경험도 많지 않아 코드도 제대로 못 짜는 저지만 망할 때 진로 새로 잡을까하면서도 이런 역사 같은건 도저히 끊을 수 없더라구요. 그래서 여기 글을 항상 페이스북 통해서 보며 웃다가 오늘 PC로 처음 보네요. 글 잘 봤습니다 :) 항상 건승하세요!

1개의 답글