KDE 프레임워크

KDE Frameworks
KDE 프레임워크
KDE Mascot Konqi for KDE Frameworks.png
원저작자KDE
개발자KDE
초기 릴리즈2014년 7월 1일, 8년 전(2014-07-01)
안정된 릴리스
5.96.0[1] / 2022년 7월 9일; 31일 (2022년 7월 9일)
저장소
기입처C++(Qt)
운영 체제크로스 플랫폼(Android,[2][3] Windows,[4] MacOSHaiku의 '부분적' 지원 포함)
유형
면허증.GNU Lesser General Public License(LGPL)[5]
웹 사이트api.kde.org/frameworks/index.html Edit this on Wikidata

KDE 프레임워크는 여러 운영 체제의 모든 [6]QT 기반 소프트웨어 스택 또는 응용 프로그램에서 쉽게 사용할 수 있는 라이브러리와 소프트웨어 프레임워크 모음입니다.하드웨어 통합, 파일 형식 지원, 추가 그래픽 제어 요소, 플롯 기능 및 철자 검사와 같이 자주 필요한 기능 솔루션을 특징으로 하는 컬렉션은 GNU Lesser General Public License(LGPL)[7]에 따라 배포되는 KDE Plasma 5와 KDE Gear의 기술적 기반 역할을 합니다.

개요

현재 KDE 프레임워크는 Qt 5에 기반을 두고 있으며, 이는 사용자 인터페이스 설계를 위해 보다 단순한 JavaScript 기반 선언형 프로그래밍 언어인 QML을 보다 광범위하게 사용할 수 있게 합니다.QML에서 사용되는 그래픽스 렌더링 엔진을 통해 다양한 디바이스 [8]간에 보다 유연한 사용자 인터페이스를 구현할 수 있습니다.

일부 소스 코드가 KDE 프레임워크 5의 일부에서 Qt 5.2 이상의 일부로 이동되었습니다.

KDE 소프트웨어 컴파일이 KDE 프레임워크 5, KDE Plasma 5 및 KDE 응용 프로그램으로 분할되었기 때문에 각 하위 프로젝트는 자체 개발 속도를 선택할 수 있습니다.KDE 프레임워크는 매월[9] 출시되며 [10][11]git을 사용합니다.

KDE Platform 4와 함께 KDE Framework를 설치할 수 있어야 앱이 둘 [12]중 하나를 사용할 수 있습니다.

API 및 ABI 안정성

플랫폼릴리즈는 시리즈(버전 번호 X.0)를 시작하는 릴리즈입니다.이전 릴리스와의 바이너리 호환성을 해제할 수 있는 것은 이러한 메이저릴리즈뿐이에요마이너 시리즈(X.1, X.2, ...)의 릴리스에서는, 바이너리 포터빌리티(API ABI)가 보증됩니다.예를 들어, KDE 3.0용으로 개발된 소프트웨어는 모든 (향후) KDE 3 릴리스에서 작동하지만, KDE 2용으로 개발된 응용 프로그램이 KDE 3 라이브러리를 사용할 수 있다는 보장은 없습니다.KDE의 주요 버전 번호는 주로 Qt 릴리스 주기를 따릅니다. 즉, KDE SC 4는 Qt 4를 기반으로 하는 반면 KDE 3은 Qt 3을 기반으로 합니다.

지원되는 운영 체제

각 프레임워크의 저장소에는 metainfo.[13]yaml이라는 이름의 파일이 포함되어 있어야 합니다.이 파일에는 프레임워크의 유지관리자, 유형, 지원되는 운영 체제 및 기타 정보가 기재되어 있습니다.현재 지원되는 플랫폼은 Linux, Microsoft Windows, macOS 및 Android입니다.

소프트웨어 아키텍처

구조.

프레임워크는 '카테고리'와 '티어'로 구분되는 명확한 의존 구조를 가지고 있습니다."카테고리"는 런타임 의존성을 나타냅니다.

  • 기능 요소에는 런타임 종속성이 없습니다.
  • 통합은 OS 또는 플랫폼이 제공하는 기능에 따라 통합 시 런타임 종속성이 필요할 수 있는 코드를 지정합니다.
  • 솔루션에는 필수 런타임 종속성이 있습니다.

