[WPF] UI 디자인 라이브러리 종류와 비교

by westAhn

WPF는 XAML언어로 디자인 하기 때문에 UI를 자유롭고 아름답게 꾸밀 수 있다. 하지만 WPF개발자들은 UI 디자인을 직접 하지 않고 디자인 라이브러리 사용하여 디자인 한다. 그렇다면 왜 WPF 개발자들은 디자인을 직접 하지 않고 UI 디자인 라이브러리를 사용하는 것일까? UI 디자인 라이브러리를 사용한다면 주로 어떤 라이브러리를 사용하는 것인지 자세히 알아보자.

UI 디자인 라이브러리를 사용해야 하는 이유

프로그램을 만들 때 기능도 중요하지만 눈에 보이는 UI 디자인 요소도 중요하다. 매력적인 UI 화면의 프로그램은 사용자에게 관심을 끌어 프로그램 사용 시간을 올려줄 뿐만 아니라 경쟁에서도 우위를 점할 수 있다. 이러한 매력적인 UI 화면을 만들기 위해서 UI디자인 라이브러리를 왜 사용해야 하는지 아래에 설명하였다.

  • 개발 속도 향상
    프로그램 개발자들은 디자인 툴에 익숙하지 않고, 디자인 감각도 부족하다. 그렇다고 전문적인 디자이너를 채용하기에는 비용 적인 측면이나 프로그램 구조 이해 문제 등의 이유로 채용하기가 쉽지 않다. 그래서 이미 잘 만들어진 UI 디자인 라이브러리를 사용한다. 이는 UI 디자인하는 시간을 단축할 수 있고 디자인 된 컨트롤러가 프로그램에 바로 반영 되기 때문에 기능 구현에만 집중하여 프로그램을 만들 수 있다.
  • 일관된 디자인 화면
    요즘은 하나의 운영체제에서만 동작하는 프로그램을 만들지 않는다. 리눅스, 윈도우, 맥, 어플리케이션, Web등 여러 운영 체에서 동일한 기능을 하는 프로그램을 선호한다. UI 디자인 라이브러리는 다양한 운영 체제에서도 일관된 디자인 모양을 제공하기 때문에 사용자가 거부감이 없이 능숙하게 사용할 수 있다.
  • 최적화 된 UI 코드
    개발자들은 버튼 하나를 만들 때에도 많은 요소들을 고려하고 만든다. 예를 들어 버튼을 디자인 할 때 버튼의 MouseDown, MouseUp, MouseOver등 각 이벤트 별로 색 변경 및 애니메이션 효과를 주어야 하고 아이콘 및 글 배치 위치도 신경 써야 한다. 그리고 컨트롤에 너무 많은 리소스를 사용하면 프로그램이 느려지는 원인이 될 수 있기 때문에 최적화하여 코드를 작성 해야 한다. 하지만 UI 디자인 라이브러리를 사용하게 된다면 이미 코드가 최적화 되어 있기 때문에 앞선 까다로운 요소들은 생각하지 않아도 된다.
  • 커뮤니티 및 지원
    전 세계적으로 많은 WPF 개발자들은 UI 디자인 라이브러리를 사용하고 있다. 라이브러리마다 커뮤니티 및 지원이 잘 되어 있기 때문에 궁금한 질문에 빠르게 답변을 해주고 버그가 발생하면 주기적으로 업데이트가 이루어진다. 그렇기 때문에 개발자들은 보다 편하게 개발 할 수 있다.

UI 디자인 라이브러리 종류

그렇다면 WPF UI 디자인 라이브러리 종류에는 무엇이 있을까? 아래에는 대표적인 라이브러리 5가지에 대하여 설명하였다. 선정 기준은 전 세계적으로 많은 개발자들이 사용하고 있고, 커뮤니티가 잘 형성되어 있는 라이브러리 위주로 선정하였다.

DevExpress

DevExpress는 해외에서 뿐만 아니라 국내에서 많이 쓰고 있는 디자인 라이브러리이다. 프로그래머 채용 요구 조건에 DevExpress경험이 있는 프로그래머를 채용하기도 한다. DevExpress는 기본 컨트롤러 뿐만 아니라 WPF에서 디자인하기 어렵고 까다로운 컨트롤러를 많이 제공한다. 예를 들어 DataGrid 컨트롤러의 필터 검색, Column과 Row고정 기능 뿐만 아니라 다양한 모양의 차트등 구현하기 어려운 다양한 기능을 제공한다. UI는 Telerik과 비교하면 비교적 단조로운 편이다. 필자가 써본 결과 UI 속도도 아주 우수한 편이다.

DevExpress라이브러리의 DataGrid 컨트롤러를 사용하여 만든 예제 프로그램

비용
아래와 같이 1개 라이센스 1년 기준으로 WPF 전용 라이브러리만 구매 할 때는 $899.99이고, 통합 라이브러리(Winform, WPF, ASP.NET등)는 $2,199이다. 1년 추가 갱신은 $399이다.

Devexpress 가격 비교 표

