Vue.js

정의
Vue.js는 사용자 인터페이스와 싱글 페이지 애플리케이션(SPA)을 만들기 위해 설계된 오픈소스 자바스크립트 프레임워크이다. 선언적 렌더링과 컴포넌트 기반 구조를 제공하며, 반응형 데이터 바인딩을 통해 UI와 데이터 상태를 효율적으로 동기화한다.

개요

  • 개발자: Vue.js는 2014년 Evan You가 최초로 개발하고, 이후 전 세계 개발자 커뮤니티와 핵심 팀에 의해 유지·보수되고 있다.
  • 출시 연도: 2014년 2월 최초 버전이 공개되었다.
  • 라이선스: MIT License 하에 배포되어 자유롭게 사용·수정·배포가 가능하다.
  • 주요 사용 분야: 웹 프론트엔드 개발, 프로그레시브 웹 애플리케이션(PWA), 모바일 앱(예: NativeScript, Capacitor와 연계) 등.
  • 버전 현황: 2023년 현재 Vue 3.x 시리즈가 최신 메이저 버전이며, 지속적인 마이너·패치 업데이트가 이루어지고 있다.

어원/유래
“Vue”는 프랑스어 단어 vue (‘시야, 전망’)에서 유래한 것으로 추정된다. 이는 프레임워크가 UI를 “보여주는(view)” 역할을 한다는 의미를 담고 있다고 해석된다. 정확한 어원에 대한 공식적인 설명은 제한적이며, 자세한 내용은 개발자 Evan You의 초기 블로그 글과 인터뷰에서 간략히 언급된 바 있다.

특징

  1. 반응형(Reactive) 시스템: 데이터 변화가 발생하면 자동으로 DOM을 업데이트한다.
  2. 컴포넌트 기반: UI를 재사용 가능한 컴포넌트 단위로 분리하여 유지보수성을 높인다.
  3. 가상 DOM(Virtual DOM): 실제 DOM 조작을 최소화해 렌더링 성능을 최적화한다.
  4. 옵션 API & 컴포지션 API: Vue 2에서는 옵션 API를, Vue 3부터는 컴포지션 API를 도입해 로직 재사용성을 강화했다.
  5. 플러그인 생태계: Vue Router, Vuex(또는 Pinia) 등 공식 플러그인 및 서드파티 라이브러리가 풍부하다.
  6. 점진적 채택(Progressive Adoption): 기존 프로젝트에 점진적으로 도입 가능하도록 설계되어, 부분적인 마이그레이션도 용이하다.

관련 항목

  • JavaScript 프레임워크
  • React (페이스북)
  • Angular (구글)
  • Vue Router
  • Vuex / Pinia (상태 관리)
  • Nuxt.js (서버 사이드 렌더링)
  • Vite (빌드 툴)

※ 본 내용은 2023년 말까지 확인된 공개 자료와 공식 문서를 기반으로 작성되었으며, 이후 업데이트된 사항은 별도로 확인이 필요할 수 있다.

둘러보기

더 찾아볼 만한 주제