Maui 그래픽 기반의 컴포넌트를 개발해보면 어떨까요?

안녕하세요.
이광석입니다.

이 글의 목적은 제목 그대로입니다.

저는 최근에 퍼펙트픽셀 기반으로 된 C#의 크로스플랫폼(우노, 아발로니아)들의 문서를 읽다보니
UI에 어떠한 효과를 부여하기 위해 많은 이것저것 지원을 많이 하는거 같아서 '우와 신기하다’했지만
실제 개발할 때에는 뺄건 빼다보니

‘버튼의 둥근형태의 각도를 원만하게’ ,
‘컨트롤을 겹쳐서 다양한 활용을 하고싶어’
‘다양하게 겹쳐서 만들어내고 싶어’

어느 정도의 수준에서 끄친다는 생각을 하게 되었습니다.
(개발을 깊게 안해서 그런가…)

Maui에서는 각 OS의 Native Control을 사용하다보니 커스텀으로 원하는 모양을 만들 때
사용자지정렌더러 라는 기술을 사용하여 쓰는데…
실제 공식문서 조차 없는 코드방식으로 렌더러를 구현하려니 불편함이 이만저만…

저는 그래서 생각해낸 방식은

빈 껍데기에 아무것도
TemplateView, TemplatePage에 Graphiview 하나만 그려놓고

사용자가 Size, 색상, 곡선, 각 컨트롤마다의 고유특징만 지정하여 만들어놓으면

유저입장에서는 머터리얼, 쿠퍼티노, 플루언트 디자인의 틀을 벗어나서
직접 다양한 디자인을 고안해낼 수 있지 않을까, 어떤 개발방향성이 그려질까? 라는 궁금증이 생겼습니다

혹시 이와 같은 생각해보신 분이 있을까요!

7 Likes

우선 부정적인 의견이라 죄송합니다.

사실 개발자 입장이 아니라 클라이언트들이 말하는 중요한 디자인 부분은 흔히들 모양(클라이언트분들도 모양이 좀… 식으로 말하는 경우가 많죠)이라고 잘못 인식, 혹은 말씀하시는데 모양보다는 전체적인 레이아웃, 페이지 전환 효과 같은 부분이지 버튼과 같은 컨트롤의 모양이 아닙니다. 이러한 부분은 오히려 너무 창의성을 가미할 경우 기존에 사용되던 앱들과 컨트롤이 달라져 사용경험에 좋은 효과를 주지는 않습니다.

말씀하신 내용은 버튼 같은 사용자가 사용하는 극히 일부분에서만 활용이 가능해 보이는데 사실 이런 부분은 현재 기본 환경에서도 커스텀이 부족하다고 보이진 않습니다. 앞서 언급한 레이아웃이나 페이지 무브 등의 효과 이외에도 특정 버튼에 간혹 독특한 디자인을 넣은 경우가 있긴하나 그 수가 적고 대부분 그런 경우는 이미지 버튼 등으로 간편하게 대처가 가능하니 큰 유용성은 잘 모르겠습니다.

1 Like

죄송한 말씀이라뇨!
오히려 관심가지고 공유해주셔서 감사합니다!

1 Like

DirectUI - CodeProject
이런 컨셉일까요? Maui에 Theme 지원하는 게 없나봐요?

1 Like

테마 지원하는게 있긴합니다!

일부 더 높은 커스텀을 위해선
각 os의 네이티브 컨트롤을 커스텀 렌더러라는 기술을 통해 변경하는 번거로움 때문에

기본적인 기능만 하는 기반의 컨트롤만 제공하고
나머진 개발자가 xaml에서 수정을 자유롭게 하는 컨셉입니다!

만약 이런 경우엔
다양한 라이브러리들이 나올수 있지않을까하는 기대감에 생각을 한거였습니다 ㅎㅎ

1 Like