1. vue.js 프레임 워크를 선택한 이유
- 러닝커브 낮음 but 다른 프레임워크에 뒤지지 않는 성능을 자랑함
- html, 자바스크립트 문법 지식으로 충분
- 단순한 구성요소
- 컴포넌트 단위의 관리
- 역사가 짧음에도 불구하고 github에서 확인했을때 엄청난 성장력을 자랑
- component-based
- 단일파일 컴포넌트 -> 유지보수가 용이, 개발속도가 빠름
- 가상돔 사용으로 빠른렌더링
- SPA
- 빠른 반응, 화면전환
2. 프로젝트를 진행할때 프레임워크를 선택할 것이고 그이유는?
- React.js
- 개발 생태계가 크다.
- 규모가 큰 프로젝트에 적합하다.
3. 프레임워크에 대한 차이점, 장단점
Vue.js
- 템플릿 문법
- but 런타임 에러가 나오기 쉽고, 테스트가 어려우며 재구조화가 어렵다.
- 단점 : 미래에 대한 불안감(리액트, 앵귤러의비해), 대기업의 지원이 아닌 개발자들의 순수 오픈소스 기반
- 리액트의 최대 강점인 가상돔이 2.0 버전에 도입됨
- 소개페이지 부분을 확인해보면 초기렌더링 속도가 빠르다.
- Angular의 양방향 데이터 바인딩 특성과 React의 가상돔기반 렌더링 원리 장점을 적용
Angulra.js
- 컴포넌트 기반 => 코드 분리, 재사용성이 우수
- 다른 프레임워크에 비해 무겁고 렌더링 속도가 느리다. (첫 페이지 로딩 속도)
- TypeScipt 사용
- 진입장벽이 높음
React.js
- react를 배워놓으면 react native를 배우기 쉬움. 웹 프레임워크 하나 익혀놓으면 앱까지 개발할 수 있다.
- JSX문법
- 렌더링 시스템이 더 정밀한 구성이 가능하고, shallow렌더링과 같은 기능들을 갖고 있다.
- 테스팅 도구와도 결합할 수 있어, 테스트하기 수월하고 더 유지보수 가능한 코드를 만들 수 있다.
- application data의 불편 속성이 처음에는 복잡해보일 수 있지만, 복잡한 규모의 앱에서는 테스트와 투명도 측면에서 빛을 발한다.
요약
Vue
- Template과 Render Function을 모두 사용할 수 있는 옵션
- 간편한 Syntax와 프로젝트 설정
- 빠른 렌더링과 더 작은 용량
React
- 큰 규모에서 더 빛을 발하고 테스팅이 수월
- Web과 Native앱 개발에 모두 사용가능
- 더 큰 개발자 생태계에서 오는 많은 레퍼런스와 도구들
유사한점
- 가상돔으로 빠른 렌더링
- 경량 라이브러리
- Reactive Component
- Server Side Rendering
- 라우터, 번들러, state management와 결합이 쉬움
훌륭한 개발자 커뮤니티와 지원