웹 애플리케이션의 클라이언트 측을 개발할 때 사용하는 도구 및 라이브러리의 집합
프레임워크는 HTML, CSS, 자바스크립트와 같은 웹 기술을 사용하며, 개발자가 더 효율적이고 구조화된 방식으로 코드를 작성할 수 있도록 돕습니다.
프론트엔드 프레임워크는 다음과 같은 여러 가지 요소를 제공합니다:
UI 컴포넌트
프론트엔드 프레임워크는 재사용 가능한 UI 컴포넌트(버튼, 폼, 카드 등)를 제공하므로,
개발자가 일일이 스타일을 정의하지 않아도 됩니다.
상태 관리
프론트엔드 애플리케이션은 사용자와 상호작용하는 동안 상태를 많이 다룹니다.
프레임워크에는 이 상태를 효과적으로 관리하기 위한 방법이 포함되어 있을 수 있습니다.
라우팅
싱글 페이지 애플리케이션(SPA)에서는 클라이언트 측에서 라우팅을 관리해야 하는 경우가 많습니다. 프론트엔드 프레임워크는 이러한 클라이언트 측 라우팅을 위한 라이브러리나 모듈을 제공할 수 있습니다.
데이터 바인딩
데이터 바인딩은 UI와 데이터 사이의 연결을 자동으로 관리해 줍니다.
이로 인해 UI는 애플리케이션의 상태가 변경될 때 자동으로 업데이트됩니다.
생명주기 메서드
컴포넌트 또는 페이지가 생성, 업데이트, 소멸하는 과정에서 특정 로직을 실행할 수 있도록 생명주기 메서드를 제공합니다.
유틸리티와 헬퍼
DOM 조작, Ajax 요청, 데이터 처리 등의 복잡한 작업을 쉽게 처리할 수 있도록 유틸리티 함수나 헬퍼를 제공할 수 있습니다.
각 프레임워크는 자신만의 특징과 장단점을 가지고 있으므로, 프로젝트의 요구사항과 팀의 스킬셋에 따라 적절한 프레임워크를 선택하는 것이 중요합니다.
유지율, 관심도, 사용량, 인지도 순위입니다. - 2022년도 기준
위 이미지들을 살펴보면 사용되고 있는 쪽에서는 React가 많아 보입니다.
하지만 Svelte나 Solid, Quik가 많이 올라왔네요.
React나 Vue뿐만 아니라 새롭게 나온 프레임워크들에 관심을 갖는 걸 볼 수 있습니다.
이미지 출처 : https://2022.stateofjs.com/en-US/libraries/front-end-frameworks/