Getting Started: Difference between revisions

From KDE TechBase
(make it slightly easier to follow...trying to convert things to the git migration stuff)
(Add preliminary content for new Getting Started)
(82 intermediate revisions by 20 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Getting_Started}}  
{{Under_Construction}}


==Installing KDE SC and its Prerequesites==
<languages />
There are several ways to install KDE SC so that you can use and develop KDE software. Below are complete instructions for installing KDE4 on a Linux system based on whether you want an Official Release, a Nightly Build, Stable 4.x Release, or Master (master is the git equivalent to what was called "trunk". It is the most recent snapshot.
<translate>
<!--T:35-->
See [https://community.kde.org/Get_Involved the Get Involved page on the Community Wiki].


<table border="1" width="100%" cellpadding="5">
<!--T:36-->
<tr>
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 [[/Build/Historic|historic ones]].
  <td width="25%" style="background: #FFEFD3">'''Official Release'''
</translate>
  <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 a developer who is working on applications outside of KDE SC''
  <td>''For application developers or package managers who are not modifying the core of KDE SC''
  <td>''For KDE SC and applications developers that want to spend less time setting up a build system''
  <td>''For developers working on core KDE SC functionality, and desire/need up-to-the-minute changes. Recommended for very active developers.''
<tr>
  <td rowspan=4>1. Use a [[Distributions with KDE|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>1. Install [[build requirements]] from your distribution
  <td>1. Install [[build requirements]] from your distribution
  <td>1. Install [[build requirements]] from your distribution
<tr>
  <td rowspan=3>2. Download and setup KDE SC easily using [[Getting_Started/Using Project Neon to contribute to KDE|Project Neon]]
  <td>2. Download KDE sources from [[Getting_Started/Sources/Anonymous_SVN|SVN]]
  <td rowspan=2>3. [[Getting_Started/Build/KDE4|Download and Build KDE SC from Git]]
<tr>
  <td>3. [[Getting_Started/Build/KDE4.x|Build a stable 4.x release]]
<tr>
  <td>4. [[Getting_Started/Set_up_KDE_4_for_development|Set up scripts]] to ease KDE development
  <td>4. [[Getting_Started/Set_up_KDE_4_for_development|Set up scripts]] to ease KDE development
</table>
For instructions on installing KDE SC on Windows, BSD, or Mac OS X, or instructions for installing KDE3, please see the [[Getting_Started/Build|other supported platforms]] page. There are also [[Getting_Started/Build/KDE4.x_Upgrade|upgrade instructions from a branch to trunk]].  


Below is additional information you may be interested in before installing KDE.
{{Warning|Work in progress. Do not translate yet.}}


==Build Notes for Special Users==
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!


* '''Distribution managers''' may be interested in [[Getting_Started/Build/KDE4/on_virtual_machines|installing KDE SC using a virtual machine]].
Setup?
* '''Core developers''' may want to use a [[Developer_Setups|common KDE developer setup]] (this page is not complete).


==Qt==
'''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.


''In each installation scenario above, Qt is installed in the most appropriate way.'' For your reference, there are three ways to install it:
- Page
- apidocs
- tutorials


; KDE-Qt '''(Recommended)'''
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.
:Previously known as qt-copy -- This is the minimum version of Qt any of your users are expected to have. It is also the recommended one. Some bugs may be fixed in new Qt, so you may have to work-around bugs in lower versions, including this one. However, it's generally considered more stable, since we manually sync releases from Main Qt, as well as our own patches which also fix bugs not already fixed in Main Qt.


; System Qt
- website
: Often the easiest way to go, because most people have it already, you may have to install the QCA plugin as root though. However, depending on how up-to-date your distribution is (most aren't) and if you are running KDE from master, then your Qt will probably be far too old.
- HIG
- apidocs


; Main Qt
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.
: Get it straight from Nokia, experience the latest cool features and bugfixes (and regressions!). Bear in mind though, that applications which reside in master can only depend on a certain "highest" Qt version. This is because distributions either lag behind, or it is at an awkward time in the KDE Release Schedule, which could end up granting us a loss in stability. Other applications, like KDevelop, Amarok, and applications in playground, etc. have their own rules.


==Source Repository==
- Tutorials
- Tools


Currently, KDE SC source code is [[Getting_Started/Sources/Anonymous_SVN|accessed using svn]], but in the future, we are migrating to Git. [[Getting_Started/Sources/Amarok_Git_Tutorial|Amarok has already migrated to Git]], as well as a few other modules (phonon, parts of kdesupport). Until we are fully migrated at least, it is recommended to use kdesrc-build if you can, as it takes care of all of this for you.
KDE's world-famous worskpace 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.


== Troubleshooting the build ==
- Plasma
See [[Getting_Started/Build/KDE4/Troubleshooting|Troubleshooting]]
- KWin
- Plasma Mobile


Compile and Linking errors are frequent sources of discouragement. Make careful note of the first occurrence of an error in your build process. It could be as simple as a bad environment variable, an unexpected version of a library or missing prerequisite.
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.


Please review your logs and do searches for fixes. If you cannot find a solution, try [[Build/KDE4/Errors]], the IRC channel, and the mailing lists. You can post your detailed issue from [[Build/Stories]].
- 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 are building from trunk and following the instructions linked from here or from [[Build_KDE4.6_on_Kubuntu|Build KDE 4.5 on Kubuntu]] and would like free support, please contact:
- 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.
: Aaron Peterson
: 206-334-5925 (lives in GMT -8 hours)
: Or leave a message at http://techbase.kde.org/User:AaronPeterson


==Extra Tools==
- 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.
You will likely want to use a stable package from your distribution instead of the ones of the KDE version you are working on.


For most development topics, and documentation, see [[Development]]
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.


; Opening and creating KDE project files
* [[eclipse|Eclipse]]
* [[KDevelop 4]]
* [[Development/Tutorials/Using_Qt_Designer|Qt Designer]]


==Contribution==
[[Category:Needs_Attention]]
You probably won't need the latest bleeding-edge version of KDE with which to develop.  Much of the code will be similar between versions and your patch might work. 
 
Follow the next articles to find out how to help us make KDE better ;-)
 
[[Image:Action_tool.svg|right|32px]]
* [[Contribute|Contribute]]
* [[Contribute/Send_Patches|Send Patches]]
* [[Contribute/Bugsquad|Bugsquad]]
* [[Getting_Started/Using Project Neon to contribute to KDE|Using Project Neon to contribute to KDE]]
* [[Getting_Started/EasyStartDevelopmentOnDebian | Build, change and run packaged KDE applications on Debian]]
 
[[Category:Build_KDE]]

Revision as of 08:17, 19 May 2019

noframe
noframe
 
Under Construction
This page is under construction. This page is actively being developed and updated with new information, and may be incomplete. You can help by editing this page


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.

Warning
Work in progress. Do not translate yet.


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!

Setup?

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.

- Page - apidocs - tutorials

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.

- website - HIG - apidocs

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.

- Tutorials - Tools

KDE's world-famous worskpace 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.

- Plasma - KWin - Plasma Mobile

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.