프로그래밍 언어/ReactJS
ReactJS란?
민졈
2022. 2. 11. 11:03
ReactJs는 프레임워크가 아닌, 자바 스크립트 라이브러리의 하나로서, 사용자 인터페이스를 만들기 위해 사용된다. 페이스북과 개별 개발자 및 기업들 공동체에 의해 유지보수 된다.
프레임워크는 필요한 기능이 이미 만들어져있어서 틀이 있으면 안에 있는 것들을 우리가 채워서 완성하는 것이다.
대신 틀을 벗어나기 힘들고, 프레임워크는 한가지의 프레임워크만 사용할 수 있다.
또한 다른 라이브러리와 충돌할 수 있고 무겁게 느껴질 수 있다.
Spring Boot, Eclipse 등도 프레임 워크 중 하나이다.
반면 라이브러리는 필요한 곳에 넣기만 하면 된다.
그렇다면 ReactJS가 Angular를 대체할 수 있을까?
답은 당연히 NOPE!!
Angular는 프레임워크이기 때문에 ReactJS로 대체할 수 없다.
우리는 그저 필요한 곳에 프레임워크나 라이브러리를 선택해서 사용하면 된다.
가상 DOM (Virtual DOM)
React는 가상 문서 객체 모델 즉, 가상 DOM이라는 기능을 가지고 있다.
Jquery로 실제 돔을 처리하는것은 속도도 느리고 비효율적이다.
Virtual DOM은 이를 추상화 시킨 것으로 JavaScript를 사용한 것이다.
값이 업데이트 될 때마다 UI를 업데이트 시킨다고 하면, jquery는 기존에 있는 값들과 일일히 비교하면서 검사해야하지만
React는 이를 쉽게 할 수 있도록 도와준다.
React는 인 메모리 데이터 구조로 프로그래머는 마치 모든 페이지가 변경될 때마다 렌더링되는 것처럼 코드를 작성할 수 있지만,
실제로 React 라이브러리는 실제로 변경되는 하위 컴포넌트만을 렌더링하는 것이다.
JSX (JavaScript XML)
JSX는 XML 같은 문법을 사용하는 ECMAScript의 확장이다. HTML과 모습이 비슷한것이 특징이다.