구성 요소들

KDE 프레임워크 번들은 70개 이상의 패키지로 구성되어 있습니다.KDE SC 4에서는 kdelibs라고 불리는 하나의 큰 패키지로 존재했습니다. Kdelibs는 여러 개의 개별 프레임워크로 분할되었습니다. Kdelibs 중 일부는 더 이상 KDE의 일부가 아니지만 [14]Qt 5.2에 통합되었습니다.

KDE 프레임워크는 다른 라이브러리에 [15][16]따라 4개의 다른 계층으로 그룹화됩니다.

프레임워크 계층
계층 1 - 대부분 QT에만 의존하며 휴대성이 높음
계층 2 - 계층 1에 의존하지만 의존관계는 관리할 수 있습니다.
계층 3 - 계층 1-2 등 복잡한 의존관계
계층 4 - 플랫폼 지원 등의 추가 기능을 제공하는 플러그인이 대부분입니다.무시해도 괜찮습니다.


기리가미

Kirigami는 Marco[19] Martin에 의해 개발된 QML 어플리케이션[18] 프레임워크로 개발자는 코드 조정 없이 Android, iOS, Windows, Plasma Mobile 및 모든 클래식 Linux 데스크톱 환경에서 네이티브로 실행되는 어플리케이션을 작성할 수 있습니다.

리누스 토르발스와 더크 혼델스의 스쿠버 다이빙 애플리케이션 서브서페이스, 메신저 클라이언트 Banji,[20] 카이단 메신저,[21] V베이브 뮤직 플레이어, KDE 소프트웨어 센터 디스커버 등 다양한 애플리케이션에서 사용됩니다.

소프트웨어 패키지

리눅스 배포는 배포하는 소프트웨어를 패키지화하기 위해 일부 패키지 관리 시스템을 사용합니다.를 들어 Debian은 패키지명 libkf5 [22]globalaccel로 KGlobalAcel을 배포하고 Fedora Linux는 kf5-kglobalaccel[23]배포합니다.

바인딩

주로 C++로 작성되지만 [24][25]다른 프로그래밍 언어에 대한 바인딩은 많이 있습니다.

  • 파이썬
  • 루비(QtRuby 위에 구축된 Korundum)
  • C#(단, C# 및 기타에 바인드하기 위한 현재 프레임워크).NET 언어는 더 이상 사용되지 않으며 [26]대체 언어는 Windows에서만 컴파일됩니다.)

이러한 바인딩 및 기타 바인딩에는 다음 기술이 사용됩니다.

많은 바인딩이 Qt5 및 KF5로 업데이트되지 않았거나 출시 사이클 이후에 업데이트되었습니다.

역사

5.0 릴리스는 기술 미리보기, 2개의 알파 릴리스 및 3개의 베타 [27][28][29]릴리스가 선행되었습니다.

KDE 프레임워크의 소스 코드는 KDElibs 1부터 사용되었습니다.KDE Frameworks의 첫 번째 릴리스는 코드 베이스가 KDE 플랫폼 버전 4(KDE 플랫폼의 유일한 주요 버전)라는 사실을 설명하기 위해 버전 5와 함께 출시되었습니다.

KDE 플랫폼에서 KDE 프레임워크로의 전환은 2013년 8월 KDE의 상위 기술 [8]기고자들의 안내에 따라 시작되었습니다.

KDE Frameworks 5.0의 초기 출시 이후 개발자들은 KDE Frameworks [30]5의 구성 요소에 새로운 기능을 추가하는 데 초점을 맞췄으며, 이를테면 Firefox를 [31]KDE에 더 잘 통합하는 것이다.

Framework 5의 주요 개선점은 모듈화입니다.이전 KDE 버전에서는 라이브러리가 하나의 큰 패키지로 번들되었습니다.프레임워크에서 라이브러리는 개별 작은 패키지로 분할되었습니다.이것에 의해,[8] 의존성을 최소한으로 억제할 수 있기 때문에, 다른 QT 베이스의 소프트웨어에 의한 라이브러리 이용이 용이하게 됩니다.

