KDE 플랫폼 4
1. 개요
KDE 플랫폼 4는 KDE에서 개발한 소프트웨어 프레임워크 및 기술 모음이다. 사용자 인터페이스, 하드웨어 및 멀티미디어, 서비스, 통신, 게임 등 다양한 기능을 제공하며, KDE 플라스마 워크스페이스, KHTML, KIO, Phonon, Solid 등의 기술을 포함한다. KParts 프레임워크는 KDE 플라스마 데스크톱 환경을 위한 컴포넌트 프레임워크이며, KDELibs는 KDE 애플리케이션 개발에 필요한 핵심 라이브러리와 프레임워크를 제공한다.
| 개발 | KDE |
|---|---|
| 배포일 | 2008년 1월 11일 |
| 중단 | 예 |
| 프로그래밍 언어 | C++ |
| 장르 | 시스템 라이브러리 소프트웨어 프레임워크 |
| 라이선스 | GNU LGPL |
-
KDE 플랫폼 -
KDE 네온
KDE 네온은 우분투 기반의 리눅스 배포판으로, KDE Plasma 데스크탑 환경과 KDE 애플리케이션의 최신 개발 버전을 제공하는 데 중점을 둔다. -
KDE 플랫폼 -
KIO
-
KDE 소프트웨어 -
KDE 네온
KDE 네온은 우분투 기반의 리눅스 배포판으로, KDE Plasma 데스크탑 환경과 KDE 애플리케이션의 최신 개발 버전을 제공하는 데 중점을 둔다. -
KDE 소프트웨어 -
KDE 플라스마 4
KDE 플라스마 4는 KDE에서 개발한 데스크톱 환경으로, 다양한 장치 지원, 데이터 엔진과 시각화 분리를 통한 개발 효율성 증대, 위젯 사용자 정의 기능 강화, 다목적 도구인 KRunner 통합, 그리고 다양한 작업 공간 제공을 특징으로 한다. -
자유 라이브러리 -
Tk (소프트웨어)
Tk는 Tcl 스크립팅 언어의 크로스 플랫폼 GUI 툴킷으로, 다양한 플랫폼 이식과 여러 프로그래밍 언어 바인딩을 지원하며 사용자 정의 가능한 위젯들을 제공한다. -
자유 라이브러리 -
SQLite
SQLite는 D. 리처드 히프가 설계한 서버리스 구조의 임베디드 SQL 데이터베이스 엔진으로, 별도의 DBMS 없이 프로그램에 통합되어 작동하며 전체 데이터베이스를 단일 파일로 저장하는 특징이 있고, 다양한 운영체제와 환경에서 널리 사용된다.
2. 기술
KDE는 사용자에게 풍부한 기능을 제공하기 위해 다양한 핵심 기술들을 기반으로 만들어졌다.
* 서비스
* NEPOMUK
* KNewStuff
* Policykit-KDE
* 통신
* 아코나디
* 게임
* 글루온
* KGGZ
* 기타
* 스레드위버 – 멀티프로세서 시스템을 더 효율적으로 사용하기 위한 라이브러리
* 키오스크 – KDE의 기능을 비활성화하여 더 통제된 환경을 만들 수 있게 함
* 크로스
* KConfig XT
* ownCloud
* WebDAV
2.1. 사용자 인터페이스
* 플라스마 - 데스크톱 및 패널 위젯 엔진
* KHTML – HTML 렌더링 엔진
* KIO – 확장 가능한 네트워크 투명 파일 접근
* KParts – 가벼운 인 프로세스 그래픽 컴포넌트 프레임워크
* 소네트 – 맞춤법 검사기
* XMLGUI – XML 파일을 통해 메뉴 및 툴바와 같은 UI 요소 정의 허용
* 고야
2.3. 서비스
* NEPOMUK
* KNewStuff
* Policykit-KDE
2.6. 기타
* 스레드위버 – 멀티프로세서 시스템을 더 효율적으로 사용하기 위한 라이브러리이다.
* 키오스크 – KDE의 기능을 비활성화하여 더 통제된 환경을 만들 수 있게 한다.
* 크로스
* KConfig XT
* ownCloud
* WebDAV
2.7. KDE 플랫폼 4로 대체된 기술
KDE 플랫폼 4에서는 이전 버전에 비해 다음과 같은 기술들이 새롭게 대체되었다.
3. KParts
KParts는 KDE 플라스마 데스크톱 환경을 위한 컴포넌트 프레임워크이다. 개개의 컴포넌트는 KPart라고 한다. KParts는 GNOME의 Bonobo 컴포넌트 및 Microsoft의 Component Object Model의 ActiveX 컨트롤과 유사하다. Konsole은 KPart로 사용할 수 있으며, Konqueror 및 Kate와 같은 애플리케이션에서 사용된다.
KParts의 사용 예시는 다음과 같다.
* Konqueror는 문서를 표시하기 위해 Okular 파트를 사용한다.
* Konqueror는 멀티미디어를 재생하기 위해 Dragon Player 파트를 사용한다.
* Kontact는 kdepim 애플리케이션을 포함한다.
* Kate 및 기타 편집기는 katepart 편집기 컴포넌트를 사용한다.
* 여러 애플리케이션에서 터미널을 포함하기 위해 Konsole KPart를 사용한다.
4. Solid
Solid는 KDE 플랫폼 4 및 후속 제품인 KDE Frameworks를 위한 장치 통합 프레임워크이다. 하드웨어를 직접 관리하는 대신, 단일 API를 통해 기존 솔루션에 접근할 수 있도록 한다. 현재 솔루션은 udev, NetworkManager, BlueZ를 사용한다. Solid를 사용하는 응용 프로그램은 매우 유연하고 이식성이 뛰어나다. Windows Management Instrumentation를 기반으로 하는 KDE의 윈도우 포트를 위한 Solid 백엔드를 구축하기 위한 작업이 진행 중이다.
5. 라이브러리
KDELibs 패키지는 KDE 애플리케이션 개발에 필요한 핵심 라이브러리를 포함하며, 다음 라이브러리들을 포함한다.
| 라이브러리 | 설명 |
|---|---|
| libkdecore | KDE 코어 및 네트워크 클래스 |
| libkdeui | KDE 사용자 인터페이스 클래스 |
| libkabc | KDE 주소록 클래스 |
| libknewstuff | KDE 새 기능 클래스 |
| libkspell2 | KDE 맞춤법 검사 클래스 |
| libkutils | KDE 유틸리티 클래스 |
6. 프레임워크
KDELibs는 애플리케이션 개발을 위한 다양한 프레임워크를 제공한다. 주요 프레임워크는 다음과 같다.
* DCOP: 데스크톱 통신 프로토콜
* KIO: KDE 입출력 서브시스템
* KParts: KDE 파트 임베딩 프레임워크
* KHTML: KDE HTML 엔진
* kimgio: KDE 확장 가능한 이미지 로딩 프레임워크
* KJS: KDE JavaScript 엔진
* KDEPrint: KDE 인쇄 서브시스템
* Kross: 인터프리터에 독립적인 방법으로 애플리케이션에 스크립트를 추가할 수 있다.
* KWallet: KDE 지갑 메커니즘
* Phonon: KDE 멀티미디어 프레임워크
* Solid: KDE 하드웨어 감지 및 관리 클래스
* ThreadWeaver: 작업 기반 멀티스레드 라이브러리
7. Hello World 예제
cpp-qt
#include
#include
#include
#include
#include
int main (int argc, char *argv[])
{
KAboutData aboutData(
"tutorial1", // 내부적으로 사용되는 프로그램 이름
0, // 메시지 카탈로그 이름, null이면 프로그램 이름이 대신 사용됨
ki18n("Tutorial 1"), // 표시 가능한 프로그램 이름 문자열
"1.0", // 프로그램 버전 문자열
ki18n("Displays a KMessageBox popup"), // 앱이 하는 일에 대한 간략한 설명
KAboutData::License_GPL, // 이 코드가 배포되는 라이선스
ki18n("Copyright (c) 2007"), // 저작권 문구
ki18n("Some text..."), // 정보 상자에 표시되는 선택적 텍스트 (원하는 정보 포함 가능)
"http://example.com/", // 프로그램 홈페이지 문자열
"[email protected]"); // 버그 보고 이메일 주소
KCmdLineArgs::init(argc, argv, &aboutData);
KApplication app;
KGuiItem yesButton(i18n("Hello"), QString(),
i18n("This is a tooltip"),
i18n("This is a WhatsThis help text."));
KMessageBox::questionYesNo(0, i18n("Hello World"),
i18n("Hello"), yesButton);
return 0;
}