Skip to content

아토믹 디자인을 채택하지 않은 이유

msmk530 edited this page Dec 8, 2020 · 5 revisions

아토믹 디자인을 채택하지 않은 이유

1️⃣ 재사용이 많이 이루어 지는가?

우리는 아토믹 디자인 패턴의 장점이 굉장히 많다는 것을 구글링을 통해서 알게되었다.

그 중의 핵심은 결국 재사용성의 끝판왕 이라는 것이었다.

우리는 아토믹 디자인의 핵심 작업을 조금이나마 해보았다.

공통으로 사용될 수 있는 컴포넌트는, common이라는 폴더에 따로 빼내서 재사용 가능하도록 하는 작업이 바로 그것이다.

이때 핵심은 해당 컴포넌트 스스로 상태를 가지고 렌더링 하기 보다는, props로 받은 데이터를 통해 렌더링을 한다는 것이다.

아토믹 디자인은 웹상에 보여질 수 있는 모든 요소들을 가장 작은 단위까지 쪼개서 위와 같은 방법으로 재사용할 수 있게 만드는 패턴이다.

하지만, 우리가 구상한 서비스에서는 header, add버튼, 모달 overlay와 같은 큼직큼직한 공통요소만 떠올랐다.

다시말하면, 아주 작게 쪼개어진 것을 조합하여 사용할 일이 많이 발생하지 않을것 같았다.

따라서, 공통으로 사용되는 부분만 common이라는 공통 컴포넌트 폴더에 관리하는 것 만으로도

충분히 필요한 자원을 재사용 할 수 있을 것이라 판단하였다.

2️⃣ 러닝커브

개인차가 있겠지만, 우선 우리팀은 아무도 아토믹 디자인 패턴을 시도해본적이 없었다.

경험이 없는 상태에서 새로 시작하는 프로젝트를 아토믹하게 설계한다는 것은 꽤나 힘든 일이라는 생각이 들었다.

어느정도 진행이 되어있는 화면에서 공통으로 사용할 컴포넌트를 뽑아내는 것은 익숙하지만, 설계부터 모든 재사용 케이스를 생각해야 하는 것은 낯설었기 때문이다.

특히, 컴포넌트가 Molecules에 속해야 할지, Organisms에 속해야 할지 등의 애매모호한 고민도 자주 일어난다는 경험담을 들었다.

다른 기술스택들도 처음 도전해보는 내용이 많았기 때문에, 아토믹 디자인 패턴에 맞게 컴포넌트를 나누는 작업은 시간 대비 효율이 적을 것이라고 판단했다.

3️⃣ View

가계부 서비스에 대하여 에서 우리는 가계부 서비스 자체가 지루한 서비스라는 것을 인정했다.

우리가 그에 대한 해결책으로 생각해 낸 것은 시각적인 요소에서 포인트를 주자였다.

은행 연동이라는 가장 생산적인 기능이 어려우니, UI와 UX에 힘을 써서 서비스를 사용할 명분을 제공하고자 한 것이다.

실제로 화려한 기능은 없지만, 고유한 감성이 잘 묻어나는 서비스들의 성공사례가 대부분 UI와 UX를 잘 고려했기 때문이라고 생각한다.

그렇다면 여러 상황에 따른 UI 변화를 고려해야 할 텐데, 아토믹은 이러한 경우에 굉장히 많은 어려움이 있다고 한다.

(참고자료 : 아토믹 디자인 적용경험기)

4️⃣ 진심

그래서 우리의 결론은 아토믹할 필요가 없다. 가 아니다.

사실, 여러 논의를 하면서 우리팀은 해보지 않은 것에 대해 도전하고 싶어하는 사람들이 모인 느낌이었다.

다양한 기술 스택을 선정하는데에 있어서도, 익숙하기 때문 이라는 이유는 없었다.

처음하는 기술이라도 서비스에 더 적합하다고 판단되면 해당 기술을 채택했다.

다만 Dead line이 있는 프로젝트라는 점을 고려했을 때, 완성된 결과물을 위해서는 배제해야할 옵션들이 있을 수 밖에 없었다.

우리에겐 그 옵션이 아토믹 디자인 패턴 이었을 뿐이다.

기회가 된다면 꼭 아토믹 디자인을 적용한 프로젝트를 해보고 싶고,

이 프로젝트가 어느정도 완성된 모습이 되면 아토믹하게 리팩토링 해보고 싶기도 하다.

Clone this wiki locally