react 의 탄생 배경
초기의 웹사이트는 웹 사이트를 보여주고 다른 페이지를 이동해서 정보를 보여주는 기능이 전부였다면 이젠 웹 안에서 모든 것을 할수 있게 되었다. 사용자가 별도의 응용 소프트웨어(어플리케이션)을 설치하지 않아도 웹 브라우저를 통해서 기능들을 이용할 수 있도록 만들어진 서비스를 웹 어플리케이션이라고 한다. 현재 만들어진 웹서비스들은 '웹사이트'라 칭하기 보단 '웹 어플리케이션' 이라는 단어로 표현한다.
초기 웹사이트는 바닐라 자바스크립트로 개발하기에 충분했지만, 웹 개발이 복잡해짐에 따라 한계를 느꼈다.
이에 제이쿼리(라이브러리)가 등장했지만 DOM을 직접 조작해야하는 방식에서 벗어나지 못해 어려움을 느껴 이런 배경을 통해 새로운 라이브러리와 프레임워크의 필요성이 대두되었고 그 결과 우리가 현대 프론트엔드 개발에서 사용되고 있는 프레임 워크가 탄생하게 되었다.
현재 가장 많이 사용되고 있는 것들은 👇👇
react, angular, vue (순서대로) 가 있다.
Framework와 Library
이 둘은 혼동하기 쉬운데 Framework 와 Library는 개발을 하면서 편리하게 하기 위해 미리 작성해서 제공해준 코드로 개발자는 필요한 기능을 사용할 수 있다는 공통점이 있다.
다만 프레임워크는 작업을 하기 위해 전체적인 틀을 제공하는 것이고 라이브러리는 전체적인 틀이 아닌 하나의 '필요한 도구'를 사용하는 의미에 가깝다.
angular, vue 는 프레임워크
react 는 라이브러리이다.
(다행히 리액트는 자바스크립트의 문법을 그대로 사용할 수 있다, 현재 프론트앤드 개발에서 가장 많이 사용되고 있음)
Node.js 와 NPM
Node.js
Node.js 는 chrome V8 js 엔진으로 빌드된 js 런타임(실행환경)이다.
예륻 들어 txt 은 단순히 덩어리이다. 이를 열어보려면 '메모장' 같은 실행 환경이 필요하다.
노드는 js 를 읽고 해석하고 실행할 수 있는 엔진이다. 실행에 필요한 기능들을 제공하는 도구! 브라우저도 대표적인 js의 실행환경이다.
브라우저는 내가 쓴 코드를 읽고 실행할 수 있게 해주는 js의 실행환경이다.
브라우저 외에도 js 를 실행할 수있는 실행환경에 대한 니즈가 생기고 그 결과 노드js가 생긴 것!
NPM
: node package manager
package = js 파일 묶음
여러가지 기능을 작성한 js 파일을 한군데 묶어서 배포하고 이를 가져다 쓰면서 개발하는데 이때 여러가지 js 파일을 묶어둔 것을 패키지라고 부른다.
: node로 실행할 수 있는 패키지들을 관리하는 도구이며 이를 통해 패키지를 다운로드, 업데이트, 삭제할 수 있다
즉, 스마트폰은 노드와 같은 실행환경, npm은 스마트폰을 사용해 쓸 수 있는 어플리케이션
React - nodejs - npm
react 도 하나의 패키지이다.
패키지를 다운로드 받으려면 npm이 필요하고, 개발 환경을 구축하려면 다른 패키지들도 함께 쓰고 조합해서 컴퓨터에서 실행해야하는데 이때 node가 필요하다.
'TIL' 카테고리의 다른 글
React 정의와 특징 (0) | 2022.08.01 |
---|---|
인스타 main page 클론 (0) | 2022.08.01 |
인스타 login page 클론 Day3 (0) | 2022.07.31 |
git & github 사용법 (0) | 2022.07.31 |
인스타 login page 클론 Day2 (수정본) (0) | 2022.07.30 |
댓글