// JavaScript
document.getElementById('myDiv')
// jQuer
$('#myDiv')
// React
import React from 'react';
const MyComponent = () => {
const myRef = React.useRef(null);
return <div ref={myRef} />;
}
jQuery가 처음 나온 2006년 자바스크립트는 넓게 사용되지 않았고 사용하기 쉽지 않았다.
그러나 jQuery는 여러줄의 javascript 코드를 한줄의 코드로 호출할 수 있는 메서드로 래핑함으로써 업계에 혁명을 일으켰다.
Interactive UI elements를 구축하기 위해 페이스북에서 2011년에 만든 오픈소스 라이브러리.
재사용 가능한 라이브러리 코드를 제공
-> 크고 복잡한 동적인 single pase application을 만들 수 있게 됨
jQuery | React |
---|---|
DOM을 직접 제어, 느림 | vitual DOM을 사용하여 더 빠름 |
사이즈가 커지면 스파게티 코드가 됨 | 컴포넌트 기반의 아키텍쳐와 virtual DOM 덕분에 큰 사이즈 앱을 만드는데 적합함 |
npm package가 리액트보다 더 적다. (npm이 jQuery로 부터 많이 이탈 된 2019년에 나왔기 때문) | npm package가 많아서 third-party libraries를 사용할때 더 좋다. |
jQuery의 라이브러리는 React에 비해 18% 가볍다.(약75kB) | 더 무겁다(약 95kB) |
javascript의 브라우저 호환성이 충분히 좋아졌고 javascript의 지속적인 업데이트로 안정성이 높아지고 기능이 추가되면서 jQuery를 사용할 이유가 없어졌다.
복잡한 SPA를 만들 땐 React를 사용하자.
(간단한 웹페이지는 javascript만을 사용하여 만드는게 좋다.)