React는 메타(페이스북)에서 오픈소스로 공개한 프론트엔드 JS라이브러리다.
메타가 서비스하는 페이스북은 고객과의 상호작용이 많아 엄청난 데이터가 실시간으로 생성, 삭제, 수정되고, 이렇게 지속적으로 데이터가 변함에도 안정적인 화면을 보여줄 수 있는 기술이 필요하여 사용자 인터페이스(UI) 개발에 초점을 맞춘 프론트엔드 라이브러리인 리액트를 고안하게 된 것이라 한다.
위 내용을 보면 요즘 웹상에서 사용자들이 추구하는 부분에 초점을 맞춰 탄생된 개발툴이다.
그리고 데이터가 변할 때마다 화면을 새로 띄우는 대신, 필요한 곳만 업데이트 해주는 형식을 가능케 해주는 것이 ‘가상 DOM(Document Object Model)’이라는 개념이다.
또 다른 부분은 컴포넌트라는 개념이다.
컴포넌트라는 조각 코드를 기본단위로 화면에 구성되는 요소들을 하나하나 개발하지 않고 반복되는 것들은 컴포넌트를 재사용해 생산서을 높일 수 있다. 오류가 생겼을 때도 전체 페이지를 수정하는 대신 해당 컴포넌트만 수정하면 되어 해결이 용이하다.
리액트만 가상 DOM과 컴포넌트를 사용하는 것은 아니지만 리액트의 인기에 한 몫을 한 주요 특징이다.
인기가 많다고 해서 완벽한 툴은 아니다. 장점이 있으면 단점이 있고 그것을 보완할 수 있는 다른 언어로는 오류를 줄이고 개발 생산성 향상시킬 TypeScript, 리액트 문법 그대로 리액트의 단점을 보완한 프레임워크인 Nest.js가 있다.
_Mon 09-Dec-2024
여기저기 리액트가 좋다는 말이 있고 많이들 사용하지만 단점을 보완할 다른 부분은 항상 염두해 두어야 하며, 더 좋은 프레임워크가 나온다면, 병행하거나 넘어가는 것을 두려워 해서는 안될것이라 생각한다.