Getting Started: Difference between revisions

From KDE TechBase
(→‎Location: swap order, development user home first, the system wide last.)
No edit summary
(151 intermediate revisions by 27 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Getting_Started}}
<languages />


== Determine Your Needs==
KDE versions are split into branches off of the Trunk. The steps to build most branches are very similar. However, Each branch has different [[Getting_Started/Build/KDE4/Prerequisites|prerequisites]].


=== Version ===
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!
For production use, we recommend using a stable version of KDE.  You may be able to do just fine with your distribution packages.


If you need to build it yourself You will probably want the latest stable version for which you have the ,[[Getting_Started/Build/KDE4/Prerequisites|prerequisites]] or  [[build requirements]]for your distribtion.
<translate>
{{Note|
<!--T:35-->
To contribute to KDE, see [https://community.kde.org/Get_Involved the Get Involved page on the Community Wiki].


For developers, The TRUNK is the main branch where new features (and prerequisites) are added, however it can be difficult to keep up with.
<!--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 [[/Build/Historic|historic ones]].
}}
</translate>


=== Location ===
= Setting Up =
It is possible to install KDE in a variety of ways. Instructions should be listed with each build method, however much is common between methods and reading all may be requied.


; development user home
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.
This is a common way to do it so that it does not interefere with the rest of your system. A common user name is kde-devel. This is recommended for most testers and developers.


; your home directory
= KDE Frameworks =
Useful on development machines, or if you have no other access to the machine, however it can be confusing to set environment variables, however there are other advantages. and some scripts to help you use it.
'''[[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.


; system-wide
* [https://www.kde.org/products/frameworks/ KDE Frameworks Product page]
on development builds, do it to test KDM and other system level KDE functionality. Obviously desired for production use. If you are just testing KDM, you may want to use a virtual machine so you do not damage a production system.
* [[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]]


=== Method ===
= Kirigami =
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.


Regardless of method chosen, reading up on the manual steps below will be very helpful.
* [https://kde.org/products/kirigami/ Kirigami landing page]
and [[Development/CMake|CMake]] may also be of interest.
* [https://api.kde.org/frameworks/kirigami/html/index.html Kirigami API documentation]
* Kirigami on [[Kirigami|TechBase]] and the [[Community:Kirigami|Community Wiki]]


; distribution specific
= Tutorials =
If you use Kubuntu, consider Project Neon, where you may be able to download recent-enough Trunk Kubuntu packages and build enviornment.
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.


; kdesrc-build
* [[Development/Tutorials|Development Tutorials]]
This script will do most of the downloading and compiling for you. There are
* [[Development|TechBase Development Hub]]
good instructions at http://kdesrc-build.kde.org
* [[Community:Get_Involved|Get involved with the KDE Community]]


You can configure [[Getting_Started/Build/kdesrc-build|kdesrc-build]] to build most versions.  
= 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. [[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.


* You will likely want to choose a recent branch
* [https://kde.org/plasma-desktop.php Plasma Desktop website]
* If you choose a branch, you will have to tweak the kdeSupport module description in the .kdesrc-buildrc
* [[Development/Tutorials/Plasma5|Plasma Tutorials]]
* [https://www.plasma-mobile.org/ Plasma Mobile website]


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


; Manual Steps
* 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.
* [[Getting_Started/Build/KDE4|KDE 4 (Development version, TRUNK)]]
* 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.
* [[Getting_Started/Build/KDE4.x|KDE 4.x (Stable version or 4.x SVN BRANCH)]]
* 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.
* [[Getting_Started/Build/KDE4.4 Upgrade|Upgrade KDE-4.4.x release version or KDE-4.4 SVN BRANCH)]]
* [[Getting_Started/Build|Other versions and FAQ]] ''Including information for building on non-linux systems''


==Getting the Source==
[[Image:Action_down.svg|right|32px]]
* [[Getting_Started/Sources/Anonymous SVN|Anonymous SVN Quickstart Guide]]
* [[Getting_Started/Sources/Using Subversion with KDE|Using Subversion with KDE]] ''A more in depth look at accessing KDE source code with subversion, including the repository layout and working with revisions and patches.''
* [[Getting_Started/Sources/Amarok Git Tutorial|Amarok Git Tutorial]] ''Amarok has moved to Git (with the rest of KDE to follow), so it requires different steps to check out and develop.''
* [[Getting_Started/Sources/Snapshots|Daily Snapshots]]
* [http://websvn.kde.org/ Browse code online], or [http://lxr.kde.org/search search the code]


== Troubleshooting the build ==
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.
* [[Getting_Started/Build/KDE4/Troubleshooting|Troubleshooting]]


[[Getting_Started/Build/KDE4/Troubleshooting|Troubleshooting]] information is similar between branches as well.


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. 
[[Category:Needs_Attention]]
 
Please review your logs and do searches for fixes. If you cannot find a solution, [[Build/KDE4/Errors]] and IRC channel, and mailing lists.
 
==Using your KDE==
After KDE has been built, you'll want a good way to launch apps and perform your regular development tasks:
; Environment Variables
[[Image:Action_pen.svg|right|32px]]
* [[Getting_Started/Increased Productivity in KDE4 with Scripts|Increased Productivity in KDE4 with Scripts]]
* [[Getting_Started/Set up KDE 4 for development|Set up KDE 4 for development]]
 
==Contribution==
You may not need the latest bleeding-edge KDE to develop with, Much code will be similiar between versions and your patch might work, however Trunk is where major changes are introduced, and branches are mostly maintenance/bug fix.
 
[[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]]
 
 
[[Category:Build_KDE]]

Revision as of 08:17, 2 June 2019


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.