EverGiver
Vue의 이해 본문
728x90
FrameWork (프레임워크)
- 필요성
- Framework은 개발자가 보다 편리한 환경에서 개발할 수 있도록 제공하는 틀이다.
- 소프트웨어 개발의 입장으로써는 공통으로 사용하는 라이브러리 / 개발도구 / 인터페이스 등을 의미한다.
- 웹 프로그래밍의 규모가 계속 커지고 있기 때문에 거대하고 복잡도가 높은 프로젝트를 완성시키기 위해 많은 사람들이 필요하게 되었다.
- 개발자들이 통일성 있게 빠르고 안정적으로 개발하기 위한 도구로 프레임워크가 생산성 항상 등의 좋은 성과를 내고 있다. - 특징
- 자유롭게 설계하고 코딩하는게 아니라 프레임워크가 제공하는 가이드대로 설계하고 세팅하여 코딩해야 한다.
- 개발할 수 있는 범위가 정해져 있다.
- 개발자를 위한 다양한 도구/플러그인들이 지원된다. - 장단점
- [장점]
▷ 개발기간을 줄일 수 있다.
▷ 오류로부터 자유로울 수 있다.
- [단점]
▷ 너무 의존하면 개발능력이 떨어져서 프레임워크 없이 개발하는 것이 어려워진다.
▷ 습득하는데까지 시간이 오래 걸리 수 있다. - 종류
- Java : Spring, 전자정부 프레임워크
- JavaScript : Vue, Angular, React
- Front-end : Bootstrap, Foundation, MDL, Skeleton
Vue의 특징
- 탄생 배경
- 2014년 Google Creative Lab에서 근무하던 Evan You가 개발하였다.
- 당시 구글에서는 이미 단일형 웹 프레임워크인 Angular를 개발한 상태였고, Angular는 동적 콘텐츠 작성을 하는 데 있어서 당시로는 획기적인 방식으로 유형을 불러일으킬 만큼 많은 수요가 존재하였다.
- 다만, 학습하기가 상당히 어려운 편이어서, Angular에서 편리한 특성만 담은 가벼운 라이브러리를 만든 것이 바로 Vue의 시작이었다. - 정의
- User Interface를 만들기 위해서 만들어진 Progressive JavaScript Framework이다.
- 다른 단일형 프레임워크와 달리 Vue는 점진적으로 채택할 수 있도록 설계되어있다.
- HTML, CSS 및 JavaScript에 대한 지식을 필요로 한다. - 특징
- HTML과 CSS, JavaScript를 노련하게 알고 있다면 빠르게 기본적인 사용법을 익힐 수 있다.
- Vue 성능은 React와 Angular에 비해 성능이 빠르고 우수하다.
- Vue는 Angular의 장점인 양방향 데이터 바인딩과 React의 장점인 가상 돔 랜더링 방식을 사용한다.
(대표적인 두 프레임워크의 장점을 모두 포함하여 유연함을 가지고 있다.)
- 웹 애플리케이션 일부 또는 전체에 적용하여 사용자에게 더 나은 경험을 제공할 수 있도록 핵심 라이브러리와 잘 갖춰진 생태계를 제공함으로써 편리한 유지보수와 테스팅으로 사랑받고 있다. - Angular, React와의 차이
- Vue, Angular, React 모두 기능적 차이는 크게 없고 구현하는 방법의 다양성에서 차이가 있을 뿐이다.
- 세 프레임워크 모두 결과물은 똑같이 만들어낼 수 있지만 대략적인 차이 있다.
- Angular
▷ 2010년 10월에 발표한 구글에서 개발한 자바스크립트 프레임워크
▷ TypeScript를 강제로 써야해서 초보자에게는 진입장벽이 높은 편이다.
- React
▷ 2013년 3월에 발표한 페이스북에서 개발한 자바스크립트 프레임워크
▷ React에 매우 많은 라이브러리들이 있고 개발자가 정할 수 있는 자유도가 높은 편이다.
▷ HTML을 변형한 템플린 문법인 JSX를 별도로 배워야 한다.
- Vue
▷ 2014년 2월 발표한 Evan You가 개발한 자바스크립트 프레임워크
▷ template, script, style로 구성된 싱글 파일 컴포넌트는 기존의 html, js, css로 개발하던 방식과 배우 유사하다.
728x90
'Front-End (웹) > VueJS' 카테고리의 다른 글
Single File Component (0) | 2022.03.08 |
---|---|
Vue 3 Component (0) | 2022.03.03 |
Vue 3 (0) | 2022.02.27 |
Vue 2 Template (0) | 2022.02.21 |
Vue 2 Instance (0) | 2022.02.21 |
Comments