Prerequisite knowledge for writing KDE apps?

Méven meven29 at gmail.com
Thu Nov 24 18:07:08 GMT 2022


Hi HiPhish,

Very happy to help you here.

> what prerequisite knowledge do I need and what is the best way of
learning it?

That's a very hard question to answer, there is no definitive answer.
Well I would say that depends on what you want to do.
If you want to do some Ui dev in Plasma, or Qml apps, you will need to
learn some Qml and Kirigami.
If you want to touch to lower levels or C++ apps, you will need some
knowledge of C++, Qt, cmake and about the KDE Frameworks.
But then depending on the application domain you may need to learn more.
Focus on what you already know and what you need to learn and that should
be ok.

Our C++ Frameworks on top of Qt are numerous, you can find their doc at
https://api.kde.org/frameworks/index.html but that's not necessary you know
them all.
We have some tutorials that should be a good starting point on that matter:
https://techbase.kde.org/Development/Tutorials

We also have documentation about our organization and processes at
https://community.kde.org/Main_Page
The getting started in developpement page should be very relevant to you
https://community.kde.org/Get_Involved/development

I would suggest you learn piece by piece from an example. It should help
you chew the documentation and the learning.
Find something simple to work on that motivates you. An app you, a feature
missing, a bug...

Application development tends to be simpler, so it can be a great starting
point.
Plasma DE takes a bit longer to get to, mainly because the development
environment requires more setup.
This blog post by Christoph Cullmann presents a good example on how to
start hacking on a KDE App:
https://kate-editor.org/post/2021/2021-02-07-kdesrc-build-and-kate/

And join matrix to get some help
https://community.kde.org/Get_Involved/development#Communicate_with_the_team
You can have a look at the developpement at https://invent.kde.org to see
how things go.

> I want to do as much work as reasonably possible through code rather than
GUI
tools.
That's perfectly fine, we don't have any strong ties to any development
environment, nor does Qt development necessitates any IDE.

Contributing to a FOSS project is not easy, but it is worthwhile and a
great experience.

Cheers !

-- 
Méven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-devel/attachments/20221124/ac64028b/attachment.htm>


More information about the kde-devel mailing list