해결된 질문
작성
·
289
0
안녕하세요, 질문이 여러개 있어서 글 남깁니다.
시멘틱 컬러 강의에서 interactive 컬러들은 주로 Interactive한 요소, 즉 버튼 등에 활용을 하신다고 말씀하셨었는데 현재 예제에서는 text-interacitve-primary와 bg-interactive-primary가 색상이 파란색으로 동일한데 이런 경우에 파란색 primary 버튼을 만든다고 치면 텍스트는 Primary 컬러를 활용할 수 없는건가요? 컴포넌트는 Primary라는 이름을 쓰지만 텍스트 컬러는 sescondary가 활용되어도 되는건가요?
그리고 component는 버튼 등 필요한 경우에만 활용한다고 하셨는데 interacitve 컬러가 있는데도 버튼 컬러를 다시 한번 만들 이유가 있는건지 궁금합니다.
마지막으로 디자인 시스템 뿐만 아니라 실제로 이걸 활용해서 컴포넌트나 실무 디자인을 한 예제는 볼 수 없을까요..?? 디자인 시스템 자료는 많은데 실제로 어떻게 활용되는지 감이 안 와서요 ㅠㅠ
우선 강의를 들어주셔서 감사합니다. 강의 들으시면서 궁금하신 부분을 남겨주세요.
회사 일 관계로 빠른 답변이 어려울 수 있으며, 최대 3일 이내에 답변드리도록 하겠습니다.
이해를 돕기 위해서 스크린샷 이미지, 피그마 파일 링크를 반드시 첨부해주세요.
마지막으로 먼저 유사한 질문이 있는지 한번 찾아보시는 걸 권장 드립니다.
인프런 서비스 운영 관련해서는 1:1 문의하기로 인프런 쪽으로 연락 주시기 바랍니다.
답변 3
0
세영님 안녕하세요!
질문 주셔서 감사합니다. 질문에 대한 저의 생각을 정리해서 적어보았습니다.
현재 예제에서는 파란색 primary 버튼에 bg-interactive-primary 쓰인 경우는 text-interactive-inverse를 사용하고 있습니다. 이 경우는 말씀하셨다시피 동일한 컬러를 쓰이기 때문에 inverse로 대비되는 색을 사용하고 있습니다.
어떻게 베리어블을 구성하느냐에 따라 다르겠지만 저의 구성 방식에서는 컴포넌트가 primary 여도 primary, secondary를 혼용해서 사용하고 있습니다. secondary의 경우는 neutral 컬러를 사용해서 보조하는 역할을 하고 있고요. 이렇게 쓰지 않고 만약 primary로만 다 쓰인다면 컴포넌트 전체가 주요색으로만 나타나서 구분이 되지 않습니다. 그리고 secondary 컴포넌트의 경우에는 secondary만 사용하고 있구요. 만약 엄격하게 만들고 싶으시면 다르게 구성을 짜보셔도 됩니다.
제 강의에서 이론 부분에서 Component가 필요하면 쓰일거라고 언급했지만 실제로 강의 따라가보시면 시맨틱으로 모두 다 활용할 수 있습니다.
강의 섹션에서 5~8 컴포넌트를 만들어볼 거구요. 그리고 섹션 9에서 모드홀용, 나머지 뒷 부분 섹션에서 페이지를 만들어봅니다. 뒷 부분에 모든 내용이 나옵니다.
세영님 언제든지 질문 주세요!
만약 두 브랜드 사이에 Opacity의 차이가 없는 경우는 바로 Semantic으로 가셔도 무방합니다. 즉, Semantic에서 바로 가져다 쓰면 됩니다. 만약 브랜드마다 다르게 하고 싶은 경우는 theme에서 별다른 디자인 요소의 이름이 생각이 나지 않으면 opacity라고 하셔도 괜찮습니다.
네 맞습니다. 만약 Theme을 중간에 배치해두면 모두 다 같이 사용해야 합니다. 그래서 저의 경우는 시맨틱 스타일 가이드라인을 브랜드별로 사용하기도 합니다. 브랜드마다 베리어블 구조가 다를 수 있기 때문입니다. 하지만 중간에 배치해둔다면 제 강의에서 보이다시피 모두 다 secondary를 사용하면 다 같이 사용해야합니다.
Theme에서 관리하시면 괜찮을 것 같습니다. gradation primary, secondary 등등을 만드시고 이후에 스코핑을 설정해주시면 됩니다. 여기서 약간 트릭이 있는데요. 지금 버전에서 스타일 안의 그라데이션에 들어가는 색상 베리어블을 찾으려고 하면 반드시 스코핑이 모두 선택된 상태이어야 합니다. 이런 경우는 다른 디자인 요소(Frame, text, shape, effect 등) 다른 곳에서도 다 보이는 단점이 있습니다. 만약 이런 경우 스코핑 중 하나를 선택 하시구요, 저의 경우는 Frame을 선택하고 스타일을 만들 때, Frame 위에다가 그라데이션을 만들고 추가를 하시면 됩니다. 이렇게 하면 이 스타일 가이드라인을 Shape, Text 아무데나 붙일 수 있습니다.
이 부분이 업데이트 되리라 믿는데, 안되는 경우는 이렇게 한번 사용해보세요.
질문 있으시면 언제든지 주세요! 감사합니다.
정말 감사합니다... 진행하다보니 또 질문이 여러개 생겼습니다.
혹시 그라데이션을 배리어블에 추가하는 방법이 있는걸까요..?? 찾아보니 배리어블에 그라데이션 추가를 못해서 컴포넌트로 관리하는 경우가 더 많은 것 같은데, 말씀을 들어보니 배리어블로 관리하시는 것 같아서요 ㅠ
inverse는 정확히 어떤 개념인가요? 라이트모드에서 inverse가 밝은 컬러면 다크모드에서는 inverse 색상이 무조건 어두운 컬러여야 하는건가요?
만약 2번이 맞다면, pirmary 버튼의 텍스트에 inverse 색상을 쓰셨다고 하셨는데 다크모드에서도 밝은 컬러를 유지하고 싶다면 inverse 컬러를 사용하면 안되는건가요?
disabled는 보통 interactive한 요소가 사용 불가능할 때 사용되는 컬러인데 interactive에 넣지 않은 이유가 있을까요?
accent라는 네이밍은 자유롭게 강조용도로 사용하고싶을 때 semantic에서
사용하면 될까요?
그라데이션 및 스타일 관리:
그라데이션 자체는 베리어블에 직접 추가할 수 없습니다. 대신 스타일을 만들어 그 안의 요소들을 베리어블에 등록하여 관리할 수 있습니다.
Inverse 개념:
Inverse는 말 그대로 대비를 의미합니다. 어두운 배경에서는 흰색, 밝은 배경에서는 검정색으로 표현됩니다.
예를 들어, 몇몇 앱을 다크 모드로 전환해 보시면 버튼 색상이 흰색에서 검정색으로 바뀌는 것을 볼 수 있습니다. 이처럼 대비되는 색상을 지정하시면 됩니다.
그래서 강의에서도 다크 모드에서는 inverse 색상이 흰색에서 검은 계열로 바뀐다는 점을 참고하세요.
Disabled 요소 처리:
Disabled 상태는 interactive 요소에 포함해도 괜찮습니다.
다만, 저는 두 가지 이유로 포함하지 않았습니다:
인터랙티브하지 않다: Disabled 상태는 상호작용이 불가능하므로 “interactive”라는 용어와 어울리지 않는다고 판단했습니다.
명칭의 간결성: “interactive-disabled”라는 명칭이 길어져서 생략했습니다. 하지만, 이해에 큰 문제가 없을 것이라 생각했습니다.
반면에, interactive-primary처럼 “interactive”를 생략하면 기존의 primary와 구분을 주기 위해 때문에 기존처럼 유지하였습니다.
액센트 컬러: 당연히 넣으셔도 됩니다. 다시 한번 말씀 드리지만 정답은 없습니다. 같이 일하는 동료만 설득해서 모두 동의를 하면 됩니다. 그리고 제 강의는 하나의 예시일 뿐 세영님 만의 구조를 짜보시는 걸 추천드립니다.
그리고 이렇게 질문과 답변을 해주시면 세영님만의 구조를 더 명확하게 짜시리라 믿습니다. 정말 좋은 질문들 감사합니다.
0
https://www.figma.com/community/file/1355516515676178246
그리고 추가로.. 혹시 위 링크의 원티드 디자인 시스템을 보신 적이 있으신가요? 원티드 디자인 시스템에서
Palette -> Primitive
Semantic -> Theme와 Semantic을 합친 형태
..요렇게 비춰지는데 제가 잘 이해한게 맞을까요?
또한 원티드는 Variable에 저장을 안하고 전부 스타일로 저장이 되어있고 심지어 컬러를 정리해놓은 토큰 이름으로 하지도 않았는데 이렇게 한 이유가 뭔지 아실까요...??
디자인 시스템마다 형태가 너무 달라서 이해가 어려워서 질문드렸습니다 ㅠㅠ
질문 주셔서 감사합니다.
제가 원티드 디자인 시스템을 제작하진 않아서 왜 이렇게 만들었는지는 사실 잘 모르겠습니다. 아마 원티드 디자인 시스템을 제작하신 분께 직접 물어보시면 더 좋은 답변을 받으실 수 있을 것 같습니다.
우선 저의 뇌피셜 견해를 말씀 드리면,
우선 원티드는 Theme은 없는 것 같습니다. Palette - Primitive, Semantic - Semantic 이렇게 구성되어 있습니다.
원티드 디자인 시스템은 스타일 안에다가 베리어블을 저장해놓았습니다. 그리고 스타일을 컴포넌트에 바로 입력해두었습니다.
반면 제 강의에서는 베리어블을 직접 컴포넌트에 입력합니다. 이렇게 원티드가 한 이유는 잘 모르겠지만 제 생각에는 이미 기존 디자인 시스템에 스타일을 시맨틱 형식으로 만들어 두었고 베리어블을 직접 대응하는 것보다 기존 디자인 시스템을 유지하면서 베리어블만 스타일에 연결하는 방식을 취한 것 같습니다. 저는 개인적으로 이 방법의 경우는 기존 스타일로 연결된 페이지도 활용할 수 있는 좋은 전략인 것 같습니다. 하지만 전제 조건은 이전에 스타일을 시맨틱 관점에서 잘 만들었다는 가정 하입니다.
두 번째 저의 뇌피셜 이유는 색상을 다루는 방식에서 하나의 원색이 아닌 다양한 색을 한 스타일에 담아두는 방식을 사용하기 때문이 아닌가 싶습니다. 예를 들어, primary가 있는 경우 저의 경우에는 hovered인 경우 다른 색상 값을 대응합니다. 하지만 만약 hovered의 색상에서 primary 색을 그대로 둔채로 그 위에 얇은 어두운 배경색을 두어서 만들고 싶은 경우는 스타일이 적합하겠죠. 왜냐하면 스타일은 여러 색상 요소를 담아 둘 수 있기 때문입니다.
피그마에서 제공하는 UI 킷을 살펴보더라도
iOS, Simple 디자인 시스템: 현재 강의 방식
머티리얼 디자인 시스템: 원티드 방식
강의에서 언급했듯이 디자인 시스템은 형태가 너무 다르고 제각각입니다. 그래서 정답이 없습니다. 제 강의도 한가지 예시에 불과합니다. 그래서 강의에서 언급했듯이 회사 프로덕트와 유사한 몇가지 기준 되는 디자인 시스템을 토대로 만들어보시는 것을 추천드립니다.
0
안녕하세요, 인프런 AI 인턴입니다. 최세영님의 질문에 대해 도움이 될 만한 정보를 찾는 것을 도와드리겠습니다.
시멘틱 컬러 정의에서 텍스트와 배경의 동일 컬러 사용에 대한 질문: 시맨틱 컬러를 정의할 때, 인터랙티브 요소의 배경과 텍스트가 동일한 색상을 가지는 경우 특정 요소가 같은 색상을 사용해도 되는지 궁금하신 것 같습니다.
컴포넌트 컬러 만들기가 필요한 상황: 이미 인터랙티브 컬러가 있는데도 불구하고 컴포넌트 별로 별도의 컬러를 다시 정의하는 이유에 대한 설명이 필요합니다.
디자인 시스템의 실제 적용 예제: 디자인 시스템을 구축한 이후 이것이 실제 프로젝트에서 어떻게 활용되는지에 대한 예제를 찾고 계십니다.
color variable 등록 시 naming 및 색깔 기준 문의…
시맨틱 컬러의 목적: 시맨틱 컬러는 기본적으로 UI의 구성 요소들이 일관된 스타일을 유지할 수 있도록 체계를 잡는 데 목적이 있습니다. 같은 이름의 텍스트와 배경 색상은 서로의 상태에 맞게 적용되어야 하며, 상태에 따라 색상이 변경될 여지가 있다면 미리 정의해 두는 것이 좋습니다.
컴포넌트 컬러의 재정의: 인터랙티브한 요소를 강조하거나 특정한 스타일을 돋보이게 하기 위해, 버튼과 같은 중요 컴포넌트는 별도의 스타일이나 예외적인 스타일이 요구될 수 있습니다. 이때 컬러를 재정의하여 모든 경우에 대해 더 세분화된 컬러 체계로 관리할 수 있습니다.
디자인 시스템 적용 예시: 강의 내에서는 직접적인 실무 예제가 포함되어 있지 않을 수 있습니다. 하지만 관련 강의나 외부 자료에서 디자인 시스템을 실제로 적용하는 사례 연구를 찾아보시는 것도 좋습니다. 이러한 자료는 주로 디자인 시스템을 사용하는 방법론과 실제적인 UI 디자인 적용 과정을 포괄적으로 보여줄 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
친절하게 답변해주셔서 정말 감사합니다.. 많은 도움이 되고 있습니다. 질문이 몇가지 더 생겨서 다시 질문드립니다 ㅠ
일단 저는 [Primitive -> Theme -> Semantic] 형태로 제작 중이며, 예제와 다른 점은 Primitive에 opacity를 조절한 팔레트를 추가해야하고, Theme에 한 brand에 컬러를 2개 넣어야 하는 상황입니다.
이 때 Primitive에 만든 opacity 팔레트는 theme에서는 뭐라고 명칭하면 되나요? 그냥 opacity라고 똑같이 써도 상관 없나요?
Theme에서 brand 아래 primary와 secondary를 넣으면 한 브랜드에 2개 이상의 컬러를 넣을 수는 있지만, 다른 브랜드에서도 2개 이상의 컬러를 반드시 넣어야하는 형태인 것 같은데.. 혹시 이것말고 다른 방법이 있을까요?
그리고 브랜드별로 그라디언트가 많이 활용될 예정인데, 이것도 그냥 theme의 brand 아래에 넣는게 베스트일까요?