Demo 프로그램
Demo 프로그램은 아래 링크에서 무료로 다운 받아 확인할 수 있다. 웹 사이트에 로그인하면 DevExpress 라이브러리를 30일동안 무료로 사용해 볼 수 있다.

Telerik

Telerik 라이브러리는 DevExpress와 함께 대표적인 WPF 디자인 라이브러리이다. Telerik 또한 해외 뿐만 아니라 국내에서 많이 사용하고 있으며, Telerik 라이브러리 사용해 본 전문 프로그래머를 채용하기도 한다. 국내에서는 Telerik보다 DevExpress 경험자를 찾는 공고가 좀 더 많다. Telerik은 DevExpress보다는 화려한 디자인을 제공하며 WPF에서 구현하기 어려운 Control들과 다양한 차트 기능을 제공한다.

Telerik Demo 프로그램 실행 화면으로 layout, Editors등의 컨트롤러 메뉴가 있다.

비용
1개 라이센스 1년 기준으로 WPF 전용 라이브러리 가격은 $999~$1,499이다. 통합 라이브러리(Winform, WPF, ASP.NET등)는 $1,499~$2,199이다.

Telerik 라이브러리의 기능에 따라 1099달러부터 2199달러로 가격 형성 되어 있는 비교 표

Demo 프로그램
Telerik Demo 프로그램은 아래 링크인 홈페이지에서 무료로 다운 받아서 확인할 수 있다. 컨트롤러 모양과 코드가 함께 Demo프로그램에 있어 비교하면서 사용하기 편하다.

Syncfusion

Syncfusion라이브러리는 DevExpress와 Telerik과 같이 WPF에서 구현하기 까다로운 Datagrid와 Chart 기능을 제공한다. 앞선 두 라이브러리와의 차이점은 개인 또는 조건에 부합하는 소규모 회사는 무료로 라이브러리를 이용할 수 있다.

Syncfusion Demo 프로그램 실행 화면으로 다양한 컨트롤러들의 참고 자료를 메뉴별로 정리하였다.

가격
연간 총 수익이 $1,000,000 미만, 개발자가 5명 이하, 직원이 10명 이하인 회사 및 개인은 무료로 라이센스(커뮤니티 버전) 사용이 가능하다. 앞선 조건에 만족하지 않는다면 유료 라이브러리를 구매하여 사용해야 한다. 개발자 5명이상 팀은 한 달 기준 $395이고, 개발자 10명이상 팀은 한 달 기준 $695이다. 그 이상은 별도의 견적서를 요청하여야 한다.

Demo 프로그램
Demo 프로그램은 github에서 다운 받을 수 있고 Syncfusion 웹 페이지에 로그인하면 30일동안 무료로 라이브러리를 사용할 수 있다.

Material Design

Material Design은 Google에서 만든 오픈 소스 디자인 라이브러리다. Mobile, Windows등 운영 체제에 일관된 디자인을 제공하기 때문에 사용자는 거부감 없이 능숙하게 사용할 수 있다. 구글에서 제공하는 다양한 아이콘도 무료로 사용할 수 있다. 아쉬운 점은 다른 유료 라이브러리와 달리 Chart기능은 제공하지 않는다.

Material Design Demo 예제 실행 파일 화면으로 Material Design 컨트롤러를 이용하여 꾸몄다.

비용
무료로 사용 가능 하고 상업적으로 사용할 때는 MIT 라이센스 조건을 충족하여야 한다.

Demo 프로그램
github에서 Material Design 오픈 소스 코드를 다운 받아 실행해 볼 수 있다.

MahApps.Metro

Windows 10의 Fluent Design System을 기반으로 디자인 된 오픈 소스 UI 라이브러리이다. Material Design보다 단조로운 디자인을 제공하며 Chart기능은 제공하지 않는다.

MahApp Demo 프로그램으로 Creators Style기능을 사용하여 이미지 설정할 수 있는 기능 제공

비용
무료로 사용 가능 하고 상업적으로 사용할 때는 MIT 라이센스 조건을 충족하여야 한다.

Demo 프로그램
github에서 MahApps.Metro 오픈 소스 코드를 다운 받아 실행해 볼 수 있다.

UI 디자인 라이브러리 선정 기준은?

UI 디자인 라이브러리를 선정하기 위해서는 선호하는 디자인 스타일과 구현하고자 하는 기능, 라이센스 비용등을 고려하여야 한다. 만약 유료 라이브러리를 구매해야만 구현할 수 있는 기능이라면 유료 라이브러리를 구매하는 것이 좋고, 유료 라이브러리를 구매할 수 있는 여건이 되지 않거나 무료 라이브러리로도 충분히 구현할 수 있다면 무료 라이브러리를 사용해도 무방하다. 또한, 개발자마다 선호하는 코딩 스타일과 디자인 스타일이 있기 때문에 충분히 비교 분석하고 선택하는 것이 좋다.

2 comments

WPF비기너 2024-04-07 - 1:42 오전

유익한 정보 감사합니다.

Reply
익명 2024-06-10 - 8:43 오후

ㅇㅇ

Reply

Leave a Comment