리액트 개념, NPM, 웹팩, 개발 환경 구축

2021. 11. 19. 19:28책 도장깨기

211118 - 리액트 개념, NPM, 웹팩, 개발 환경 구축


리액트의 개념과 장점

화면 출력에 특화된 프레임워크임.

  • 컴포넌트(독립적인 코드 블록)를 조합하여 화면을 빠르게 구성할 수 있다.
  • 화면 출력 속도가 빠르다.(게임 엔진처럼?)
    • 자바스크립트의 제이쿼리, 핸들바 라이브러리를 생각해보자. 얘네는 화면 일부를 수정하면 화면 전체를 다시 그린다.(트리 구조로 생각했을때 부모가 수정되면 자식 노드도 수정된다는 것이다. 부모 노드만 수정해야함에도!)
      • 페이스북 페이지에서 화면 전체를 수정하지 않기 위해 알림 부분만 수정하려다보니(전체 새로고침을 피하려다보니) 알림 숫자가 일치하지 않는 기묘한 문제가 있었다고 한다. 이 문제를 해결하기 위해 '게임 엔진 원리'를 도입하게 된다.
      • 게임 엔진은 다음 장면에 필요한 화면을 미리 그려둔다. 이처럼 다음 화면에 나타날 화면의 일부 노드를 미리 그려 놓고, 변경될 화면의 일부 노드만 수정하는 가상 화면Virtual Dom기줄을 만들었다. https://github.com/FEDevelopers/tech.description/wiki/가상-돔과-돔의-차이점

NPM으로 관리하는 자바스크립트 라이브러리

개발자끼리 프로젝트를 공유할 때 라이브러리를 전송하지 않고 설치될 라이브러리 정보가 저장된 package.json 과 핵심 코드만을 전달하면 된다. 실제 라이브버리는 node_modules 에 저장된다. npm을 개선한 yarn을 많이 사용하기도 한다.(동작 방식은 비슷하다.)


웹팩

프레임워크는 .js, .css 같은 기존 웹 문서 파일을 사용하지 않는다. 예를 들어 트위터 부트스트랩 템플릿은 웹 문서 스타일을 .css 가 아닌 .sass 파일로 작성하는데, 웹 브라우저는 이 파일을 해석하지 못하므로 웹팩이 그 역할을 해줘야 한다.

웹팩은 프로젝트에 사용된 파일을 분석하여 기존 웹 문서 파일로 변환해준다.

웹팩은 js, png, jpg같은 파일을 자르거나 묶어주는 역할도 한다. 그래서 프로젝트 용량을 줄여준다.

웹팩은 간단한 노드 기반의 웹 서버를 구동하기도 한다.


참고서적

Do it 리액트 프로그래밍 정석

728x90
반응형

'책 도장깨기' 카테고리의 다른 글

면접을 위한 CS 전공지식 노트  (0) 2022.08.04
후지필름 GFX의 모든 것  (0) 2022.05.28
GFX의 모든 것  (0) 2022.05.12
리액트 개발 환경 구축, 앱 생성  (0) 2021.11.19