Next steps

What to do after finishing your first simple Kirigami application

What we have built

Over the past few tutorials we have built a basic but functional Kirigami application that lets you add, edit, and delete date countdowns. In doing so we have learned about Kirigami and QtQuick components, some of QML’s systems, basic application layouts, and more. Not bad at all!

You now have a grasp of the basics that make up many of KDE’s most popular applications. You might be asking yourself: what now?

Well, don’t worry: we have taken the time to provide some pointers as to where you can go from here.

Contributing to KDE projects

One of the best ways to improve your development skills is by putting them into practice. KDE’s community is welcoming and always looking for more passionate developers!

We have several pieces of documentation that can help guide you towards becoming a contributor. We recommend you take a look at the developer-specific section of our ‘Get Involved’ guide which can help you learn more about the KDE Community’s development workflow. We also recommend you take a look at our documentation for KDE’s GitLab instance, called Invent, as you will likely need to interact with it during the development process. The KDE Community interacts mainly through Matrix, and we also have a page on the community wiki that will guide you with setting up with your very own account.

With your newfound skills you are in a good position to begin contributing to Kirigami projects. Thankfully, many of KDE’s most popular applications and components are built with this framework. Here are a list of projects you are welcome to help with.

Beginner-friendly Kirigami projects

ProjectWhat it isLinks

A touch friendly calendar application designed for mobile devicesKDE Apps page
KDE Invent page

KDE Connect
A multi-platform app that allows your devices to communicate (eg: your phone and your computer).Home page
KDE Community Wiki page
KDE Invent page

An image viewer designed for desktop and touch devices.Userbase page
KDE Invent page

A color contrast checker that tells you if your color combinations are accessible for people with color vision deficiencies.KDE Apps page
KDE Invent page

More complex Kirigami projects

ProjectWhat it isLinks

An application that helps you find and install applications, games, and tools.KDE Apps page
KDE Userbase page
KDE Invent page

A music player that strives to be simple and nice to use.Home page
KDE Apps page
KDE Community Wiki page
KDE Invent page

A companion application for conference attendees.KDE Invent page

A client for Matrix, the decentralized communication protocol for instant messaging.KDE Apps page
KDE Invent page

Learning more

Not feeling quite ready yet? That’s okay too.

Many of the projects listed above are invaluable learning resources. You can poke through the code and see how experienced developers have created fully-featured applications, and use these techniques yourself.

If you feel you need a more gentle approach, we have also compiled some resources we think you might find useful.

The backend and C++

While we have learned a lot about QML, we haven’t really touched upon how to handle backend code all that much. This is, however, an essential facet of KDE application development.

C++/Qt with Kirigami

In the advanced section of this Kirigami documentation we have some pages that can help you get started:

Understanding CMakeListsLearn all about CMake and how to compile your applications.
Figuring out main.cppGetting to grips with the central C++ file that handles your applications' initialisation.
Connect logic to your QML user interfaceAdd advanced functionality to your Kirigami application and connect it to your UI.

Beginner C++ resources

If you are completely new to C++ there are numerous resources available throughout the web. Here are some that may be useful.

Wikibooks C++A comprehensive wikibook with C++ lessons and exercises
W3Schools C++A set of C++ tutorials and other resources aimed at beginners
LearnCppTutorials to get to grips with C++
cppreferenceA reference site for C++

Creating classic KDE applications using QtWidgets

If you’d like to work on more complex KDE applications such as Dolphin, Kontact, or Kate, you will need to learn more about how to use QtWidgets, which encompass a completely different way of developing user interfaces with Qt. While not interchangeable with QML/Kirigami - they each have a different set of tradeoffs - older and more complex KDE applications tend to be built with QtWidgets.

QtWidgets are somewhat more daunting to work with than QML (and much more C++ intensive!). Luckily, we have a set of tutorials in the KDE Docs that will help you become more familiar with them.

More QML and QtQuick

The Qt project is extensive, and so are QML and QtQuick. There is a lot of functionality we haven’t covered, but there is a lot of documentation we can pull from to find out more.

The sky is the limit!

Don’t be intimidated by all the material on here! No one starts off being able to create something like Plasma from scratch. But KDE is no multi-billion dollar company with a high barrier for entry - we have no five-round coding interviews! - and as long as you are nice, you will be welcomed.

Good luck!