Embedded System의 GUI Platform
Qt를 상용 제품 개발에 추천하는 이유는 다음과 같다.
- 안정성과 신뢰성 : 상업적 지원을 통해 품질 보장과 지속적인 업데이트를 받을 수 있음
- 강력한 기능과 유연성 : 다양한 플랫폼 지원, 복잡한 UI 구현, 성능 최적화
- 장기적인 유지 보수 용이 : 버그 수정과 기술 지원이 체계적으로 제공됨
하지만 Qt 라이센스 비용은 상상 초월이다. 비용 산정 기준도 복잡해서 Qt 상용 라이센스를 사용할 기업은 사용전에 반드시 비용을 검토해야 한다.
예를 들어 개발자 1명이 연 양산수량 5,000개의 임베디드 시스템 제품을 개발 및 생산한다고 하면
($10,000 * 1명) + ($2 * 5000개) = $20,000, $20,000 / 5,000개 = $4
→ 제품당 약 4$의 로열티
그런데 연 5,000개 만드는 회사에서 개발자가 1명만 있지는 않을테고, 5명이라고 가정시
($10,000 * 5명) + ($2 * 5000개) = $60,000, $60,000 / 5,000개 = $12
→ 제품당 약 12$의 로열티
문제는 연 양산수량이 500개 라고 해도 양산 최소 수량 만큼의 로열티를 지불해야 한다는 것이다.
($10,000 * 1명) + ($2 * 5000개) = $20,000, $20,000 / 500개 = $40
→ 제품당 약 40$의 로열티, 환율 1300원 적용하면 약 52,000원 + 알파(GUI 디자인 툴)
라이선스 종류
|
대상
|
개발자 라이선스
비용 (대략) |
양산 최소 수량
|
제품당
로열티 비용 |
특징
|
Qt for Application Development
|
데스크탑/모바일 애플리케이션 개발용
|
$4,500~$5,500
/ 1년 / 개발자 1명 |
없음
|
없음
|
데스크탑 및 모바일 애플리케이션 개발용. 상업적 배포 가능.
|
Qt for
Device Creation |
임베디드 시스템 및 디바이스용
|
$10,000~$15,000
/ 1년 / 개발자 1명 |
5,000~10,000개 양산 수량 이상
|
$2~$5
/ 제품 |
임베디드 디바이스용 GUI 개발에 적합. 제품당 로열티 발생.
|
Qt for
MCU |
자원이 제한된 마이크로컨트롤러 기반 시스템용
|
$15,000 이상
/ 프로젝트 기준 |
5,000개
양산 수량 이상 |
$1~$3
/ 제품 |
저사양 마이크로컨트롤러에 최적화된 GUI. 제품당 로열티 발생.
|
Qt Design Studio
|
UI/UX 디자이너를 위한 GUI 디자인 툴
|
$550~$1,000
/ 1년 / 사용자 1명 |
없음
|
없음
|
GUI 디자인 및 프로토타입 제작 도구.
|
Extended Support
|
장기적 지원 및 이전 버전의 Qt에 대한 연장 지원
|
별도 협의
(수천~수만 달러 이상) |
없음
|
없음
|
장기적 제품 유지 보수 및 보안
|
비용이 걱정된다면 아래 표를 참조하여 오픈 소스 GUI 라이브러리를 고려할 수 있다.
(오픈 소스 ≠ 무료)
플랫폼
|
장점
|
단점
|
사용
언어 |
비용
|
사용되는 시스템
|
LVGL (LittlevGL)
|
- 오픈 소스이며 크로스 플랫폼 지원
- 리소스 효율적이며 낮은 메모리 요구 - 다양한 위젯과 디자인 가능 - 상업적 프로젝트에서 널리 사용됨 |
- 특정 고급 기능은 별도의 라이브러리 필요
- 커뮤니티 지원에 의존적일 수 있음 |
C
C++ |
무료
|
- 임베디드 시스템
- IoT 장치 - 저전력 디스플레이 장치 |
Qt for Embedded
|
- 크로스 플랫폼 지원 (임베디드 및 데스크탑)
- 강력한 위젯과 툴 제공 - 복잡한 애플리케이션 개발에 적합 - 상대적으로 높은 자원 요구 |
- 상대적으로 높은 자원 요구
- 라이센스 비용이 비쌈 |
C++
QML |
유료 (상용
라이 센스 필요) |
- 임베디드 시스템
- 산업용 장비 - 디지털 표지판 - 자동차 인포테인먼트 시스템 |
TouchGFX
|
- STM32 마이크로컨트롤러에 최적화
- 리소스 제한 환경에서도 고성능 그래픽 제공 - 하드웨어 가속 지원 - 낮은 전력 소비와 메모리 사용 |
- STM32 전용
- 다른 플랫폼에 비해 제한적 |
C++
|
무료
|
- STM32 기반 임베디드 시스템
- 모바일 장치 - 산업 장비 |
GTK+ for Embedded
|
- 주로 Linux 기반 임베디드 시스템에서 사용
- 다양한 언어 지원 (C, Python 등) - GNOME 데스크탑과의 통합성 - 상대적으로 복잡한 설정 |
- 설정과 유지 관리가 복잡할 수 있음
- 비교적 무거울 수 있음 |
C Python
Rust (gtk-rs) |
무료
|
- Linux 기반 임베디드 시스템
- 산업용 디스플레이 - IoT 장치 |
EmWin
|
- STMicroelectronics의 임베디드 시스템에 최적화
- 효율적인 메모리 사용 - 간단한 설정과 사용법 - 다양한 위젯과 지원 기능 |
- STMicroelectronics의 하드웨어에만 최적화
- 상대적으로 비쌈 |
C
|
유료
|
- STM32 MCU
- NXP, Renesas, Silicon Labs MCU - 산업용 장비 - 소비자 전자제품 |
Flutter
|
- 크로스 플랫폼 지원 (모바일, 웹, 데스크탑)
- 빠른 UI 개발과 핫 리로드 기능 - 위젯 기반 UI 설계 - 임베디드 시스템에서의 사용은 아직 초기 단계 |
- 임베디드 시스템에서의 지원이 아직 초기 단계
- 대형 애플리케이션에서 성능 문제 발생 가능 |
Dart
|
무료
|
- 모바일 애플리케이션
- 웹 애플리케이션 - 데스크탑 애플리케이션 |