[React.JS] 기본 강의 요약
React.js 란?
프레임워크가 아닌 라이브러리다.
유저 인터페이스를 만들기 위한 라이브러리 : A javascript Library for Building User Interface
- 프레임워크(틀) : 필요한 기능이 대부분 구현되어 있다. : 배
틀 안에서 기능을 채워넣기 때문에, 벗어나기가 어렵고 보통 1가지만 사용하게 된다. 개발자가 사용하지 않을 기능들도 전부 구현되어 있어서, 상황에 따라 무거울 수 있다.
Application 개발시 코드의 품질, 필수적인 코드, 알고리즘, 암호화, 데이터베이스 연동 같은 기능들을 제공한다. 즉, 필요한 기능들이 구성 되어있는 뼈대(구조)를 제공하며, 개발 구조나 설계 시 제공되는 인터페이스의 집합이다. 완성된 어플리케이션은 아니지만, 프로그래머가 어느정도 제공된 프레임워크의 구조에서 어플리케이션을 개발할 수 있도록 한다.
- 라이브러리 : 필요할 때 가져다 사용하면 되는 것이다.(기능을 호출하여 사용) : 연장
다른 라이브러리와 충돌할 일 없고, 특정 기능에 대한 API(도구 / 함수)를 모은 집합을 의미한다.
Controller, Ajax, Router 등을 내장하지 않는다. > But, 써드파티 라이브러리로 간편하게 구현할 수 있음
JS > 웹 서비스 +모바일 앱 / 윈도우 어플리케이션 구현 가능
EX ) 아톰, 슬랙....
Angular를 대체할 수 있을까?
: NO. 서로 비교를 할 수 없다. 앵귤러는 뷰, 레이어를 포함하는 완전한 프레임워크이다.
React는 View 를 담당하며, React와 Angular를 혼합하여 사용할 수 있다.
리액트 네이티브 : 모바일 네이티브 앱을 리액트로, 앵귤러도 네이티브를 개발 중이며 내부에서 리액트 기능을 사용한다.
React Library의 핵심 : 가상 돔(Virtual Dom)을 사용한다.
>> 이미 렌더링 된 html을 실제 Dom API 를 사용하여 처리하는 것 보다 훨-씬 빠르다.
jQuery / 순수 Javascript : 실제 돔을 직접 처리 > 성능도 느리고, 비효율적이고, 관리도 힘듬.
처리해야할 데이터가 늘어날 때 마다 힘들어진다.
https://velopert.com/3612