Integrated Development

You’re going to need an Integrated Development Environment (IDE). You can buy one or you can build one. You’ll probably end up using one or two of your favorites. Just like everything else, it’s a lot easier to buy a ready made IDE.

Building your own IDE allows you to build it the way you want it. Be the engineer, the artist, the creator of your own high performance Integrated Development Environment. You’ll learn a lot about how it works in the process of building it.

Your IDEs are your primary tools for designing and developing Linux and KDE and applications to run on KDE Linux or any other operating system. Get started using the tools as soon as possible.

Have fun. Practice using them and then find the source code for one of your applications, clone it into your local development environment and open it up in one of your IDEs. Remember to back everything you work on up, so if you break something, you can restore it to some previous set up.

KDevelop

KDevelop is the IDE developed by KDE. Use “sudo apt install kdevelop” in your Konsole to install KDevelop, or “sudo pkcon install kdevelop” if your are using KDE Neon. Then use Discover to install the PHP and Python plugins for KDevelop, which will make it into a web development IDE, as well as a Linux application and user interface IDE.

KDevelop screenshot
KDevelop

To get the KDE source code installed on my computer, I used the command sequence:

$ mkdir -p ~/kde/src  

then cd into ~/kde/src and

$ git clone https://anongit.kde.org/kdesrc-build.git  
$ kdesrc-build
$ ./kdesrc-build --initial-setup 

This installed everything in my .bashrc file. I copied this

119 # Adding the kdesrc-build directory to the path
120 export PATH="$HOME/kde/src/kdesrc-build:$PATH"
121 
122 # Creating alias for running software built with kdesrc-build
123 kdesrc-run ()
124 {
125   source "$HOME/kde/build/$1/prefix.sh" && "$HOME/kde/usr/bin/$1"
126 } 

into my .zshrc file. Then, I installed Qt and now, hopefully, I have a pretty decent Qt/KDE development environment set up on this Kubuntu 19.10. We’ll see.

Make sure you do your homework. I’m just sharing my notes here. I went to the Get Involved KDE Wiki and followed their instructions.

Qt

Qt is a cross platform, UI framework for developers using C++ or QML. Qt Creator is the Qt IDE and QML is a declarative language, like CSS and Javascript.

Qt, Qt Quick and the supporting tools are open source tools, which can be used under the LGPL v2.1 license or a commercial license.

Qt was invented by Haavard Nord and Eirik Chambe-Eng in Trondheim, Norway, in 1990. The first public release was published in 1995 by the Trolltech company and in 1996, the European Space Agency became their first big customer.

Qt Creator screenshot
Qt Creator

Qt is the framework and QML is the language that KDE is made with. Qt Designer and Qt Creator are IDEs specifically designed for editing KDE and other Qt and QML software. You can use them to design and build user interfaces for your desktop, your mobile phone and even embedded devices, like home security systems, automobile dashboards and things like that.

I’ll probably be focusing on web development, so I wont have much to say about this, yet. I just wanted you to be aware of these tools, in case you are interested in developing applications using Qt, QML and C++. It can be a very powerful addition to your local development environment toolkit.

Learn how Linux works and how KDE works. Linux is written in C. KDE is written in C++, QML and JavaScript. I’ll continue to investigate this piece of the puzzle. So far, I’ve learned that you use Qt Creator to build your business logic with C++ and your User Interfaces with QML and JavaScript.

Qt Designer Screenshot
Qt Designer

While Qt Creator is a very specialized IDE for working with C++, QML and Javascript. KDevelop is a much more general purpose and versatile, fully featured IDE. Use it to work with C, C++, Python, QML/JavaScript and PHP projects. And work on improving these tools. Use Kdevelop to improve Kdevelop and Qt Creator.

Go to official_releases/qt/ and find out what the latest release is and replace the version number in this installation process. Go to Install_Qt_5_on_Ubuntu and follow the directions to get Qt installed.

I’m pretty sure that the $5000, Qt software development framework, along with a fully loaded Qt Creator, is far more advanced than the free and open source KDevelop. You can also get a free version of Qt Creator.

Open the applications and click on Help. Read the documentation to get started learning how to use these tools. There is no such thing as a self taught computer programmer, you’re either going to have to go to school, or you’re going to have to read a lot and watch a lot of videos. Self discipline is an important facet of self determination, which is a normal and necessary quality of human consciousness.

Read the manual by typing, “man [whatever application you want to read about]”, (without the quotes or brackets) in your terminal. The installed manuals cover Linux, the help directories cover the applications you are running on Linux. Or whatever operating system you are running them on.

I’ve got Qt Creator, Kdevelop, Geany and CodeLite installed on this machine. There are many other programs that accomplish a variety of other tasks. There are also a lot of other options you can choose to use. These are the IDEs I’ve installed on this computer. I’ve also got Vim installed and configured as a text editor and IDE.

My home made IDE, using Alacritty, Zsh, Tmux, Vim and Vifm setup on this new KDE Neon system is my favorite IDE.

Integrated Development Environment

Jetbrains has a very large selection of excellent text editors and IDEs. They’re probably some of the best in the world. They’re definitely some of the most popular. Microsoft’s Visual Studio Code is another very excellent and popular option. Atom and Sublime Text are also great options that are not quite so famous. There are many others, more than I can mention.

Microsoft’s open source Visual Studio Code, is probably aimed at Jetbrains commercial IDEs. Jetbrains leases a variety of high performance IDEs for a small fee. Microsoft gives VSCode away for free. Once they put Jetbrains out of business, they’ll probably start charging people for using VSCode.

Start using Krita and Karbon, along with Qt Designer, Qt Creator and KDevelop, to design and build your applications. Keep working on building and fine tuning your local development environment. Improve your KDE tools by using KDevelop and kdesrc-build, or clone the KDE Git repository that you want to work on and stage your improvements to the repository using SSH. Use C++ for your business logic and QML for your user interfaces.

GTK

GTK is a whole nother set of libraries and tools for building your desktop. You can mix Qt and GTK. The QT and GTK applications all play with each other. You can put GTK applications on a KDE desktop and Qt applications on Gnome. I always have a mixture of GTK and Qt applications.

I’ve switched to Gnome-shell desktop to get away from KDE Plasma’s GUIs and learn how to use my command-line tools. I also want to try System76’s Pop-OS! I like the idea of computers manufactured with Linux installed by default.

I’ve had Pop-OS! installed for about a month now and I’ve already got Alacritty, Zsh, Tmux, Vim and Vifm setup and configured as a very high performance IDE.

Htop, Zsh and Vifm on Alacritty and Tmux

I’ve got some work to do, to learn how to use it properly. I’ve already accomplished one minor project, getting The HomoSpeis Hypothesis posted into this website, to get some muscle memory built into my subconscious mind.

I’ve also got Geany installed, in case I ever need a graphical IDE for anything. Geany seems to be a light weight IDE, without a lot of bloat. I probably wont be using it a lot, because I will be using my home made Alacritty, Zsh, Tmux, Vim and Vifm setup.

Spend the time to get these tools installed and configured and learn how to use them to communicate with your hardware and with the global cloud of artificial intelligence. Imagine you are playing the piano. Be an artist.

Sources

https://wiki.qt.io/Qt_History 
https://timeline.kde.org/ 
https://community.kde.org/Get_Involved/ 
http://download.qt.io/official_releases/qt/ 
https://wiki.qt.io/Install_Qt_5_on_Ubuntu