https://github.com/justinpark/justin-do-it-react
리액트란?
리액트는 프론트 프레임워크 중 하나다. 현재 프론트 프레임워크로는 리액트, 앵귤러, vue.js를 많이 사용하고 있다.
React
- 높은 사용률
- 코드 블록(컴포넌트)을 조합하여 효율적인 화면 구성
- 가상 화면 기술(Virtual DOM) 도입: 화면 출력 속도 빠름
Angular
- 완성형 framework 지향
Vue.js
- 다른 프레임워크의 장점 흡수, 단점 보완
프레임워크: 개발자가 작업을 할 때 사용하는 tool.
vs
라이브러리: 하나의 기능을 제공함, 개발자가 필요할 때 가져와서 사용.
리액트는 다른 프레임워크와는 달리 오로지 ui를 만드는 기능만을 제공하기 때문에, 프레임워크와 유사한 역할을 하는 JavaScript 라이브러리라고 할 수 있다.
가상화면 기술에 대해 조금 더 알아보자.
리액트의 가상 화면 기술(Virtual DOM, 가상 돔)
: 화면의 일부를 미리 그려놓고 변경된 화면의 일부만 수정하는 기술.
js의 다른 라이브러리인 jQuery, 핸들바와 비교해보면, 이들은 화면의 일부분만 수정되어도 화면 전체를 다시 그리기 때문에 오류를 고치기 힘들다는 단점이 있었다(예: 페이스북 알림 버그).
이런 문제를 해결하기 위해 페이스북에서는 가상 DOM을 도입한 리액트를 개발했다.
가상 돔과 돔의 차이점
기술 문서 정리하는 저장소. Contribute to FEDevelopers/tech.description development by creating an account on GitHub.
github.com
DOM
- 웹페이지의 구조를 표현.
- 웹 페이지의 컨텐츠를 동적으로 수정하고 싶으면 DOM을 수정한다.
가상 DOM
- 실제 DOM을 추상화한 것으로, DOM의 간소화된 복사본이라고 할 수 있다. DOM은 이미 추상화 개념이기 때문에 가상 DOM은 추상화를 또 추상화한 개념이다.
- 가상 DOM은 메모리 내에만 존재하고, 렌더링 효율성을 향상시킨다.
NPM(노드 패키지 매니저)
: 자바스크립트 라이브러리를 설치하고 버전을 관리한다.
node_modules 폴더에 실제 라이브러리를 저장하고, package.json 파일에는 설치된 라이브러리의 정보(명세 파일)를 적어 저장한다.
(이 책에서는 npm 대신, npm을 개선한 yarn이라는 프로그램을 사용한다)
웹팩
: 프레임워크가 사용하는 파일 중 웹브라우저가 해석할 수 없는 파일(.sass 파일 등)을 분석하여 .js, .css 등의 파일로 변환한다. 여러 개의 js파일 및 관련 리소스 파일을 적절하게 자르거나 묶어주는 역할도 한다.
'JavaScript & React' 카테고리의 다른 글
02-2 전개 연산자 (0) | 2023.09.28 |
---|---|
02-1 템플릿 문자열 (0) | 2023.09.26 |
01-3. 리액트 앱 수정하기 (0) | 2023.09.25 |
01-2. 리액트 개발 환경 설치하기(2) (0) | 2023.09.25 |
01-2. 리액트 개발 환경 설치하기(1) (0) | 2023.09.25 |