When inviting to the Randa 2014 meeting, Mario had the idea to write a book about KDE Frameworks. Valorie picked up this idea and kicked off a small team to tackle the task. So in the middle of August, Valorie, Rohan, Mirko and me gathered in a small room under the roof of the Randa house and started to ponder how to accomplish writing a book in the week of the meeting. Three days later and with the help of many others, Valorie showed around the first version of the book on her Kindle at breakfast. Mission accomplished.
KDE Frameworks 5 is the result of two years of hard work porting, tidying, modularizing and refactoring KDELibs4 into a new addition to the Qt 5 platform. In January, Alex Fiestas announced The KDE Barcelona Hub—an office where anyone is welcome to come and work on KDE projects. It was just what the Frameworks team needed to finish off the code so it could be released to the world. Read on for some of what happened.
Here in the KDE office in Barcelona some people spend their time on purely upstream KDE projects and some of us are primarily interested in making distros work which mean our users can get all the stuff we make. I've been asked why we don't just automate the packaging and go and do more productive things. One view of making on a distro like Kubuntu is that its just a way to package up the hard work done by others to take all the credit. I don't deny that, but there's quite a lot to the packaging of all that hard work, for a start there's a lot of it these days.
KDE is now getting into the swing of releases numbered 5. Today we add Plasma 5's first bugfix update. The release features KDE's flagship desktop project as well as the base software needed to keep your computer running. Plasma will have feature releases every three months and bugfix releases in the months in between.
This screenshot shows the QML/JS KDevelop plugin working as usual, highlighting declarations and uses, finding types, and displaying nice tool-tips. The code-completion also works even if it is not visible on the screenshot. What is interesting is the look of KDevelop: do you see the flatter theme? The colors that are a bit different than usual? This difference is appearance comes from the fact that this is not the usual KDevelop, this is KDevelop 5, based on Qt5 and on the shiny new KDE Frameworks 5.
Also note that only Python 3 is supported. It doesn't make sense to support legacy Python versions like 2, especially when developers need to do a port anyway from PyKDE4 to PyKDE5.
Another important reason is that it costs more time and effort to support more configurations. It is no secret to anyone who has followed PyKDE4 development and support just a little bit, will have noticed that my time for KDE is very limited. The situation isn't likely to improve, in fact in a couple months it should get worse if all goes to plan. I see that some people have stepped in to fill the void and fix some of the build and installation problems they have encountered (hi Luca!). This is great and I encourage people to get involved where possible. The hardest part is getting a working dev environment set up, deep C++ knowledge isn't really needed (I certainly don't have deep C++ knowledge!).
You don’t have to remove the KDE 5 packages in order to get logged into your familiar KDE 4 desktop by the way – just choose the appropriate Desktop Environment. As I said, the two environments don’t bite.
One thing you will notice, is how fast the new desktop is. The Plasma Desktop in KDE 5 uses an all-new, fully hardware-accelerated graphics stack on top of Qt5 and the Frameworks5 libraries, and the effect is amazing. Resource usage is still high but the reason for that is known: it is caused by a design issue in KWin and that is currently being worked on.
KDE 5 has been my default desktop for the past week (using Plasma 5.0.0 package), and I hope that the update to Plasma 5.0.1 will fix a couple of pesky bugs.
KDE has today made the first update to KDE Frameworks 5. Frameworks are our addon libraries for Qt applications which provide numberous useful features using peer reviewed APIs and regular monthly updates. This release has 60 different frameworks adding features from Zip file support to Audio file previews, for a full list see KDE's Qt library archive website Inqlude. In this release KAuth gets a backend so you can again add features which require root access, KWallet gets a migration system from its KDELibs 4 version and support has been added for AppStream files.