Front-end 의 프레임워크에는 대표적으로 3개의 프레임워크가 있다.
React / Vue / Angular
3가지 프레임워크를 비교한다!
React
React는 사용자 인터페이스를 만들기 위한 Javascript 라이브러리이다.
React의 특징으로는
- 선언형
- 컴포넌트 기반
- 한번 배우면 여러 곳에서 사용 가능 (Node 서버 렌더링, React Native 모바일 앱)
- Virtual DOM을 사용해서 변경되는 부분만 랜더링하여 성능을 높혔다.
- SSR - next.js
React 장점
- 배우기 쉽고 어플리케이션을 만드는데 간단하다.
- Component 기반으로 단 하나로 관리할 수 있따.
- Garbage Collection, 메모리 관리, 성능 면에서 뛰어나다.
- 서버 사이드 랜더링과 클라이언트 랜더링 둘 다 지원한다.
- UI 수정하기 간편하고 재사용성이 높다.
- 리액트는 라이브러리여서 다른 프레임워크와 라이브러리의 혼용성이 높다.
React 단점
- 데이터 모델링, Routing, Ajax 같은 기능은 제공하지 않는다. 보여지는 부분만 관여한다.
- 기능을 직접 구현하거나 라이브러리를 사용해서 구현해야 해서 자바스크립트 지식이 필요하다.
- IE8 이하는 지원하지 않는다.
Vue
Vue는 사용자 인터페이스를 만들기 위한 프로그레시브 프레임워크이다. 뷰 레이어만 초점을 맞춰서 다른 라이브러리와 호환성이 좋다.
- Virtual Dom
- SSR (nuxt.js)
- typescript
- 낮은 러닝커브
Vue 장점
- Template 와 Render function을 모두 사용할 수 있는 옵션
- 간편한 syntax
- 빠른 렌더링과 작은 용량
Vue 단점
- 작은 생태계
- 일정하지 않은 업데이트 주기
- Template 특성상 runtime error가 나기 쉬움
- 재구조화 어려움
- 큰 규모 어플리케이션에서 문제가 발생할 수 있음
Angular
angular는 타입스크립트 기반 오픈 소스 프론트앤드 웹 애플리케이션 프레임워크이다.
- 완전한 프레임워크이다. 프로젝트 생성, 테스트 빌드, 배포를 위한 모든 기능을 제공한다.
- Angular CLI를 제공한다. 파일생성, 빌드 패키징, 라이트 서버 기능 등등 개발에 필요한 기능은 자체적으로 제공해준다.
- 모듈과 컴포넌트 기반
- 대부분의 라이브러리는 모두 포함해서 제공
- 단일 페이지 어플리케이션(SPA) 개발을 위한 프레임워크
- SSR 기능
Angular 장점
- 개발의 모든 것이 갖춰있는 프레임워크이다. (HTTP, 라우팅, UI 컴포넌트 라이브러리 등)
- 유지관리 용이
- angular cli ( 프로젝트 생성, 라이트한 서버 제공, 웹펙 내장(빌드수행), 테스트)
Angular 단점
- 일반적인 앵귤러 패턴이 있다.
- 기본적인 기능을 제공해서 다른 선택의 여지가 없다.
- 러닝커브가 높다
참조
React js VS Vue js
앵귤러(Angular) 란? 특징 및 장단점
[Vue.js 알아보기] #1 - 정의/ 특징/장단점
React, Angular, Vue.js 비교