Getting Started: Difference between revisions

From KDE TechBase
(level 1 is reserved for the page name; starting with level 2; indentation follows other sections)
 
(72 intermediate revisions by 21 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Getting_Started}}
<languages /><translate>


{{warning|This page is yet to be reviewed for changes required by the migration to Git.  Information and commands on this page may no longer be valid and should be used with care. Please see the [[Development/Git|KDE Git hub page]] for more details. }}
== Getting Started on TechBase == <!--T:37-->


== Introduction ==
<!--T:38-->
There are several possible ways to build and install KDE software and the method you choose depends on what you want to do with the software once it is built.
The KDE community is perhaps best known for its Plasma desktop workspace as well as its rich collection of applications but the community has also produced libraries and tools to make software development more enjoyable or, at the very least, less painful. Whether you're looking to write you first KDE application, make your existing Qt project more awesome, or get involved with one or more of the great KDE projects, this is a great place to get your journey started!


You may want to:
* Develop a standalone application using the KDE Platform
* Develop one of the KDE Applications
* Develop the KDE Workspace or the KDE Platform
* Test the latest KDE Software or an earlier stable version


In particular, for application development you may only need to build some parts of the KDE SC while relying on the KDE Platform stable packages from your distribution.
<!--T:35-->
{{Note|
To contribute to KDE, see [https://community.kde.org/Get_Involved the Get Involved page on the Community Wiki].


The table below provides some guidance in making this decision, but before you start building please read the rest of the page for more detailed information on Getting Started.
<!--T:36-->
If you are looking for build instructions, [https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source up-to-date build instructions] are available  on the Community Wiki, and we also have [[{{BASEPAGENAME}}/Build/Historic|historic ones]].
}}


<table border="1" width="100%" cellpadding="5">
== Setting Up == <!--T:39-->
<tr>
Getting started can be as simple or as involved as you need it to be. As much as possible, use your distro's packages to simply and speed up development unless you really need to get the latest source code version. And no, you don't need to "compile all of KDE" just to use a single framework. Not convinced? Check out our [[Development/Tutorials/Setting_Up|Setting Up Guide]] to see how easy it can be.
  <td width="25%" style="background: #FFEFD3">'''Official Release'''
  <td width="25%" style="background: #FFFEE4">'''Nightly Build'''
  <td width="25%" style="background: #D0ECEA">'''Stable from Source'''
  <td width="25%" style="background: #9FD6D2">'''Master (Recommended)'''
<tr>
  <td>''For the casual user, or for application testers and developers who are working on applications outside of KDE SC''
  <td>''For application testers and developers who's applications require features from the unstable branch''
  <td>''For KDE SC and applications developers or testers that want to spend less time setting up a build system''
  <td>''For developers and testers working on core KDE SC functionality, and desire/need up-to-the-minute changes. Recommended for active developers.''
<tr>
  <td>Use a [[/Distribution_Packages|Distribution with KDE]] to set up a fully functional KDE system in one step. Also install the "developer packages" if you want to compile KDE software
  <td>Download and setup KDE SC on Kubuntu easily using [[Getting_Started/Using Project Neon to contribute to KDE|Project Neon]]
  <td>[[Getting_Started/Build/Stable|Build a Stable branch from source]]
  <td>[[Getting_Started/Build|Build KDE Software from Source]]
<tr>
</table>


== Getting Help ==
== KDE Frameworks == <!--T:40-->
If you have any questions or issues related to building and developing KDE feel free to [[Development/Getting_Help|ask us]]. However, be patient and do expect to be attempting to work through the issue as well (we aren't just going to do it ''all'' for you).
'''[[Frameworks|KDE Frameworks 5]]''' is built on top of the excellent Qt application framework to provide more functionality and power to your next big project. KDE software developers will also find classes that help them better integrate their applications into the Plasma workspace and with other KDE products.


== Source Repositories and Revision Control ==
<!--T:41-->
KDE uses a common repository to store our Source Code and to track changes made to the code. Currently, KDE is in the middle of migrating our main repository from Subversion (SVN) to Git, so some software modules will be downloaded from Git and some from Subversion.  This means you will need to become familiar with both systems.
* [https://www.kde.org/products/frameworks/ KDE Frameworks Product page]
* [[Development/Tutorials#Basics_of_how_to_develop_with_KDE_Frameworks|Tutorials to get started with KF5]]
* [https://api.kde.org/frameworks/index.html KDE Frameworks 5 API Documentation]
* KDE Frameworks on [[Frameworks|TechBase]] and the [[Community:Frameworks|Community Wiki]]


For more information on using Git in KDE, please see the [[Development/Git|KDE Git]] page.
== Kirigami == <!--T:42-->
Named after the Japanese art of cutting and folding paper to create beautiful objects, the '''[[Kirigami|Kirigami framework]]''' offers components to let your piece together a beautiful and responsive application. Expanding the Qt Quick framework, Kirigami empowers developers to create apps that look and behave well on desktop, mobile, and more.


For more information on using Subversion, please see the following pages which may be outdated with regards to which modules live in SVN:
<!--T:43-->
* [[Getting_Started/Sources/Anonymous_SVN]]
* [https://kde.org/products/kirigami/ Kirigami landing page]
* [[Getting_Started/Sources/Using_Subversion_with_KDE]]
* [https://api.kde.org/frameworks/kirigami/html/index.html Kirigami API documentation]
* Kirigami on [[Kirigami|TechBase]] and the [[Community:Kirigami|Community Wiki]]


== Development Tools ==
== Tutorials == <!--T:44-->
There are a number of [[Development/Tools|Development Tools]] that are either required or helpful when building KDE Software. For these you will usually want to use the stable packages provided by your distribution.
Get your feet wet or dive head first into coding with KDE's collection of '''Tutorials'''. From writing your first application using the KDE Frameworks to developing applets for the Plasma workspace, these bite-sized guides will get you up and running in no time.


You may want to use an graphical IDE for your development:
<!--T:45-->
* [http://www.kdevelop.org/ KDevelop 4]
* [[Development/Tutorials|Development Tutorials]]
* [[Development/Tools/Eclipse|Eclipse]]
* [[Development|TechBase Development Hub]]
* [[Community:Get_Involved|Get involved with the KDE Community]]


== Building KDE ==
== Plasma == <!--T:46-->
KDE's world-famous workspace for desktops and mobile, '''Plasma''' provides a rich set of building blocks to help developers create rich, beautiful, and productive user experiences on different devices, form-factors, and use cases. [[Projects/KWin|KWin]] is one of the most powerful and most flexible window managers around, providing advanced functionality and control on both X11 and Wayland systems.


Instructions for building all or part of KDE SC on all the supported platforms can be found at [[Getting_Started/Build|Building KDE SC]]
<!--T:47-->
* [https://kde.org/plasma-desktop.php Plasma Desktop website]
* [[Development/Tutorials/Plasma5|Plasma Tutorials]]
* [https://www.plasma-mobile.org/ Plasma Mobile website]


== Contributing To KDE ==
== It's just the beginning == <!--T:48-->
Once you have a copy of KDE built you can then start contributing back to KDE. The pages below will help you find out how you can help make KDE even better.
These are just the large tips of the KDE iceberg. The community has developed many libraries for more specific needs and use cases that developers can also use to simplify their projects.


[[Image:Action_tool.svg|right|32px]]
<!--T:49-->
* [[Contribute|Contribute]]
* Need an easy and cross-platform way to handle audio and video? [[Phonon]]'s API will be very familiar to Qt developers and supports multiple backends, including GStreamer, VLC, and anything else you might want to develop.
* [[Contribute/Send_Patches|Send Patches]]
* If you need a privacy-respecting way to display maps and even the whole world, [[Marble]] provides data models and widgets to make that a walk in the park.
* [[Contribute/Bugsquad|Bugsquad]]
* If you need libraries for handling email, events, and more, the [[KDE PIM]] libraries have withstood not only the test of time but also the test of enterprise customers.


[[Category:Build_KDE]]
 
<!--T:50-->
Check out the other KDE Projects that provide libraries and APIs that you can use to boost your own projects. The KDE Community is also welcoming not just new contributors but also new projects that want to be part of one of the biggest free software communities on the planet.
</translate>
 
 
[[Category:Needs_Attention]]

Latest revision as of 15:50, 7 September 2020

Getting Started on TechBase

The KDE community is perhaps best known for its Plasma desktop workspace as well as its rich collection of applications but the community has also produced libraries and tools to make software development more enjoyable or, at the very least, less painful. Whether you're looking to write you first KDE application, make your existing Qt project more awesome, or get involved with one or more of the great KDE projects, this is a great place to get your journey started!


Note
To contribute to KDE, see the Get Involved page on the Community Wiki. If you are looking for build instructions, up-to-date build instructions are available on the Community Wiki, and we also have historic ones.


Setting Up

Getting started can be as simple or as involved as you need it to be. As much as possible, use your distro's packages to simply and speed up development unless you really need to get the latest source code version. And no, you don't need to "compile all of KDE" just to use a single framework. Not convinced? Check out our Setting Up Guide to see how easy it can be.

KDE Frameworks

KDE Frameworks 5 is built on top of the excellent Qt application framework to provide more functionality and power to your next big project. KDE software developers will also find classes that help them better integrate their applications into the Plasma workspace and with other KDE products.

Kirigami

Named after the Japanese art of cutting and folding paper to create beautiful objects, the Kirigami framework offers components to let your piece together a beautiful and responsive application. Expanding the Qt Quick framework, Kirigami empowers developers to create apps that look and behave well on desktop, mobile, and more.

Tutorials

Get your feet wet or dive head first into coding with KDE's collection of Tutorials. From writing your first application using the KDE Frameworks to developing applets for the Plasma workspace, these bite-sized guides will get you up and running in no time.

Plasma

KDE's world-famous workspace for desktops and mobile, Plasma provides a rich set of building blocks to help developers create rich, beautiful, and productive user experiences on different devices, form-factors, and use cases. KWin is one of the most powerful and most flexible window managers around, providing advanced functionality and control on both X11 and Wayland systems.

It's just the beginning

These are just the large tips of the KDE iceberg. The community has developed many libraries for more specific needs and use cases that developers can also use to simplify their projects.

  • Need an easy and cross-platform way to handle audio and video? Phonon's API will be very familiar to Qt developers and supports multiple backends, including GStreamer, VLC, and anything else you might want to develop.
  • If you need a privacy-respecting way to display maps and even the whole world, Marble provides data models and widgets to make that a walk in the park.
  • If you need libraries for handling email, events, and more, the KDE PIM libraries have withstood not only the test of time but also the test of enterprise customers.


Check out the other KDE Projects that provide libraries and APIs that you can use to boost your own projects. The KDE Community is also welcoming not just new contributors but also new projects that want to be part of one of the biggest free software communities on the planet.