공식사이트 정의
- A JavaScript library for building user interfaces
- 사용자 인터페이스를 만들기 위한 자바스크립트 라이브러리
- 라이브러리 : 자주 사용되는 기능들을 정리해 모아 놓은 것
- 사용자 인터페이스 (User Interface, UI) : 사용자와 컴퓨터가 서로 상호작용을 하기위해 서로의 입력(키보드, 마우스)과 출력(모니터, 스피커)을 제어해 주는 것
- Ex)웹사이트 가입 버튼, 가입된 사용자를 위한 특정 페이지
- UI 라이브러리 : 사용자 인터페이스를 만들기 위한 기능 모음집
즉, 리액트는 대표적인 자바스크립트 UI 라이브러리
자바스크립트 UI 라이브러리 종류들
-
Ngularjs
- google이 제작, 오픈소스 프로젝트, 자바스크립트 기반 웹개발 프로젝트.
- 2010년에 출시, 예전에는 많이 사용했었다
- 2018년, 롱텀 서포트 : 단기간에 버전 업데이트를 하지 않고, 안정적인 버전을 장기간 유지하는 방식인 LTS모드에 돌입.
- 2022년 1월, LTS중단 선언. 공식적인 지원 종료
-
React
- 자바스크립트 라이브러리는 이름뒤에 .js를 많이 붙인다
- Facebook(현 Meta)에서 제작
- 2013년에 출시
- 현재 가장 많이 사용되는 라이브러리
-
Vue.js
- 에반 유 개발, 오픈소스 프로젝트
- 2014년 출시
- 점점 성장되어 현재는 react와 항상 같이 언급됨
프레임워크(ngularjs, vue.js) VS 라이브러리(React)
- 차이점 : 프로그램의 흐름에 대한 제어권한
- 프레임워크 : 흐름의 제어권한을 개발자가 아닌 프레임워크가 소지
- 라이브러리 : 흐름에 대한 제어를 하지않고, 개발자가 필요한 부분만 가져다 사용
웹 개발의 트렌드
- 한가지 기술이 평생 대세가 되지 않는다
- 기술의 큰 흐름을 읽는 것이 중요
- 웹사이트의 작동 원리와 흐름을 함께 이해하는 것이 중요
결론 : React는 사용자와 웹사이트의 상호작용을 돕는 인터페이스를 만들기 위한 자바스크립트 기능 모음집
- 복잡한 사이트를 빠르고 쉽게 만들고 관리하기 위함
SPA(single page application) : 하나의 html틀을 만들고 사용자가 요청할 때, 요청 부분만 변경