Seuraavat vaiheet
What we have built
Over the past few tutorials you 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 how QML works, 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 Development 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 through setting up with your very own account.
Note
While interacting with others in the KDE Community, please make sure you abide by the Code of Conduct.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
Project | What it is | Links |
---|---|---|
Calindori | A touch friendly calendar application designed for mobile devices. | KDE Apps page KDE Invent page |
Koko | An image viewer designed for desktop and touch devices. | Userbase page KDE Invent page |
Kontrast | 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 |
Licentia | An app to help you choose the license to go with your project. | KDE Apps page KDE Invent page |
Plasma Welcome | A welcome app for the Plasma desktop that lets you create new pages with QML. | KDE Invent page |
More complex Kirigami projects
Project | What it is | Links |
---|---|---|
Discover | An application that helps you find and install applications, games, and tools. | KDE Apps page KDE Userbase page KDE Invent page |
Elisa | A music player that strives to be simple and nice to use. | Home page KDE Apps page KDE Community Wiki 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 |
Kongress | A companion application for conference attendees. | KDE Invent page |
NeoChat | A client for Matrix, the decentralized communication protocol for instant messaging. | KDE Apps page KDE Invent page |
Miten oppia lisää
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:
Sivu | Topic |
---|---|
Understanding CMakeLists | Learn all about CMake and how to compile your applications. |
Figuring out main.cpp | Getting to grips with the central C++ file that handles your application's initialisation. |
Connect logic to your QML user interface | Add advanced functionality to your Kirigami application and connect it to your UI. |
About Page | Add an "About Page" 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.
Resource | Topic |
---|---|
Wikibooks C++ | A comprehensive wikibook with C++ lessons and exercises |
W3Schools C++ | A set of C++ tutorials and other resources aimed at beginners |
LearnCpp | Tutorials to get to grips with C++ |
cppreference | A reference site for C++ |
We also provide a list of continuously updated resources to learn C++ in this wiki page.
Creating classic KDE applications using QtWidgets
If you'd like to work on KDE applications such as Dolphin, Kontact, or Kate, you will need to learn how to use QtWidgets, which uses a completely different way of developing user interfaces with Qt. More complex KDE applications or applications that follow a traditional design tend to be built with QtWidgets.
QtWidgets is 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.
- If you want to look up what specific components do, look no further than Qt's official QML documentation.
- If you are looking for a more guided approach to learning, the QMLBook is a great place to start.
More Kirigami
This documentation includes a lot more about Kirigami. You can poke through some of the Components pages to find out more about some of the QML components that Kirigami provides for you to use.
We recommend you also take a look at Kirigami Gallery, an application designed by KDE developers to demonstrate Kirigami's tools and capabilities. It provides both interactive examples of Kirigami components as well as links to the source code of these examples so you can see how they were built.
Vain taivas on rajana!
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.
Onnea matkaan!