이전 포스트 들을 통해서 SSR과 CSR에 대해서 알았고, 왜 SPA가 등장하게 되었는지에 대해서 알게되었다. 그럼 이제 SPA를 구현하기 위해 어떤 프레임워크들이 사용되는지 살펴볼 차례이다. SPA를 구현하기 위해 Angular, Vue, React, Svelt등의 프레임워크들이 사용되는데, 이번 포스트에서는 최근 가장 많이 사용되는 Vue와 React를 비교해보며 중점적으로 알아보자.
리액트는 2013년 페이스북으로 부터 만들어진 엄밀히 말하면 프레임워크가 아닌 자바스크립트 라이브러리라고 할 수 있다. 리액트는 자바스크립트에 가까워서 HTML과 CSS까지도 자바스크립트로 표현한다. 리액트는 라이브러리기 때문에 비교적 기능들이 간단하다. 그렇기 때문에 더 복잡한 것을 하려면 직접 구현해야 한다. 하지만 리액트 같은 경우 커뮤니티가 잘 구성되어 있고, 실제로 사용하고 있는 회사들도 많기 때문에 국내에선 수요가 조금 더 확실하다고 할 수 있다.
트렌드를 확인해보면 리액트가 여전히 더 많이 사용되고 있다.
Vue.js는 HTML, CSS, JS 각각의 특성을 다 살려서 만드는 특징을 가진 프레임워크로, 2014년 Evan Yu 개인에 의해 만들어졌다. 뷰는 라이브러리가 아닌 프레임워크이기 때문에 리액트에 비해 더 많은 것이 갖춰져 있다. 그리고 프레임워크이기 때문에 자체 생애주기를 가지고 있다. 그렇기 때문에 웹 개발을 처음하는 사람이라면, HTML, CSS, JS 구분이 명확하고 더 많이 갖춰져 있는 뷰를 사용하는게 더 나을 수 있다.
리액트와 뷰의 공통적인 특징은 다음과 같다.
이와 별개로 리액트와 뷰는 각각의 특징도 가지고 있다. 먼저 리액트(React)의 특징은 다음과 같다.
setState()
를 통해 변경할 수 있다.뷰(Vue)의 특징은 다음과 같다.
<template>
) 구문은 사용한다. 이 문법이 HTML로 이루어져 있어서 상대적으로 배우기 쉬운 장점이 있다..vue
파일에 모두 정의한다. 이러한 특징은 크지않은 규모의 프로젝트에서는 관리 생산성이 높아지고, 협업에 용이하다.어떤 프레임워크가 더 나은 것이라고 말할 수는 없고, 두 프레임워크 모두 많은 개발자들이 사용하고 있는 프레임워크이기 때문에 각 프로젝트 특징에 맞게, 아니면 본인이 더 익숙하고 선호하는 것을 사용하면 된다고 볼 수 있다.
참고 글