Getting Started: Difference between revisions

    From KDE TechBase
    (Add preliminary content for new Getting Started)
    (98 intermediate revisions by 24 users not shown)
    Line 1: Line 1:
    {{Template:I18n/Language Navigation Bar|Getting_Started}}  
    {{Under_Construction}}


    == Determine Your Needs==
    <languages />
    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]].  
    <translate>
    <!--T:35-->
    See [https://community.kde.org/Get_Involved the Get Involved page on the Community Wiki].


    You will need to know what version you want, how often you will use the development environment (more work upfront may be justified if you intend to use it more).  
    <!--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>


    Our content is generally written with KDE4 and Linux in mind. For Windows, BSD, and KDE3 look at the [[Getting_Started/Build|other Supported Platforms]] page.
    {{Warning|Work in progress. Do not translate yet.}}


    == [[Choose 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!
    ; Distribution synchronized
    :  To ease finding dependencies, See [[Distributions with KDE]], or you may have a requirement to support a version supplied by a vendor.
    ; Latest Features for production
    : [[branch]] (stable / beta)
    ; [[Core Development]]
    : [[trunk]]  Where new features grow (may have build problems on Mondays)


    ;Browse availability:
    Setup?
    :http://websvn.kde.org/branches/KDE/


    == Choose Location ==
    '''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.
    Choose where you want to put the KDE installation, and keep source and build directories.
    (The [[QCA plugin]] may have to be installed as root if using system Qt).
    ===Source and Build Directories===
    : suggested:  ~/kde/src  and ~/kde/build  (where ~ is the home directory of the user who runs KDE)
    : possibly /usr/src/  if [[building as root]].


    ===Installation Directory===
    - Page
    ;[[Casual Curiosity]]
    - apidocs
    : [[development user home]] if you do not want to mess up your production KDE
    - tutorials
    : [[your home directory]] if you are willing to use environment variables to keep versions separate (using [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts|scripts]]) or have no other access to the machine
    : [[As root]] not advised unless you have a dedicated machine


    ; [[Application Developer]]
    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.
    : [[development user home]] same as for curious user
    : [[as root]] will be more useful to simulate environment of customers
    : [[your home directory]] may simplify your development


    ; [[Distribution Manager]]
    - website
    : To test KDM, you may want to install [[as root]] and/or on a [[Getting_Started/Build/KDE4/on_virtual_machines|virtual machine]] so you do not damage a production system.
    - HIG
    - apidocs


    ; [[Contributor]]
    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.
    : keeping your system similar to other developers will help make troubleshooting easier, see [[Developer Setups]]


    == Gather Prerequisites ==
    - Tutorials
    Your build will fail if you are missing one of them, and the list changes.  There are some options, however the make system can often find optional packages even if you do not intend to use them, so you may need to pass disable options.
    - Tools


    * [[Getting_Started/Build/KDE4/Prerequisites]]
    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.
    * [[build requirements]] by distribution


    ===Qt ===
    - Plasma
    ; System Qt
    - KWin
    : Often the easiest way to go, because most people have it already, you may have to install the QCA plugin as root though.
    - Plasma Mobile


    ; KDE-Qt
    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.
    :Previously known as qt-copy -- This is the minimum version of Qt any of your users are expected to have. Some bugs may be fixed in new Qt, so you may have to work-around bugs in lower versions, including this one.


    ; Main Qt
    - 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.
    : Get it straight from Nokia, experience the latest cool features, but note that many people will be using older distributions with older Qt.


    ==Getting the Source==
    - 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.
    We are migrating from SVN to git.  We have extensive infrastructure that is being converted, but please know that this is a much anticipated, complex, and popular change. http://www.omat.nl/2010/07/07/move-to-git-the-progress-so-far/


    [[Image:Action_down.svg|right|32px]]
    - 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/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]


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




    ; Manual Steps
    [[Category:Needs_Attention]]
    * [[Getting_Started/Build/KDE4|KDE 4 (Development version, TRUNK)]]
    * [[Getting_Started/Build/KDE4.x|KDE 4.x (Stable version or 4.x SVN BRANCH)]]
    * [[Getting_Started/Build/KDE4.x Upgrade|Upgrade KDE-4.x.y release version or KDE-4.x SVN BRANCH)]]
    * [[Getting_Started/Build|Other versions and FAQ]] ''Including information for building on non-linux systems''
     
    ; augmented with bash functions.
    :[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts]]
    :Specific examples:[[Build KDE4.6 on Kubuntu]]
     
    ; distribution specific
    There may be pre-made builds for your distribution, For example, in Kubuntu, Project Neon, aims to provide a recent trunk build environment, and PPA's provide latest branch versions.
     
    ; kdesrc-build
    This script will do most of the downloading and compiling for you. It can be configured to build most versions, by default it builds Trunk.  There full-process instructions at http://kdesrc-build.kde.org and more here [[Getting_Started/Build/kdesrc-build|kdesrc-build]], and here is a list of [[kdesrc-build/workingrclist|working configuration files]].
     
    === Troubleshooting the build ===
    * [[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. 
     
    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. [[Build/Stories]]
     
    ==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 ===
    Your system won't know to use your new KDE until you tell it how to find the KDE applications and libraries.
    [[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]]
     
    ===Set up Development Tools===
    You may need to set up or use, you will likely want to use a stable package from your distribution.
     
    it is unclear if the kde-devel user or your normal user will be running the development tools. Please Help
     
    For most development topics, and documentation, see [[Development]]
     
    ; Opening and creating KDE project files
    * [[eclipse]]
    * [[kdevelop]]
    * [[Development/Tutorials/Using_Qt_Designer|qtdesigner]]
     
    This is a stub, please help.
     
    ===Contribution===
    You may not 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.  However, Trunk is where major changes are introduced, and branches are mostly for maintenance/bug fixes.
     
    [[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, 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.