cosmic developer

[React 기초] 리액트란? 본문

Front-End/React

[React 기초] 리액트란?

ti:bot 2020. 3. 11. 21:22

아래의 세 가지 이미지는 자바스크립트를 기반으로 하는 웹 프레임워크의 로고로 왼쪽부터 앵귤러JS, 리액트, 뷰JS이다. 앵귤러같은 경우에는 구글, 리액트는 페이스북에서 시작되었지만 특이하게도 뷰js는 중국출신의 한 사람에 의해서 시작된 프로젝트라고 한다. 요즘 뷰js가 많이 떠오르고 있다고 하던데, 정말 대단하다고 생각한다.


오늘은 특히 리액트의 특징에 대해서 알아보자.





먼저 라이브러리라는 개념은 프로그래밍에 있어서 자주 쓰는 기능들을 모아뒀다는 것이다. 그리고 위 세가지는 화면을 만들기 위한 기능들을 모아놓은 자바스크립트 라이브러리이며, 이를 다르게 말하면 웹페이지를 쉽게 만들 수 있게 도와준다는 것을 의미한다.



리액트의 특징

빠른 업데이트와 렌더링 속도

리액트는 화면을 업데이트할 때 속도가 빠르다는 장점이 있다. 빠른 속도에는 Virtual DOM이 한 몫을 한다.


- DOM: 화면을 정의하는 객체를 의미한다. 즉, 화면을 나타내는 웹페이지를 하나의 객체로 정의했다는 것이다.

- Virtual DOM: 가상의 돔. 웹페이지와 실제 돔 사이에서 중간 매개체 역할을 한다. VIrtual DOM에서 바뀐 부분에 대해 Re-render를 하면 실제 돔에서 업데이트된다.


Component-Based

리액트에서는 컴포넌트가 주요하게 활용된다. 이는 재사용성(reusablility)을 높여주고, 재사용성이 좋다는 것은 그만큼 개발속도가 빨라진다는 것을 의미한다.


Facebook

페이스북의 프로젝트인 만큼 계속해서 개발이 이루어지고 있으며, 새로운 버전 출시도 지속적으로 이루어지고 있다. 하지만 이는 그만큼 계속 공부를 해야한다는 의미이다. 또 새로운 버전에서는 이전에 개발해두었던 것이 제대로 작동하지 않을 수도 있다는 단점이 있다. 하지만 어차피 개발자는 평생 공부해야한다는... 그냥 받아들여야 한다!


활발한 지식공유와 커뮤니티

개발을 할 때 정말 큰 장점이 될 것이다.


React Native

리액트를 익힌 후 리액트 네이티브까지 섭렵한다면 모바일 앱도 개발할 수 있다.