KDE 4가 Qt 위젯 툴킷 버전 4를 기반으로 하는 반면, Frameworks 5는 버전 5를 기반으로 합니다.

KDE4 변환

KDE SC 4 동안 KDE 플랫폼은 KDE Plasma와 애플리케이션에 필요한 모든 라이브러리와 서비스로 구성되었습니다.5분기부터 이 플랫폼은 KDE 프레임워크라고 불리는 모듈 세트로 변환되었습니다.이 모듈에는 다음이 포함됩니다.Solid, Nepomuk, Phononon 등이며 LGPL, BSD 라이센스, MIT 라이센스 또는 X11 [32]라이센스로 라이센스가 부여됩니다.

도입

KDE 소프트웨어 컴파일 에도 데스크톱 환경인 LXQt, MoonLightDE 또는 Hawaii와 같은 다른 어댑터들이 있습니다.

2016년 5월 31일에 출시된 Calibrra Suite의 래스터 그래픽 에디터인 Krita 3.0 버전은 KDE Frameworks 5와 Qt 5.2에 의존합니다.

Kirigami를 사용하면 Amarok, Avogadro, Trojita, Subsurface 등의 애플리케이션 사용률도 증가합니다.

레퍼런스

  1. ^ "KDE Frameworks 5.96.0".
  2. ^ "Release of KDE Frameworks 5.24.0". 9 July 2016.
  3. ^ "Android - KDE Community Wiki".
  4. ^ "KDE API Homepage"".
  5. ^ "First release of KDE Frameworks 5". 2014-07-07.
  6. ^ "The KDE Frameworks". API Documentation.
  7. ^ "KDE Frameworks". Tech Base.
  8. ^ a b c Howard Chan (2013-09-04). "KDE Release Structure Evolves". KDE. Retrieved 2014-02-27.
  9. ^ "Release schedule for KDE Frameworks 5".
  10. ^ "Git workflow for Frameworks".
  11. ^ "KDE Frameworks5 API documentation". Archived from the original on 2014-08-22.
  12. ^ "Coinstallability with KDE Platform 4".
  13. ^ "metainfo.yaml of KConfig".[영구 데드링크]
  14. ^ Jos Poortvliet (2013-12-17). "Qt 5.2 - Foundation for KDE Frameworks 5". Dot.kde.org. Retrieved 2014-03-10.
  15. ^ Howard Chan (2013-09-25). "Frameworks 5". Dot.kde.org. Retrieved 2014-03-10.
  16. ^ "API Documentation". api.kde.org. Retrieved 2021-10-02.
  17. ^ "KWindowSystem in Frameworks 5". 6 February 2014.
  18. ^ "KDE Kirigami". KDE. Retrieved November 25, 2018.
  19. ^ "Contributors to KDE/Kirigami". GitHub.
  20. ^ GhostarchiveWayback Machine에서 아카이브:
  21. ^ "Kaidan - A user-friendly XMPP client for every device!". GitHub. 4 July 2021.
  22. ^ "KGlobalAccel in Debian".
  23. ^ "KGlobalAccel in Fedora".[영구 데드링크]
  24. ^ "The KDE development platform". Retrieved 2010-11-26.
  25. ^ 개발/언어 - KDE TechBase.Techbase.kde.org (2012-07-12)2013-07-17에 회수.
  26. ^ "Qyoto". Retrieved 2015-01-18.
  27. ^ "Frameworks 5 Technology Preview". KDE. 2014-01-07.
  28. ^ "KDE Ships First Alpha of Frameworks 5". KDE. 2014-02-14.
  29. ^ "KDE Ships Second Alpha of Frameworks 5". KDE. 2014-03-03.
  30. ^ "KF5 Update Meeting Minutes 2014-w28". 2014-07-08.
  31. ^ "Firefox + KDE integration: Getting FF to use Dolphin reliably". 2014-07-03.
  32. ^ "KDE Licensing Policy". Retrieved 2010-11-06.

외부 링크