Replies: 4 comments 15 replies
-
고민을 많이 한거 같네요 제이미!
이 부분은 저도 네이밍을 변경해야한다고 생각해요. 너무 당연한거지만 A, B로 나눠져있길래 뭘 나타낸건지 알 수 없어서 테스트용..으로 만들어둔거라 생각했습니다 ^_ㅠ |
Beta Was this translation helpful? Give feedback.
-
cos-ui 를 디자인이 입혀진 것도 제공한다고 생각하면, 하나만 제공하는 게 맞는 것 같고, 저희 프로젝트에서는 두 가지 형태의 탭을 사용하니
의 두 가지 방법이 떠오릅니다. 저는 어차피 제공할 거 전자의 방식으로 해도 좋다고 생각해요 저는 제이미가 말씀해주신 3개의 방식 중 2번 방식을 처음에 생각했었는데요, 말씀해주신 fonts 같은 부분을 cos-ui 로 완전히 위임하는 방향으로, 기반은 CoStudo 프로젝트에 종속적인 것으로 가는걸 생각했던 것 같아요. 그럼 관리는 cos-ui 에서만 하면 되지 않을까요? |
Beta Was this translation helpful? Give feedback.
-
ㅎㅎ 의견을 남기기 조금 늦은 감이 있는 것 같지만... 저도 사실 처음에 Headless 컴포넌트 자체만 별도의 패키지로 분리하는줄 알았어요. 스타일은 제외하고! 그런데 그때 당시에 저도 스타일은 너무 CoStudo 프로젝트에 종속적이지 않나? 분리한다면 fonts, colors 같은 파일도 같이 옮겨야 할텐데 그걸 굳이 분리할 필요가 있나? 어차피 Headless 만 따로 분리해서 그걸 가져와 그냥 스타일을 입혀 사용해도 괜찮을 것 같은데 싶은 생각이 들었는데 그래서 분리를 한다하면 저는 좀 번거롭더라도 두번째 방식(cos-ui 내에서 다른 패키지로 분리) 이 좋을 것 같습니다. 그리고 이건 개인적이고 주관적인 생각인데 Co-Studo-front 를 cos-ui 로 별도로 분리를 하는 시점에서 서로 독립적인 시스템...?이 되었으니 각 시스템 끼리의 설정값이나 코드의 일관성은 덜 고려해도 괜찮지 않을까 싶어요. 그래서 각각의 레포에 맞는 린트 파일이나 스타일(fonts, colors) 파일들이 존재할 수 있다 싶고, |
Beta Was this translation helpful? Give feedback.
-
11/3 토론 결과
|
Beta Was this translation helpful? Give feedback.
-
cos-ui 프로젝트 세팅을 하던 중에 Headless 컴포넌트들에 스타일을 입힌 파일을 어떤 식으로 두고 사용할지 고민이 되어서 의견을 나눠보고자 디스커션을 올리게 됐습니다!
현재 @cos-ui/react는 이런 구조로 되어있고 index.ts 파일에서 각 폴더 안에 있는 index 파일을 가져와 export 해주고 있습니다.
이런 상황에서 Headless 요소들을 스타일링한 컴포넌트들을 어떻게 할 수 있을지 생각해보면 3가지 정도가 떠오르더라구요.
같은 패키지 내에 둘 경우에는 저희 프로젝트에서 사용할 때에는 스타일링된 요소만을 사용할 것이기 때문에 스타일링을 한 컴포넌트가 아닌 기본 기능만 있는 Headless 컴포넌트들은 export해도 쓸 일이 없을 것 같아요. 그렇다고 스타일링된 파일만 내보내는 건 또 좀 그렇지 않나 싶은 생각이 듭니다.
그리고 현재 Tab 같은 경우 Headless 컴포넌트에 스타일을 입힌 파일이 2개 존재하는데요, 이렇게 하나의 컴포넌트에 여러 개의 스타일링된 파일이 존재할 때 네이밍을 어떻게 해야할지도 좀 고민이 되는 부분인 것 같습니다. 단순히 StyledTabA 이런 식으로 이름을 붙이거나 어떤 탭인지 좀 더 명확하게 드러날 수 있는 이름을 붙일 수도 있을 것 같은데, 후자의 경우 구체적으로 이름이 붙여지게 되면 범용적으로 쓰인다기보단 저희 프로젝트에 종속적인 쪽에 좀 더 가까워질 수도 있지 않을까 싶어요.
또 저희 프로젝트에 이렇게까지 구현될 요소가 있을까 싶긴 한데, 지속 가능한 성장과 컴포넌트 영상의 예시를 보면 Select 컴포넌트를 사용하고 있지만 일반적인 Select와 좀 다른 형태이고, 이름뿐만 아니라 컴포넌트의 구성 자체도 도메인에 종속적인 느낌이라 Headless 컴포넌트와 같이 두기엔 성격이 좀 다른 것 같다는 생각이 들었습니다.
cos-ui 내에서 다른 패키지로 분리하게 되면 비슷한 성격을 가지는 컴포넌트들끼리 묶이는 느낌이라 개인적으로 좀 더 나은 방법인 것 같다는 생각이 들긴 해요. 근데 이렇게 분리했을 때의 불편한 점이라고 하면 (별도의 패키지로 분리하지 않고 cos-ui만 존재하는 현재의 상황도 포함) Co-Studo-front, @cos-ui/react, @cos-ui/playground-react 에서 theme, fonts 같은 파일이나 ESLint 룰 같은 것들이 모든 패키지, 레포에서 공통적으로 사용되는 것들인데, 이런 파일에서 수정이 발생하면 모든 패키지에 있는 파일을 수정해서 동기화를 시켜줘야한다는 것입니다. 모든 패키지가 연동이 되어있거나 해서 자동으로 이루어지는 게 아니다보니 항상 동일하게 유지된다는 보장이 없다는 점, 일일이 수정하기 번거롭다는 점이 문제인 것 같아요. 이런 상황에서 패키지가 하나 더 늘어나게 되면 번거로움도 커지고 신경 써야하는 부분도 많아지지 않을까 싶어서 고민이 되는 것 같습니다.
마지막으로 Headless 요소를 사용하는 프로젝트인 Co-Studo-front 에서 관리할 수도 있을 것 같은데요. 사용하는 쪽에서 관리하는 것이다보니 이름이나 컴포넌트 구성이 종속적이어도 상관없고, 패키지를 새롭게 추가하는 것도 아니라 현재 상황에서 번거로운 부분이 늘어나지 않는다는 점에서 저는 이 방식이 제일 낫지 않나 싶은 생각이 들었습니다.
지금까지 고민했던 부분은 이 정도인데, 제가 고려하지 못했던 게 있거나 더 좋은 방안이 있을 수 있으니 자유롭게 의견 주시면 감사할 것 같아요!!
@jindonyy @hemudi @healtheloper
Beta Was this translation helpful? Give feedback.
All reactions