I know how to program in C/C++, JavaScript and PHP and I want to develop some GUI tools for Ubuntu. How shall I start?
In other similar posts the OP suggests Python and he doesn't refer explicitly GUI.
I know how to program in C/C++, JavaScript and PHP and I want to develop some GUI tools for Ubuntu. How shall I start?
In other similar posts the OP suggests Python and he doesn't refer explicitly GUI.
"some GUI tools" is pretty vague, so I will just bring suggestions anyways.
The default Ubuntu DE is built with GTK / Gnome 3, and a big player in governing the UI is gnome-shell (I happen to know that both javascript and C are relevant).
Upon this builds Ubuntu's default theme, Yaru.
Alternative desktops include MATE desktop (keeping Gnome 2 alive), LXQt, and KDE.
You could research / approach any or each of these projects / communities to develop an impression on where you would wish to contribute.
The all-in-one resource for working with GTK (thank you, @PJSingh):
https://infrastructure.pages.gitlab.gnome.org/gtk-web/docs/
The old Ubuntu development documentation has been taken down and moved to different URLs, and the links to it on Ask Ubuntu return 404: Page not found
pages. The current Ubuntu development documentation is the Ubuntu Development wiki. For getting started in Ubuntu development in addition to the aforementioned wiki you will need to know the basics of Debian format or snap format packaging, depending on how you decide to package your software.
Before you knock yourself out developing tools that already exist, you should be aware of another Ubuntu developer resource that exists in 2021, which is Ask Ubuntu. As it happens the tool that you intent to develop may already exist, and it is bundled in one of the thousands of software packages in the official Ubuntu repositories. Even harder to track down, the tool may be a feature of a package, but it's likely some Ask Ubuntu user might know about it. Asking for a software recommendation for such a tool on Ask Ubuntu will prevent you from wasting your time trying to reinvent the wheel. OTOH if an existing tool is available in the default Ubuntu repositories but most Ubuntu users can't find it, there is room for improvement.