본문으로 건너뛰기

Intro

들어가며

나는 디자인 시스템에 관심이 많다. 최근에는 CoffeeFactory(커피팩토리)라는 디자인 시스템을 구축하고 있었는데, 현생을 살다보니 한동안 놓고 있었다.

커피팩토리는 예전에 리액트 기반으로 구축했던 디자인 시스템을 스위프트로 변환하는 중이었는데, 최근에 UIKit 기반 프로젝트를 진행하느라, 거의 작업을 못했다. 그래도 파운데이션만이라도 프로젝트에 녹여서 배포까지 했다. 이와 관련된 글도 한번 작성해봐야겠다.

왜 Lit에 관심을 갖게 되었나?

Lit에 관심을 갖게 된 이유는 현생 때문이다. 현 직장에서 나는 프로젝트를 운영관리하고 있는데, 어떻게 더 효과적으로 관리할 수 있을까 고민이 많은 상황이었다.

가장 큰 어려움은 그 동안 누적되어 온 레거시들이 상당히 상당한 클라이언트었다. 어떻게 하면 좀 더 빠르게 테스트 해보고 적용했을 때 사이드 이펙트가 안 생기게 할 수 있을까? 하는 고민 속에서 과거에 찾아봤었던 웹 컴포넌트 가 생각났다.

리액트나 뷰와 같은 컴포넌트 기반 프레임워크를 사용할 수 있다면 더 좋겠지만, 이는 쉽게 적용할 수는 없었고, 웹 컴포넌트는 현재 환경에서도 비교적 어렵지 않게 적용할 수 있을 것 같았다. 그게 아니라면 현재 스택에 맞춰서 새로운 학습을 진행해야 하는데, 이는 너무나도 비효율적이고, (클라이언트 관리는 다양한 업무 중 일부다) 여러 커뮤니케이션적인 애로사항도 있을 듯 했다.

사실 웹 컴포넌트도 마찬가지긴 하다. 이를 적용하는 것도 비효율적일 수도 있다. 특히 적용하기 위한 초반 준비기간은 특히 더. 그러나 장기적으로 보았을 때, 웹 컴포넌트를 떠나서 클라이언트의 구조적인 개선은 반드시 필요하다고 생각이 들었다. Next 와 같은 프레임워크를 도입할 수도 없고 😇 다른 프로젝트는 하고 있으면서

여러 이유는 차치하고, 웹 컴포넌트는 사실 크게 어려운 개념은 아니긴 했다. 잘 쓰기는 어려울 것 같긴하지만. 여러모로 사용하기에는 불편함이 많아 보였다. 보일러플레이트도 길고 말이지. 그래서 좀 더 편하게 사용할 수 있는 방법은 없을까? 찾다 발견한게 Lit다.

Lit는 웹 컴포넌트를 더 쉽고 강력하게 사용할 수 있도록 도와주는 웹 컴포넌트 라이브러리다. Lit를 사용하는 프로젝트는 아직까지 국내에는 많이 보이진 않지만, 구글 팀에서 관리하고 있고, 공식 문서도 잘 되어 있었다. 사실 이걸 쓰느니 리액트나 뷰를 쓸 수 있다면 그걸 쓰고 말지 굳이 쓸 이유는 없을 듯 하다.

마치며

Lit와 관련된 내용들은 Lit 에서 자세히 살펴볼 수 있다. 앞으로의 내용들은 이 문서를 기반으로 작성할 것 같다. 잘못 된 내용들 있을 수 있다면 정확한 내용을 원한다면 본 글보다는 문서를 참조하면 좋을 것 같다.