<aside> 🍐 해당 문서는 FSD 아키텍쳐에 대해서 학습하면서 작성되는 포스트 입니다.
</aside>
오늘은 프론트엔드 아키텍쳐 중에 FSD(Feature sliced Design)에 대해서 알아보도록 하겠습니다. 2023년 7월에 공개된 FSD 아키텍쳐는 비교적 최근에 공개된 프론트엔드 아키텍쳐입니다. 이에 대해서 자세하게 설명하기에 앞서서 FSD가 파생된 아키텍쳐인 FDA(Feature Driven Architecture)에 대해서 먼저 짚고 넘어가겠습니다.
FDA는 2018 React Day Berlin에 발표에서 해당 내용이 소개되었습니다.
~~의 Driven이다, 라고 하면 ~~주도 로 생각되기 쉽습니다. 흔히 알고있는 TDD는 테스트 주도 개발을 의미하기도 합니다. 따라서 FDA도 **기능 주도 설계
**를 의미한다고 볼 수 있습니다
FDA의 발표자는 해결하고자 하는 6개의 목표를 제시합니다.
규모의 프로젝트에 신규 투입되는 상황을 가정 또는 돌이켜 보면 어떤 내용인지 금방 알 수 있습니다. 버튼 하나를 수정하려고 해도 컴포넌트간의 의존성이나 구조에 대한 파악이 되지 않으면 큰 난항을 겪을 수밖에 없습니다. 발견 가능성이 낮은 코드를 높게 하려는 것이 첫 번째 목표입니다.
큰 규모의 프로젝트는 보통 혼자서 개발하지 않고 많은 사람들과 병행해서 개발하게 됩니다. 그러면서 자연스레 공통되게 사용하는 함수나 기능에 대해서 충돌이 일어날 수 밖에 없고, 이를 해결하는 것이 두 번째 목표입니다.
“공통으로 추상화된 기능”을 어떻게 제어할 것이냐에 대한 고민입니다. 코드 전방위적으로 참조되고 사용되므로 구성원이 어떻게 다루어야 할 지에 대한 방법론을 제시하는 것이 세 번째 목표입니다.