KDE Core/Platform 11/Developer Story

From KDE Community Wiki

Issues

  • Compiling KDE, getting dependencies is difficult
  • Setting up latest stuff is painfull (e.g. Plasma Active)
  • Getting trunk development is hard
  • Providing dependencies is a distribution's problem
  • kdesourcebuild is more and more required
  • Redmine should provide the dependencies
  • Guides for all distributions how to build KDE are outdated
  • Standard KDE way to access packages, using distribution-specific backends
  • Two problems: Getting packages, setting up development environment
  • Developing kioslaves or other stuff which needs to be installed is tricky, requires local environment paths setup or root to install modules
  • Two different target groups: People working on KDE itself, libraries, core applications, which need development versions of libraries. Second group: application developer who work with stable release versions of libraries, 3rd party developers
  • Documentation is hard to find
  • Qualitiy of kdelibs is not always great
  • Cross-platform can be an issue
  • People just don't need what's in kdelibs

Target groups

  • Newcomers
    • New applications, kioslaves, plasmoids
    • Modifiy existing applications and other componentns
  • Develop KDE platform
  • Develop KDE frameworks
  • Qt-only developers

Tools

This is not an exclusive list, but a number of entry points.

  • Plasmate for Plasmoid development
  • KDevelop for C++ development (is it available on Windows)
  • kde-examples git repo, integrate it with KDevelop, add metadata
  • New user dashboard in KDevelop, guiding user. Templates have to be maintained, examples, can't be adapted.
  • AbstractItemMode test from Qt examples
  • Tools for testing kioslaves, kded modules, Akonadi agents
  • CPAN for Qt, selection of independent Qt based libraries, start with collection of links, add metadata, provide tools to get packages, integrate with IDEs

There is more: Eclipse, Tools on Windows, MacOS, etc.

Examples

Apple developer documentation

  • Front page: What do you want to develop? (Could be our Techbase start page)
  • Framework is not that easy, but documentation is very targeted and makes it easy (Qt documentation is still better)

CPAN

Ruby gems

Lift

Qt

Central place to get SDK, run it, and you quickly have your first application.

Tasks

  • Relayout techbase
  • Nexus for KDE development
  • Add dependencies in Redmine
  • Design a way to present templates in KDevelop
  • Identify what we are missing for testing KDE components like kioslaves, kde daemons, Akonadi agents
  • Review the current API documentation system