프레임워크:
코드를 만들 때 필요한 뼈대 틀을 제공해주는 것 따라서 프레임워크에서 개발을 할 때는 프레임워크가 가지고 있는 규칙에 의해 작성, 즉 제어권이 프레임워크가 가지고 있는 것
ex) spring, django, nextJs, nuxtJs
라이브러리:
사용자는 특정 규칙이 아닌 필요로 하는 라이브러리를 선택해서 사용할 수 있다 코드를 작성할 수 있는 환경을 제공, 즉 제어권이 개발자한테 있다.
ex) node에서 설치되는 패키지, reactJS, jquery
react는 nodeJS의 환경에 의해 실행
구글 크롬의 v8엔진을 활용하여 브라우저 밖에서도 (내 로컬환경) 자바스크립트를 컴파일(번역) 혹은 실행할 수 있는 일종의 런타임(실행환경)
React JS의 핵심 컨셉 : component 와 re-render