이 글은 유튜브의 [React.js] 강좌를 통해 작성되었습니다.
https://www.youtube.com/watch?v=GEoNiUcVwjE&t=6s
# react 는 유저 인터페이스를 만들기 위한 라이브러리
- controller, ajax, router 등 기능을 내장하지 않음 => 그래서 가벼움
- 위의 기능이 필요할 경우 서드파티(Third party) 라이브러리를 이용하여 개발 가능
# react 가 angular 를 대체할 수 있을까?
- angular 는 프레임 워크(내부에 view 가 있는 것 정도)
- react 는 view 만 담당
참고로 둘다 같이 사용가능.
# react 라이브러리의 핵심은 가상 돔(Virtual DOM)을 사용한다는 것.
- jquery 나 javascript 에서 실제 돔을 처리하는 것은 성능도 느리고 비효율적이고 관리도 힘듬.
: 간단한 처리에는 상관이 없지만, 많아질수록 힘들어짐
- 반면에 virtual DOM 은 이를 추상하하여 자바스크립트 객체에 불과함
: 이미 랜더링 되어있는 HTML 이기에 처리가 더 빠름.
# react 의 장점
- angular, backbone 등의 프레임워크에 비해 배우기가 간단하다.
- 뛰어난 가비지 컬렉션, 메모리 관리, 성능 등을 가짐
- 서버 & 클라이언트 렌더링 가능
: 초기 구동 딜레이
: 검색엔진최적화
- 간편한 UI 수정 및 재사용
- 페이스북 개발자가 개발했고, 지속적으로 업데이트
: 그외 야후, 넷플릭스 등에서도 사용 중
- 다른 프레임워크나 라이브러리와 혼용 가능
: 개발이 완료된 서비스에도 적용이 가능함
# react 의 단점
- view 만 관리하기 때문에 data modeling, router, ajax 등의 기능이 없음
: 해당 기능이 필요하면 라이브러리 or 프레임워크 등을 혼용하여 적용하면 됨.
- Javascript 배경지식이 부족하면 어려울 수 있음.
- IE8 이하 버전 지원 X
: react 버전 14 이하를 사용, 이를 호환해주는 Polyfills 를 사용하면 가능.
# 그 외
React 인가 Vue 인가?
https://joshua1988.github.io/web_dev/vue-or-react/
'공부 > 프로그래밍' 카테고리의 다른 글
Github에서 제공하는 호스팅으로 jekyll 블로그 설치하기 (0) | 2018.06.26 |
---|---|
윈도우에 Apache, php7 설치하기 (0) | 2018.06.15 |
[github] 깃허브 웹호스트 만들기 (0) | 2018.05.11 |
[python] 파이썬 스케줄 수행 - schedule, apscheduler (6) | 2018.04.20 |
[python, javascript] 글 속에서 해시태그 추출(python) or 화면에 링크 걸기(javascript) (0) | 2018.04.18 |
댓글